본문 바로가기

JAVA

07장- 객체지향 프로그래밍Ⅱ(2. 오버라이딩) 21. 02. 18.

2. 오버라이딩(overriding)

 

2.1 오버라이딩이란?

- 조상 클래스로부터 상속받은 메서드의 내용을 변경하는 것.

- 메서드의 내용만을 새로 작성하는 것. 메서드의 선언부는 조상의 것과 완전히 일치해야 함.

 

2.2 오버라이딩의 조건

자손 클래스에서 오버라이딩하는 메서드는 조상 클래스의 메서드와

- 이름이 같아야 함.
- 매개변수가 같아야 함.
조상 클래스의 메서드를 자손 클래스에서 오버라이딩할 때
1. 접근 제어자를 조상 클래스의 메서드보다 좁은 범위로 변경할 수 없음.
2. 예외는 조상 클래스의 메서드보다 많이 선언할 수 없음.
3. 인스턴스메서드를 static메서드로 또는 그 반대로 변경할 수 없음. ★

 

2.3 오버로딩 vs 오버라이딩

 

2.4 super

- 자손 클래스에서 조상 클래스로부터 상속받은 멤버를 참조하는데 사용되는 참조변수.

- 상속받은 멤버와 자신의 멤버와 이름이 같을 때 super를 붙여서 구별.(멤버변수와 지역변수이름 같을 때 this 붙여서 구별했듯이)

- super와 this는 근본적으로 같음.

 

2.5 super( ) - 조상 클래스의 생성자