- 추상화: 클래스간의 공통부분을 뽑아내서 공통의 조상을 만드는 작업
- 추상클래스의 인스턴스는 생성할 수 없르며 상속을 통해서 자식클래스에 의해서 완성됨
- 추상클래스 자체로는 클래스 역할을 못하지만 새로운 클래스를 작성하는데 있어 바탕이 되는 조상클래스로서의 중요한 의미를 갖음
- 추상메서드를 가지고 있지 않아도 추상클래스로 만들 수 있으며 인스턴스 생성이 불가함
추상 메서드 abstract
- 메소드 : 선언부(정의부) + 구현부 -추상메소드 메소드 선언부만 존재
- 메소드 몸체 {} 가 없는 메소드
- abstract 리턴타입 메소드명();
package abstractpkg;
import java.util.ArrayList;
import java.util.List;
public class AbstractMain {
public static void main(String[] args) {
//AbstractClass ac = new AbstractClass();
AbstractChildClass acc = new AbstractChildClass();
acc.generalMetgod();
acc.abstractMethod();
// 추상클래스의 다형성
AbstractClass ac = new AbstractChildClass();
ac.generalMetgod();
ac.abstractMethod();
// 다형성때문에 하위경로에서 상위경로를 갈 수 있음
List<String> list2 = new ArrayList<>();
// List<String> list = new ArrayList<String>();
list2.add("hong");
list2.add("kim");
for(String s:list2) {
System.out.println(s);
}
}
}
결과값 :
