<추상 클래스>
자바에서는 하나 이상의 추상 메소드를 포함하는 클래스를 가리켜 추상 클래스(abstract class)라고 합니다.
<추상 클래스 선언>

-특징-
* 1. 클래스 type 앞에 abstract 키워드가 붙는다.
* 2. 추상 클래스는 생성할 수 없다. (new를 할수없다 단순히 설계 역할만 한다.)
* 3. 추상 메소드를 포함 할 수 있다. 하지만 추상 메소드를 꼭 포함하지는 않아도 된다.
<추상 메소드란>
추상 메소드(abstract method)란 자식 클래스에서 반드시 오버라이딩해야만 사용할 수 있는 메소드를 의미한다.
자바에서 추상 메소드를 선언하여 사용하는 목적은 추상 메소드가 포함된 클래스를 상속받는 자식 클래스가 반드시 추상 메소드를 구현하도록 하기 위함이다.

하지만 추상메소드를 안쓰고 일반 메소드를 쓰는 방법도 있다.

예를 들면 모듈처럼 중복되는 부분이나 공통적인 부분은 미리 다 만들어진 것을 사용하고, 이를 받아 사용하는 쪽에서는 자신에게 필요한 부분만을 재정의하여 사용함으로써 생산성이 향상되고 배포 등이 쉬워지기 때문이다.
- 특징 -
* abstract(추상)
* 1. 추상 메소드 : return type 앞에 abstract 키워드가 붙는다.
* 2. 추상 메소드는 일반 클래스 안에 선언할 수 없다.
* 3. 상속 또는 구현된 클래스에서 무조건 Override(재정의)가 되어야 한다.
밑에 그린에는 Factory라는 추상클래스를 상속받은 하위(자식)클래스들이다. extend를 해줘서 상속을받고
호출을할 메소드들은 무조건 Override를 해줘야한다.


출력

<코드해석>
1. LgFactory, SamsungFactory 클래스를 생성을해준다.
2. 각 클래스의에서 Override를 시켜 재정의를 해주는 start(), stop()메소드를 호출시켜 출력해준다.
출처: https://zico8282.tistory.com/entry/220530-JAVA-추상-클래스-메소드?category=1017521 [ZICO_코딩맛집:티스토리]
'개발일지 > 자바' 카테고리의 다른 글
디자인패턴 - 템플릿 패턴(final 사용법) (0) | 2022.09.07 |
---|---|
업캐스팅, 다운캐스팅 (0) | 2022.09.07 |
상속(부모, 자식 클래스) , 다형성 - 오버라이드(@Override) (0) | 2022.09.05 |
배열 - Array (0) | 2022.09.04 |
this, Getter, Setter (0) | 2022.09.04 |
댓글