자바/기본적인 개념
추상 클래스(abstract class)
백_곰
2021. 12. 7. 17:34
1. 추상 클래스란?
- 단어의 뜻 그대로 완성되지 못한 채로 남겨진 설계도를 말한다.
- 미완성 클래스는 인스턴스를 생성할 수 없다.
( 단, 생성자는 생성 가능하다. )
- 미완성 클래스는 상속을 통해서 자손 클래스에 의해서만 완성될 수 있다.
2. 추상 클래스가 필요한 이유는?
- 예를 들자면, 컴퓨터가 여러 대 있고, 여러 종류가 있으며 각기 다른 기능을 수행하지만, 이 들의
설계도는 90%는 동일할 것이다. 그래서 공통적인 부분을 먼저 설계한 다음 각각의 서로 다른 설계도를
작성하는 것이 효율적이기 때문에, 사용하는 것이다.
3. 추상 메서드란?
- 추상 클래스와 개념이 같으며, 추상 메서드는 구현부와 선언부 중에 선언부만 작성한다.
- 문법: abstract 리턴타입 메서드이름();
4. 추상화와 구체화의 관계
- 추상화는 클래스간의 공통점을 찾아내서 공통의 조상을 만드는 작업이고,
구체화는 상속을 통해 클래스를 구현, 확장하는 작업이다.
- 그래서 상속계층도를 따라 내려 갈수록 세분화되고, 올라갈수록 공통요소만 남게 된다.
5. 추상 클래스를 이해하기 위한 예제(1)
6. 추상 클래스의 이해를 위한 예제(2)
( 9번째 줄에 오류가 발생하는 이유는 c 클래스는 a 클래스와 object 클래스를 상속한 것이 맞지만,
object라는 클래스에서는 s라는 메서드를 정의되지 않았기 때문이다. )