[Java의 정석] 상속

younghyun·2022년 10월 10일
0

Java의 정석

목록 보기
10/12
post-thumbnail

상속이란

상속을 받는다는 것은 조상 클래스를 확장(extend)한다는 의미로 해석할 수 있다.
자식 클래스가 조상 클래스의 코드를 재사용하여 유지보수에 용이하다.

class Child extens Parent {
    ...
}

포함관계

상속이외에 클래스를 재사용하는 방법인 '포함관계'
하나의 거대한 클래스를 구현할 때 단위 클래스를 작성하고 이를 포함관계로 재사용하면 훨씬 쉽고 간결하게 코드를 관리할 수 있다.

class Point {   // 원점 (단위 클래스)
    int x;
    int y;
}
class Circle {   // 원 (구성요소: 원점, 반지름)
    Point p = new Point();  // x, y 사용 가능
    int r;
}

클래스 간의 관계 설정

원(Circle) 점(Point)이다. -> 상속관계로 설정하기
원(Circle) 점(Point)을 가지고 있다. -> 포함관계로 설정하기

class DrawShape {
    public static void main(String[] args) {
        Circle c = new Circle(new Point(150, 150), 50);
    }
}

class Shape {
    string color = "black";
|

class Point { 
    int x;
    int y;
    
    Point(int x, int y) { 
        this.x = x;
        this.y = y;
    }
    
    Point() {
        this(0, 0);
    }
}

class Circle extends Shape {   // Shape과 상속 관계
    
    Point center;  // Point와 포함관계
    int r;
    
    Circle() {
        this(new Point(0, 0), 100);
    }
    
    Circle(Point center, int r) { 
        this.center = center;
        this.r = r;
    }
}
profile
🌱 주니어 백엔드 개발자입니당

0개의 댓글