minghxx.blog
  • 자바의 정석 70~72강 상속, 클래스 간의 관계, 상속과 포함, 단일 상속, Object 클래스
    2023년 08월 04일 14시 09분 53초에 업로드 된 글입니다.
    작성자: 민발자
    728x90

    ch 7-1~2 상속

    기존의 클래스로 새로운 클래스를 작성(코드의 재사용)

    두 클래스를 부모와 자식으로 관게를 맺어주는 것

    자손은 조상의 모든 멤버를 상속받는다(생성자, 초기화블럭 제외)

    자손의 멤버 개수는 조상보다 적을 수 없다(같거나 많음)

    자손의 변경은 조상에 영향을 미치지 않음

    class 부모 {
    	int age;
    }
    
    class 자식 extends 부모 {
    	void play() {
    		System.out.println("paly");
    	}
    }

    자식은 부모의 멤버를 모두 상속되고 조상에 영향X

     


    ch 7-3~4 클래스 간의 관계, 상속과 포함

    1. 포함 관계 composite

    클래스의 멤버로 참조변수 선언

    작은 단위의 클래스를 만들고 조합하여 클래스 만듦

    class Point {
    	int x;
    	int y;
    }
    
    // point를 포함하고 있음
    // c.r, c.p.x, c.p.y 3개의 저장공간
    class Circle {
    	Point p = new Point();
    	int r;
    }

     

    2. 클래스 간의 관계 설정하기

    상속관계 : A는 B이다 is -a

    포함관계 : A는 B를 가지고 있다 has -a

     

    ex) 원은 점이다 vs 원은 점을 가지고 있다

    가지고 있다가 더 어울림 = 포함관계

    포함관계가 90%


    ch 7-5~6 단일 상속, Object 클래스

    1. 단일 상속

    자바는 단일 상속만 허용(부모는 하나)

    다중상속처럼 이용 → 비중이 높은 클래스 하나만 상속관계 나머지 포함관계

     

    2. Object 클래스

    부모가 없는 클래스는 컴파일러가 자동으로 Object클래스 상속

    모든 클래스의 조상임

     

    모든 클래스는 Object클래스에 정의된 11개의 메서드를 상속

      toString(), equals(Object obj), hashCode(), ...

    728x90
    댓글