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();

}


}