728x90
Section10 상속
상속
부모(역할을 하는) 클래스가 자식(역할을 하는) 클래스에게 클래스 멤버를 물려주는 것을 상속이라고 합니다.
자식 클래스 선언
extends 키워드를 사용해 상속받을 클래스를 지명할 수 있습니다. 자식 클래스는 부모 클래스의 모든 멤버를 그대로 가져다 쓸 수 있습니다.
class A { // 부모 클래스는 자식 클래스에서 지명받기 전에는 부모 클래스 역할을 하지 않습니다.
...
}
class B extends A { // B 클래스에서 extends A를 작성함으로써 A는 B의 부모 클래스가 되고,
// B 클래스는 A 클래스의 자식 클래스가 됩니다.
...
}
super()
자식 클래스에서 부모 클래스의 생성자를 호출하는 키워드로 super()를 사용합니다.
필요에 따라 매개변수를 전달할 수도 있습니다. 개발자가 직접 생성자를 선언할 때는 자식 클래스에서 반드시 부모 클래스의 생성자를 호출해줘야 합니다.
자바는 4가지 접근 제한자를 사용합니다.
- public : 모든 패키지, 모든 클래스에서 접근 가능
- protected : 같은 패키지 안에서 접근 가능 / 다른 패키지라도 자식 클래스라면 접근 가능
- default : 같은 패키지 내에서만 접근 가능
- private : 클래스 외부에서 접근 불가능
오버라이딩
자식 클래스가 상속받은 메서드의 내용을 변경해서 사용할 수 있습니다. 상속받은 메서드를 변경해서 다시 구현하는 것을 오버라이딩(overriding)이라고 합니다.
부모 클래스의 메서드 호출
super 키워드를 사용해 부모 클래스의 메서드를 호춯할 수 있습니다.
super.부모 메서드();
728x90