Java

[Java] 클래스 상속관계와 포함관계 차이

junga 2022. 9. 9. 23:38

상속 관계(is - a관계)


  • 고양이는 동물이다(o)
  • 동물은 고양이다(x)
  • 부모클래스: 동물 - 자식클래스: 고양이


포함 관계(has - a관계)


  • 한 클래스를 다른 클래스의 참조변수로 사용하는 경우


class Parent {
    int a;
    int b;
}


// 상속 관계
class Child extends Parent {
    int c;
}


// 포함 관계
class Child2 {
    Parent pa = new Parent();
    int c;
}

public class Main {
    public static void main(String[] args) {
        // 상속 관계 설정
        Child ch = new Child();
        ch.a = 100;
        ch.b = 200;
        ch.c = 300;


        // 포함 관계 설정
        Child2 ch2 = new Child2();
        ch2.pa.a = 100;
        ch2.pa.b = 200;
        ch2.c = 300;
    }
}

'Java' 카테고리의 다른 글

[Java] super & super()  (0) 2022.09.11
[Java] 오버로딩 & 오버라이딩  (0) 2022.09.10
[Java] 상속과 Object 클래스  (0) 2022.09.09
[Java] 접근 제어자  (0) 2022.09.08
[Java] JVM 구조  (0) 2022.09.08