IT/Java
자바 상속, 메소드 오버라이딩, 메소드 오버라이딩 제약사항, 생성자
노마드오브
2018. 7. 17. 00:20
메소드 오버라이딩 제약사항
- 슈퍼 클래스의 메소드와 동일한 원형으로 작성한다
- 슈퍼 클래스 메소드의 접근 지정자보다 접근의 범위를 좁여 오버라이딩 할 수 없다.
(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();
}
}