[Java] 상속과 포함 관계

Woozard·2023년 5월 10일
4

Java

목록 보기
7/13
post-thumbnail

상속 의미

자바에서 상속이란 기존의 클래스를 재활용하여 새로운 클래스를 작성하는 것을 의미한다.

상속 예제 및 설명


class Car {
    int capacity;
    String fuel;
}

class Bus extends Car {
    int Bus_number;
    Bus(int Bus_number, int capacity, String fuel) {
        this.Bus_number = Bus_number;
        this.capacity = capacity;
        this.fuel = fuel;
    }
}

위에 코드를 보면 Bus 클래스가 extends를 이용해서 Car 클래스를 상속받는걸 볼 수 있다. 상속받으면 상위 클래스에 있는 메소드와 필드를 하위 클래스에서 이용할 수 있다.


포함 관계 의미

자바에서 포함 관계는 상속과 비슷하게 클래스를 재사용 할 수 있는 방법을 의미한다.

포함 관계 예제 및 설명


class Engine {
    int capacity;
    String fuel;
    Engine(int capacity, String fuel) {
        this.capacity = capacity;
        this.fuel = fuel;
    }
}

class Car {
    Engine e;
    Car() {
        e = new Engine(998, "Bi-fuel");
    }
}

위에 코드를 보면 Car 클래스의 멤버로 Engine 클래스 타입의 참조 변수를 선언하는 것을 볼 수 있다. 즉, 클래스의 속성값에 다른 클래스를 선언하여 사용하는 것을 포함 관계라고 한다.

상속과 포함 구별법

둘 사이의 관계가 상속인지 포함인지 쉽게 구별하는 방법은 두 문장을 통해서 알수 있다.
· 상속 관계 : is (~은 ~이다)로 표현
· 포함 관계 : has (~은 ~을 가지고 있다)로 표현
위에 방식으로 표현했을 때 적절한 경우가 옳은 관계이다.

profile
Hello, World!

0개의 댓글