추상 클래스
추상 클래스는 하나 이상의 추상 메소드를 포함하는 클래스 이고, 추상 메소드는 선언은 되어 있지만, 코드가 구현되어 있지 않은 메소드이다.
추상 메소드를 사용하는 이유는 자손 클래스에서 코드를 반드시 구현하도록 강효하기 위함이 있다.
반드시 구현해야 하기 때문에 모든 서브 클래스에 공통된 메소드가 있을 경우 추상 클래스를 이용하면 된다.
추상 메소드를 사용하기 위해서는 해당 클래스도 추상 클래스로 만들어야 하며 메소드는 내용이 없어야 한다.
추상 클래스는 일반 메소드도 포함 가능하며, 상수, 변수 필드 포함이 가능하다.
abstract class Animal{ //추상 클래스
abstract void talk(); //추상 메소드
};
class Dog extends Animal{
void talk(){
System.out.println("멍멍");
}
}
class Cat extends Animal{
void talk(){
System.out.println("야옹");
}
}
public class test{
public static void main(String[] args) {
Cat c = new Cat();
Dog d = new Dog();
c.talk();
d.talk();
}
}
추상 메소드는 자식 클래스에서 받아 구현해야 하기 때문에 접근 지정자로 Private를 사용할 수 없다.
'프로그래밍 > 자바' 카테고리의 다른 글
자바 컬렉션(Collection)과 Iterator (0) | 2019.02.22 |
---|---|
자바 인터페이스(interface) (0) | 2019.02.21 |
자바의 접근 지정자 (0) | 2019.02.20 |
객체 지향 프로그래밍(OOP)이란 (0) | 2019.02.14 |
자바의 특징 (0) | 2019.02.13 |