반응형
ch7-34 추상 클래스의 작성
추상 클래스란 미완성 설계도 ( 미완성 메서드를 포함한 )
추상 메서드 = 몸통이 없는 메서드
- 여러 클래스에 공통적으로 사용될 수 있는 추상클래스를 바로 작성하거나
기존 클래스의 공통 부분을 뽑아서 추상클래스를 만든다.
move() 선언부는 일치하지만, 실제 내용은 다르다.
일치하는 부분만 따로 뽑은 것
즉 공통부분만 따로 추출해서 Unit 클래스로 정의
공통부분을 뽑아서, 간결하게 코드의 중복을 제거할 수 있고
이것이 객체지향의 장점이다.
abstract를 붙이면, 클래스에 맞춰서 몸통을 만들어주어야 하는 구나 생각할 수 있음
실제 인스턴스에 구현된 메서드가 호출된다.
리모콘타입이 Unit이고, abstract로 메서드가 구현되었기 때문에 실제 몸통을 구현한 메서드가 호출된다.
다형성의 장점 하나의 배열에 여러 객체를 집어 넣을 수 있다!
각자 이동하는 방법이 다를 것이다. 이를 구현하기 위해서 추상 메서드로 구현을 하고
각 클래스에서 기능에 맞게 해당 메서드의 몸통을 채운다.
- 실습
Unit 대신에 Object 라는 리모콘에도 move가 필요하다
완전 이해!
리모콘에 move 버튼이 없으니 객체에 move 가 있다고 하더라도
Object가 Unit 대신에 들어갈 경우에는 사용이 불가능하다.
반응형
'자바의정석' 카테고리의 다른 글
[자바의 정석 - 기초편] ch7-35~37 인터페이스의 선언, 상속, 구현 (0) | 2022.03.22 |
---|---|
[자바의 정석 - 기초편] ch7-33,34 추상클래스의작성2 (0) | 2022.03.22 |
[자바의 정석 - 기초편] ch7-31,32 추상 클래스, 추상 메서드 (0) | 2022.03.22 |
[자바의 정석 - 기초편] ch7-29,30 여러 종류의 객체를 배열로 다루기 (0) | 2022.03.21 |
[자바의 정석 - 기초편] ch7-27,28 매개변수다형성 (0) | 2022.03.21 |