JAVA

Overriding 코드 정리

연93 2022. 9. 14. 11:42
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