본문 바로가기
Backend - Java Spring/JAVA_강의

[JAVA얄코] 추상 클래스

by VictorMeredith 2023. 11. 22.

1. 추상클래스

- 스스로는 인스턴스를 만들 수 없음 (동물을 '포유류' 라고 불리는 동물은 없다.)

- 자식클래스로 파생되기 위한 클래스

- 개/고양이/말 등의 클래스로서 인스턴스 생성

- 다형성, 추상화, 재사용 때문에 사용

2. 예제 

- abstract 를 붙여서 class를 선언해준다.

- abstract class YalcoGroup으로는 인스턴스를 만들지 못한다.

- field는 protected 로 되어있어, 자식클래스가 물려받아 사용해야 하기 때문이다.

- 추상클래스가 가지고 있는 abstract 메소드는 구현 되어있지 않다. 접근제어자가 의미가 없다. (스스로는 선언만 한다. 물려받을 자식들이 구현한다. 구현하지 않으면 안된다.)

- 클래스 메소드는 추상메소드로 생성이 불가하다. (static 이 붙은 거 불가능하다.)

 

3. 조금 더 실전적인 예제(UI)

- FormElement.java 를 추상클래스로 만든다. 이는 다양한 폼 요소에 대한 추상클래스이다.

각각의 차지할 공간

 

- Button 클래스에서 extends FormElement 해준다.

- super(space) 로 추상클래스의 생성자를 상속해온다.

- @Override를 통해 func()를 반드시 선언해주어야 한다.

 

- DropDown과 Switch 도 똑같이 구현해준다.

 

- Main.java

- Main.java를 실행시키면

- 각 인스턴스의 func() 가 알아서 실행된다.

'Backend - Java Spring > JAVA_강의' 카테고리의 다른 글

[JAVA얄코] Singleton  (0) 2023.11.27
[JAVA얄코] Interface  (1) 2023.11.24
[JAVA얄코] 다형성  (1) 2023.11.22
[JAVA얄코] 상속  (0) 2023.11.10
[JAVA얄코] 접근 제어자  (0) 2023.11.10

댓글