추상 클래스는 객체 생성이 불가능한 클래스(타입)으로 자식 클래스를 통해 간접적으로 객체를 생성한다.
또한 추상클래스는 상속(코드 중복 제거)과 인터페이스의 장점(다형성과 그룹화)을 모두 가지고 있다.
추상 클래스는 abstract키워드를 사용하여 선언하며 어떠한 객체가 스스로 존재할 수 없는 경우 또는
존재하면 안되는 경우에 사용한다!
ex)
class Tiger{
String name;
}
class Lion{
String name;
}
class Dog{
String name;
}
//String name; 이라는 중복 코드가 발생!!
이 중복된 필드를 상속을 통해 제거한다.
class Animal{
String name;
}
class Tiger extends Animal{}
class Lion extends Animal{}
class Pig extends Animal{}
하지만 추상 클래스는 스스로 객체화 할 수 없다!!
abstract class Animal
//Compile Error!!
Animal a = new Animal();
'JAVA' 카테고리의 다른 글
[JAVA] GUI 스크롤바(RGB) (0) | 2020.09.20 |
---|---|
[JAVA] GUI(AWT) (0) | 2020.09.16 |
[JAVA] this (0) | 2020.09.14 |
[JAVA] 생성자 오버로딩 (0) | 2020.09.11 |
[JAVA] 클래스와 객체 -1 (0) | 2020.09.08 |