Programming/OOP

OOP - IS-A 관계, HAS-A 관계 차이 (상속)

JaeHoney 2022. 8. 8. 12:45

IS-A 관계 (is a relationship)

상속 관계를 의미한다. 상속 관계에서는 '~은 ~이다.'가 성립한다.

 

아래의 예시에서 Student와 Person은 IS-A 관계가 성립한다.

public class Student extends Person {

    private int studentId;
    
}

여기서 Person은 추상화된 개념을 표현한 것이다.

 

 

HAS-A 관계 (has a relationship)

포함 관계를 의미한다. 포함 관계는 '~은 ~를 가진다.`가 성립한다.

 

아래의 예시에서 Student와 Book은 HAS-A 관계가 성립한다.

public class Student {

    private Book book;
    
}