KoreaIt Academy/JAVA

13. JAVA의 추상클래스(abstract class)

hongeeii 2021. 7. 19.
728x90
반응형

필드 안에 구현이 안된 메소드가 선언되어 있는 클래스를 추상 클래스라고 합니다.
추상 메소드는 반드시 재정의를 통해 구현을 해야지만 메모리에 할당되기 때문에
강제성을 부여하기 위해서 추상 메소드로 선언합니다.

 


추상클래스는 왜 사용을 할까?

1. 공통된 필드와 메소드를 통일할 목적

   필드와 메소드 이름을 통일하여 유지보수성을 높이고 통일성을 유지할 수 있습니다.

2. 실체클래스 구현시, 시간절약

   강제로 주어지는 필드와 메소드를 가지고 구현하는데만 집중할 수 있어서 설계시간이 절약됩니다.

3. 규격에 맞는 실체클래스 구현

   혼자서 개발하는 일이 아니기 때문에  모두가 약속한 필드와 메소드 그리고 설계 규칙에 녹아져있는 규격에 맞는  

   클래스를 구현해야합니다.

 

추상클래스 선언

추상클래스는 abstract 키워드를 사용하여 선언합니다.

이 때 구현되지 않은 메소드를 추상 메소드라고 부릅니다.

추상 클래스는 추상 메소드를 포함하고 객체화 할 수 없다는 점만 제외하고 일반 클래스와 다르지 않으며

생성자, 멤버변수와 일반 메소드도 가질 수 있습니다.

추상 클래스 자체로는 클래스로의 역할을 하지 못하며 객체를 생성할 수 없지만

새로운 클래스를 작성하는데 있어서 부모 클래스로서 중요한 역할을 갖습니다. (강제성 부여)

 

추상클래스 사용

추상클래스에서 선언된 추상메소드는 반드시 재정의를 통하여 구현을 하여야 하며,

어떤 추상클래스를 상속 받은 자식 클래스에서 추상 메소드를 구현하지 않았다면 자식 클래스도 추상 클래스가 되어야 합니다.

위에 코드에서 추상메소드인 on과 off는 무조건 재정의를 하여야하지만 일반 멤버 변수인 name과

일반 메소드인 print는 재정의를 하지않아도 사용할 수 있는 것을 알 수 있습니다.


이상으로 추상클래스에 대해서 알아보았습니다.

728x90
반응형

추천 글