현실의 객체를 추상화해서 클래스를 구성한다.
예제)
public class Person {
String name;
int age;
void learn(){
}
}
public class PersonTest {
public static void main(String[] args) {
Person person1 = new Person();
person1.name = "홍길동";
person1.age = 25;
}
하나의 객체를 여러 가지 타입(형)으로 참조할 수 있다.
상속 관계에 있을 때 조상 클래스의 타입으로 자식 클래스 객체를 레퍼런스 할 수 있다.
부모 클래스의 자산을 물려받아 자식을 정의함으로 코드의 재사용이 가능하다.
상위 클래스 생성자와 초기화 블록은 상속하지 않는다.
상위 클래스의 코드를 변경하면 모든 하위 클래스에게도 적용된다. 즉, 유지보수성이 향상된다.
자바는 단일 상속만 지원한다. 대신 interface와 포함 관계로 한계를 극복한다.
예제)
extends 키워드 사용
public class Person{
'''
}
public class SpiderMan extends Person{
'''
}
데이터를 외부에 직접 노출하지 않고 메서드를 이용해 보호할 수 있다.
예제)