열심히 끝까지
26강 추상클래스/인터페이스/내부클래스 - 추상 메서드와 추상클래스 본문
26-1 ) 추상 메서드와 추상 클래스
(1) 추상 메서드
: 추상 메서드는 선언부만 정의하고 구체적인 내용은 비워놓는 메서드
주의 할 점
- 추상 메서드가 있는 클래스를 상속받는 자식클래스는 반드시 부모 클래스의
추상 메서드를 구현해야 한다!
추상 메서드 구현 방법
< 구조 >
abstract 리턴타입 메서드명();
- 구현하지 않으므로 {} 생략하고 ;으로 마무리
(2) 추상 클래스
: 추상 클래스는 추상 메서드를 멤버(필드)로 갖는 클래스
주의 할 점
- 추상 클래스는 일반 메서드 필드에 존재 가능
- 단, 추상 메서드를 하나라도 포함해야 한다
- **객체를 생성할 수 없다**
추상 클래스 구현 방법
< 구조 >
abstract class 클래스명{
...
abstract 리턴타입 메서드명();
}
- 구현하지 않으므로 {} 생략하고 ;으로 마무리
추상 클래스 사용 목적?
: 구현은 자식 클래스가 하도록 메서드의 기능을 비워놓고 싶을 때 사용!
ex ) <실습> shapeMain
도형 클래스를 생성하고 draw()메서드를 만들고,
도형 클래스를 상속받는 사각형, 원, 선 class를 생성한다.
각 클래스에 맞게 draw() 오버라이딩 하기
도형 class - draw() : 그리다
사각형 class - draw() : 사각형을 그리다
원 class - draw() : 원을 그리다
선 class - draw() : 선을 그리다
**추상 클래스 사용시 주의할 점**
- 자식 클래스에서 추상 메서드를 구현하지 않으면 오류!
- 일반 메서드와 함께 사용 가능!
추상 메서드는 abstract 키워드 붙이기!
<실습>
포켓몬이라는 추상클래스를 만들고,
구체적인 피카츄, 꼬부기 클래스를 구현하는 예제
'멘토씨리즈 JAVA' 카테고리의 다른 글
28강 추상클래스/인터페이스/내부클래스 - 내부클래스 (0) | 2022.05.02 |
---|---|
27강 추상클래스/인터페이스/내부클래스 - 인터페이스 (0) | 2022.05.02 |
25강 상속과 다형성 - 다형성 개념과 다형성 관련 실습 (0) | 2022.04.30 |
24강 상속과 다형성 - 상속 / 메서드 오버라이딩 (0) | 2022.04.29 |
23강 클래스에 대하여 - 생성자 (0) | 2022.04.29 |