(2021.01.31)
이번주는... 외출할 일이.. 많아.. 새벽에 조금씩 공부해서 올리고 있다...ㅎㅎ 다음주부터는 더 열심히..해야지..
참고도서: 자바의 정석
| 오버라이딩
조상 클래스로부터 상속받은 메서드의 내용을 변경하는 것
(※오버로딩은 기존에 없던 새로운 메서드를 정의하는 것)
오버라이딩의 조건
자손 클래스에서 오버라이딩하는 메서드는 조상 클래스의 메서드와
1. 이름이 같아야함
2. 매개변수가 같아야함
3. 반환타입이 같아야함
조상 클래스의 메서드를 자손 클래스에서 오버라이딩할 때
1. 접근 제어자를 조상 클래스의 메서드보다 좁은 범위로 변경할 수 없음
2. 예외는 조상 클래스의 메서드보다 많이 선언할 수 없음
3. 인스턴스메서드를 static 메서드로 또는 그 반대로 변경할 수 없음
super
super는 자손 클래스에서 조상 클래스로부터 상속받은 멤버를 참조하는데 사용되는 참조변수임
- 멤버변수와 지역변수의 이름이 같을 때 this 를 붙여서 구별한 것처럼 상속받은 멤버와 자신의 멤버와 이름이 같을 때는 super 를 붙여서 구변할 수 있음
- super 대신 this 를 사용할 수 있지만 조상클래스의 멤버와 자손클래스의 멤버가 중복 정의되어 서로 구별해야할 경우에만 super를 사용하는 것이 좋음
- static 메서드는 인스턴스와 관련이 없기 때문에 super 와 this 는 인스턴스 메서드에서만 사용할 수 있음
super()- 조상 클래스의 생성자
this() 는 같은 클래스의 다른 생성자를 호출하는 데 사용되지만,
super() 은 조상 클래스의 생서자를 호출하는 데 사용됨
'Coding > Java' 카테고리의 다른 글
[Java] 자바 클래스 만들기 문제 풀이 (2) | 2021.02.01 |
---|---|
[Java] 객체지향언어 - (5) package & import (2) | 2021.02.01 |
[Java] 객체지향언어 (3) - 상속 (3) | 2021.01.30 |
[Java] 백준 2869번: 달팽이는 올라가고 싶다 (0) | 2021.01.24 |
[Java] 객체지향언어 - (2) 변수, 메서드, JVM의 메모리 구조 (1) | 2021.01.23 |