(기초)그래서 뭘 배운거야?/Java
JV-42-Override : 오버라이드 (덮어씌우기)
Soheny.P
2021. 11. 5. 16:29
728x90
package kr.co.goodee39.date1105;
public class Ex09ParentClass1 {
public void method1() {
System.out.println("ParentClass에서 실행된 method1()");
}
}
package kr.co.goodee39.date1105;
public class Ex09ChildClass extends Ex09ParentClass1 {
//부모까지 갈 필요없이, 자식에서 찾아서 실행 가능
@Override
public void method1() {
System.out.println("자식 클래스에서 실행한 method1()");
}
}
package kr.co.goodee39.date1105;
public class Ex09Override {
//Override
/*
- 자식클래스에서 부모 클래스에 정의된 기능을 같은 이름으로 선언해 덮어씌우는 것을 말함
- 메모리에서 그 기능 검색시 자식 쪽에서 호출을 가로채, 부모 클래스 기능 검색 막는 매커니즘
- 강제로 부모 클래스 기능 접근하고 싶다면, super.method명() 이용해 부모 객체에 접근 가능
*/
public static void main(String[] args) {
Ex09ChildClass cc1 = new Ex09ChildClass();
cc1.method1(); //ParentClass에서 실행된 method1() : ChildClass는 상속 후 아무것도 안함
//자식 클래스에서 실행한 method1() : ChildClass에서 재정의 시 (부모 method1에 덮어씌워버림)
}
}
728x90