-
학원 DAY12. 클래스와 클래스의 관계, 상속기록 2022. 10. 2. 10:18
has a 관계 (A has a B)
- Car has a Engine : 자동차는 엔진을 포함하고 있다. 자동차는 엔진없이는 굴러갈 수 없다. (의존관계)
- Department has a Employee : 부서는 사원을 포함하고 있다. (포함관계)
- A클래스가 B클래스를 포함(의존)하는 관계이다.
is a 관계 (A is a B)
- ColorPrinter is a Printer : 컬러프린터도 프린터다.
- A클래스가 B클래스의 종류 중 하나다.
- B클래스가 동일한 A클래스들은 비슷한 특징과 기능을 가지고 있다.
- B클래스는 상위클래스, A클래스는 하위클래스(더 구체적인 클래스)다.
- A클래스는 B클래스로부터 공통속성과 공통기능을 상속받고, 자신의 고유속성과 고유기능을 구현하고 있다. (상속관계)
< 상속 >
- 상속이란, 기존의 클래스(부모클래스)를 재사용해서 새로운 클래스(자식클래스)를 작성하는 것이다.
- 상속을 이용해서 클래스를 작성하면 보다 적은 양의 코드로 새로운 클래스를 작성할 수 있다.
- 새로 작성된 클래스들은 기존 클래스의 코드를 공통으로 가지게 되기 때문에, 공통코드의 관리가 쉬워진다.
< 상속의 장점 >
- 코드의 재사용성을 높일 수 있다.
- 코드의 중복을 제거할 수 있다.
- 프로그램의 생산성과 유지보수성이 좋아진다.
< 상속을 이용해서 새로운 클래스 작성하기 >
- 기존 클래스(상위클래스)를 상속받아서 새로운 클래스(하위클래스) 작성할 때는 extends 키워드를 사용한다.
- 하위 클래스는 상위 클래스의 필드와 메소드를 상속받는다.
- 상속은 상위 클래스를 확장시켜서 하위 클래스틀 만드는 것이다.
- 하위 클래스는 추가적인 코드 작성 없이 상위클래스로부터 상속받은 필드와 메소드를 바로 사용할 수 있다.
- 동일한 상위 클래스를 상속받아서 만들어진 하위 클래스는 상위 클래스로부터 상속받은 필드와 메소드가 동일하다.
- 동일한 상위 클래스를 상속받은 하위 클래스로 만들어진 객체는 동일한 속성과 동일한 기능을 가지게 된다.
- 각각의 하위 클래스에서는 자신만의 필드와 메소드를 추가할 수 있다.
- 은닉화된 것과 생성자는 자식한테 상속이 안된다.
- 상속을 하면 매번 조상의 객체가 새로 만들어진다. 따라서, 주소값도 다르다.
- Object객체를 제외한 모든 객체는 자신의 상위객체(부모객체)를 참조하는 참조변수 super를 가지고 있다.
'기록' 카테고리의 다른 글
학원 DAY 13. 클래스 형변환 (0) 2022.10.02 학원 DAY 13. 상속, SUPER (0) 2022.10.02 학원 DAY12. 변수의 종류 (0) 2022.10.01 학원 DAY12. STATIC (0) 2022.10.01 학원 DAY10~11. Getter, Setter 메소드 (0) 2022.10.01