Beny's Study
10_2. [강의] 접근제한자 별 동일패키지,다른패키지 오버라이드Override 본문
접근 제한자 별로 오버라이드 해보기
동일 패키지Override
SuperClass
package com.kh.ex03.overriding_test;
public class SuperClass {
//접근제한자 별로 override실습
private void privateMethod() {
System.out.println("privateMethod");
}
public void publicMethod() {
System.out.println("publicMethod");
}
protected void protectedMethod() {
System.out.println("protectedMethod");
}
public final void finalMethod() {
System.out.println("finalMethod");
}
void defaultMethod() {
System.out.println("defaultMethod");
}
}
ChildClass
package com.kh.ex03.overriding_test;
public class ChildClass extends SuperClass {
@Override
public void publicMethod() {
super.publicMethod();
}
@Override
public void protectedMethod() {
super.protectedMethod();
}
@Override
void defaultMethod() {
super.defaultMethod();
}
}
※extends하고 스페이스로 상속할 클래스 가져올때 패키지 확인 잘해서 가져와야함,잘못하면 전혀다른게...상속되버림
※ 상속하고 오버라이드 단축키 하면 private,final제외한 3가지만 선택할수 있게 뜸
※ private,final은 상속이 불가능!하단에 3개만 오버라이드 된 이유
다른 패키지Override
OtherChildClass
package com.kh.ex03.overriding_test2;
import com.kh.ex03.overriding_test.SuperClass;
public class OtherChildClass extends SuperClass {
@Override
public void publicMethod() {
super.publicMethod();
}
@Override
protected void protectedMethod() {
super.protectedMethod();
}
}
※ 오버라이드 2가지밖에 안됨
※ private안되고 final안되고 + default도 안됨
※ 다른패키지에서 상속하면 default도 안된다~(규칙)
====> 어차피 오픈할거면 public 으로 하고 protected도 잘 안씀!
"본 인터넷 사이트 내의 모든 이미지, 문구, 콘텐츠, 내용 등에 대한 저작권은 76beny에게 있습니다.
이를 무단으로 도용, 복사, 전재, 재배포, 2차 변형 등을 할 경우
민, 형사상 법적 조치 등 저작권법에 의거하여 처벌 받을 수 있습니다."
'[JAVA] > 08. 상속' 카테고리의 다른 글
13_4. [강의] 다형성3 예제(추상클래스&인터페이스 이용) (0) | 2022.05.29 |
---|---|
10_3. [강의]오버로딩 Overloading (0) | 2022.05.28 |
10_1. [강의] 상속 기본흐름 (0) | 2022.05.28 |
09. 오버로딩 (0) | 2022.04.13 |
08. 접근제한자 ,다른패키지에서 오버라이드 흐름 코드 예제 (0) | 2022.04.13 |