반응형
9. class(상속)
9.1 상속(Inheritance)
9.1.1 상속의 정의
class Child extends Parent {
// (...)
}
기존의 클래스를 확장하여 새로운 클래스를 작성하는 것(코드 재사용)
두 클래스를 부모와 자식으로 관계를 맺어주는 것
자식은 부모의 모든 멤버를 상속받는다(생성자와 private 제외, protected는 가능함).
1개의 클래스만 상속받을 수 있음(다중상속 금지)
부모클래스(기본클래스, Parent)
자식클래스(파생클래스, Child)
9.1.2 다중상속
자바에서는 다중상속이 금지됨(C++에서는 가능)
9.1.3 is a 관계
상속관계가 있는 클래스들은 자식클래스 is a 부모클래스의 관계로 정의될 수 있음
Student is a Person(O)
Person is a Student(X)
9.1.4 has a 관계(포함관계, 포함 object)
한 클래스의 멤버변수로 다른 클래스를 선언해서 부품처럼 조립하여 사용하는 것
Car has a Engine
Car has a Radio
9.1.5 Object class
java의 최상위 클래스
모든 클래스는 자동적으로 Object 클래스를 상속받게 된다.
모든 클래스는 Object 클래스에 정의된 11개의 method를 상속받는다.
9.2 오버라이딩(Overriding)
9.2.1 오버라이딩의 정의
부모클래스로부터 상속받은 method의 내용을 상속받는 클래스에 맞게 적절하게 변경하는 것
override - '~위에 덮어쓰다(overwrite)', '~에 우선하다'
method의 header는 동일하게 작성하고 내용을 변경시킴
반응형