메소드 오버라이딩 제약사항
- 슈퍼 클래스의 메소드와 동일한 원형으로 작성한다
- 슈퍼 클래스 메소드의 접근 지정자보다 접근의 범위를 좁여 오버라이딩 할 수 없다.
(public, protected, 디폴트, private)
- static이나 private 또는 final로 선언된 메소드는 서브 클래스에서 오버라이딩 할 수 없다
파일명 : Test8.java
package com.test;
class Parent3 {
// 기본생성자
Parent3() /* extends Object */{
super();
System.out.println("부모생성자");
}
void parentPrn() {
System.out.println("Parent3 parentPrn()");
}
}
class Child3 extends Parent3 { // 상속 Parent3
// 기본생성자
Child3() {
// super(); // 상속 최상위 단계부터 실행됨. 코드가 없어도 컴파일러가 알아서 실행함
System.out.println("자식생성자");
}
void childPrn() {
System.out.println("Child3 childPrn()");
}
}
public class Test8 {
public static void main(String[] args) {
Child3 c = new Child3();
}
}
'IT > Java' 카테고리의 다른 글
자바 다형성, 참조형(레퍼런스형) 형변환, 업캐스팅, 다운캐스팅 (0) | 2018.07.18 |
---|---|
자바 상속, super() 생성자 호출 (0) | 2018.07.17 |
자바 상속, 메소드 오버라이딩 (0) | 2018.07.17 |
자바 상속, super, 멤버변수 오버라이드(override) (0) | 2018.07.17 |
자바 상속 두번째 예제 (0) | 2018.07.17 |