image.png

상속 개념

image.png

클래스 상속

image.png

메소드 재정의

image.png

image.png

// 부모클래스
package exam13;

public class Calculator {
// 메소드 선언

// 원의 넓이를 구하는 메소드
public double areaCircle(double r) {
    System.out.println("Calculator 객체의 areaCircle() 실행");
    return r * r * 3.14;
}

public int ractangle(int width, int height) {
    return width * height;
}
}

// 자식클래스
// areaCircle 만 재정의
package exam13;

public class Computer extends Calculator {

    // 매소드 오버라이딩
    /* 컴파일 시 정확히 오버라이딩이 되었는지 체크해 줌(생략 가능) */
    //@Override
    public double areaCircle(double r) {
        System.out.println("Computer 객체의 areaCircle() 실행");
        return Math.PI * r * r;
    }
    
}

// 메인클래스
// 부모클래스 메소드호출
// 자식클래스 매소드 호출 및 상속받은 매소드 호출
package exam13;

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));
            System.out.println("사각형 넓이: " + computer.ractangle(r, r));

        }
}

### 결과 ###
Calculator 객체의 areaCircle() 실행 // 부모 클래스
원면적: 314.0

Computer 객체의 areaCircle() 실행 // 자식 클래스
원면적: 314.1592653589793
사각형 넓이: 100

image.png

부모 메소드 호출