public class 자식클래스 extends 부모클래스 {
}
extends
상속관계
: is -a("~은 ~(이)다")
포함관계
: has - a ("~은 ~을(를) 가지고 있다")
포함관계는 자동차와 타이어, 차문, 핸들과의 관계라고 볼 수 있다
Java는 다중 상속을 허용하지 않음
❓ 다중상속을 허용하면 복잡한 소프트웨어의 기능을 구현할 때 여러개의 클래스를 상속받아 쉽게 구현할 수 있다는 장점이 있는데 왜 허용하지 않을까?
- 다중상속을 허용하면 클래스간의 복잡해지는 문제가 생기기 때문
- 만약 자식 클래스에서 상속받는 서로 다른 부모 클래스들이 같은 이름의 멤버를 가지고 있다면 자식 클래스에서는 이 멤버를 구별할 수 있는 방법이 없다는 문제가 생기게 됨
클래스에 final 키워드를 지정하여 선언하면 최종적인 클래스가 되어 더 이상 상속할 수 없는 클래스가 된다
상속 -> overriding
오버라이딩 : 부모로부터 내려받은 메서드를 재정의해서 쓰는 기법
말 그대로 '객체'를 의미하는 단어이며 Object 클래스를 의미함
Object 클래스의 메서드
object clone()
: 해당 객체의 복제본을 생성하여 반환함boolean equals(Object object)
: 해당 객체와 전달받은 객체가 같은지 여부를 반환함Class getClass()
: 해당 객체의 클래스 타입을 반환함int hashCode()
: 객체를 식별하는 정수값인 해시 코드를 반환함String toString()
: 해당 객체의 정보를 문자열로 반환함 & Object클래스에서는 클래스이름@해쉬코드값 리턴함