기존 클래스를 재사용하여 새로운 클래스를 작성 하는 것입니다.
장점으로
코드 재사용
부모자식 관계 맺어줍니다
맴버만 상속 받습니다
조상 클래스 : 부모(parent)클래스, 상위(super)클래스, 기반(base)클래스
자손 클래스 : 자식(child)클래스, 하위(sub)클래스, 파생된(derived)클래스
자손 클래스는 조상클래스의 모든 맴버를 상속 받습니다.
자손의 변경은 조상에 영향을 받지 않습니다.
부모가 변경되면 자식까지 변경됩니다.
자손의 멤버개수는 조상보다 적을수 없습니다.
class Child extends Parent{
//.....
}
기존에 부모 클래스가 존재하고 extends라는 키워드를 사용해서 자식 클래스와 관계를 맺습니다
클래스간의 관계 결정하기
상속 관계 : 원(Circle)은 점(Point)이다. is a ~
포함 관계 : 원(Circle)은 점(Point)을 가지고 있다. has a ~ (작은 단위의 클래스를 만들고 이들을 조합해서 클래스를 만드는것입니다. 작성된 단위 클래스들은 재사용이 될수 있습니다.)
단일 상속
java는 단일 상송만 가능합니다
C++는 다중 상속이 있지만 이건 인터페이스로 같은 기능을 쓸수 있어서 상관없습니다
Object 클래스
부모가 없는 클래스는 자동적으로 object 클래스를 상속 받게 됩니다.
object 클래스는 모든 클래스 상속계층도의 최상위에 있는 조상클래스이며 다른 클래스부터
상속받지 않는 모든 클래스들은 컴파일러에 의해 자동적으로 object클래스부터 상속을 받습니다
toString()이나 equaks(Object o )와 같은 메서드를 따로 정의하지 않고도 사용할 수 있었던 이유는
메서드들이 오브젝트 클래스에 정의된 것들이기 때문입니다.
'JAVA > 객체지향' 카테고리의 다른 글
Package와 import (0) | 2023.02.23 |
---|---|
super & super() (0) | 2023.02.23 |
변수의 초기화 (0) | 2023.02.23 |
생성자 (0) | 2023.02.22 |
오버로딩 ,오버라이딩 (0) | 2023.02.22 |