포함 관계

BuZZLightyear·2023년 2월 27일
0

정리

목록 보기
4/47

포함이란 ?

클래스의 멤버로 다른 클래스 타입의 참조변수를 선언하는 것

public class Employee {
        int id;
        String name;
        Address address; //포함

        Employee(int id, String name, Address address){
            this.id = id;
            this.name = name;
            this.address = address;
        }

        void showInfo(){
            System.out.println(id + " " + name);
            System.out.println(address.city + " " + address.country);
        }
public class Address {
    String city, country;

    Address(String city, String country) {
        this.city = city;
        this.country = country;
    }
    public static void main(String[] args) {
        Address address1 = new Address("서울","한국");
        Address address2 = new Address("파리","프랑스");

        Employee e = new Employee(123, "손흥민", address1);
        Employee e2 = new Employee(12345, "음바페", address2);

        e.showInfo();
        e2.showInfo();

    }
123 손흥민
서울 한국
12345 음바페
파리 프랑스

city와 country 를 Employee 클래스의 인스턴수 변수로 정의해 주어야 하지만 Address 클래스로 해당 변수들을 묶어준다음 Employee 클래스의 안에서 참조변수를 선언하는 포함관계로 재사용 함.

상속관계인지, 포함관계인지 판별하는 법

클래스 간의 관계가 ~은 ~이다 이면 상속, ~은 ~을 가지고 있다 이면 포함관계
포함 - Employee는 Address 이다 (X) Employee는 Address를 가지고있다 (O)
상속 - SportsCar는 Car이다 (O) SportsCar는 Car를 가지고있다 (X) Car를 상위클래스로 하는 상속관계를 맺어주는게 적합

profile
버즈라이트이어

0개의 댓글