특정 기능(메소드)만을 전용으로 사용하기 위한 방법 (모듈화)
추상메소드가 포함된 클래스 (미완성, 공통의 메소드)
★추상메소드 : 자식클래스에서 오버라이드해야만 사용할 수 있는 메소드
선언부만 존재하고 (구현부 X)
⇒ 상속받은 자식클래스에서 ‘반드시’ 추상메소드의 구현부를 오버라이드해야함
상속을 통해 다른 클래스에게 도움을 주기 위한 클래스 (강제성)
멤버로는 일반클래스멤버와 추상메소드를 갖는다
객체 생성(new) 불가능 (독립적으로 존재 불가)
⇒ ★상속을 통해 반드시 추상메소드를 오버라이드해서 구현함
구현 객체(추상클래스를 상속받는 일반클래스)를 통해 구현
추상클래스 상속시 ⇒ 클래스의 유형을 선택
1) 자식클래스 타입도 추상클래스로 설정 ⇒ 추상메소드도 새로 만들어야함 (new 생성불가)
2) 자식클래스에서 추상메소드를 오버라이드 (이 방법을 많이 사용)
단일 상속만 허용
*구현객체로 만드려는 객체가 abstract타입이 아니라면 다형성 적용이 가능!
(부모타입으로 자식객체 형변환)
*단, 구현객체간의 직접적인 상속관계가 없으면 다형성 성립 불가능!