package sec04.exam01_overriding;
//부모클래스
public class Calculator {
double areaCircle(double r) {
System.out.println("Calculator 객체의 areaCircle()실행");
return 3.14159 * r * r;
}
}
새로운 클래스 생성
package sec04.exam01_overriding;
//자식 클래스
public class Computer extends Calculator {
@Override
double areaCircle(double r) {
System.out.println("Computer 객체의 areaCircle()실행");
return Math.PI * r * r; }
}
실행 메소드 생성
package sec04.exam01_overriding;
//실행 클래스
public class ComputerExample {
public static void main(String[] args) {
int r = 10;
Calculator calculator = new Calculator();
System.out.println("원면적: " + calculator.areaCircle(r));
System.out.println();
//객체 생성
Computer computer = new Computer();
System.out.println("원면적: " + computer.areaCircle(r));
}
}
자식 클래스에서 재 정의한 메소드만 실행하면 부모 메소드는 숨기는 효과가 있다.
자식 클래스에서 수정되기 전의 부모 메소드를 호출하고자 할 경우 super를 사용한다.
'JAVA' 카테고리의 다른 글
객체지향 객체의 생성과 사용 (0) | 2022.09.24 |
---|---|
super 코드 정리 (0) | 2022.09.14 |
final (0) | 2022.09.13 |
싱글톤 패턴 (디자인패턴) (0) | 2022.09.13 |
다차원 배열: 2차원 배열 (0) | 2022.09.07 |