자바의정석

[자바의 정석 - 기초편] ch7-33,34 추상클래스의작성1

유호야 2022. 3. 22. 17:26
반응형

ch7-34 추상 클래스의 작성

추상 클래스란 미완성 설계도 ( 미완성 메서드를 포함한 )
추상 메서드 = 몸통이 없는 메서드 

- 여러 클래스에 공통적으로 사용될 수 있는 추상클래스를 바로 작성하거나 
기존 클래스의 공통 부분을 뽑아서 추상클래스를 만든다. 

move() 선언부는 일치하지만, 실제 내용은 다르다.

일치하는 부분만 따로 뽑은 것

즉 공통부분만 따로 추출해서 Unit 클래스로 정의 

 

공통부분을 뽑아서, 간결하게 코드의 중복을 제거할 수 있고 
이것이 객체지향의 장점이다. 

abstract를 붙이면, 클래스에 맞춰서 몸통을 만들어주어야 하는 구나 생각할 수 있음


실제 인스턴스에 구현된 메서드가 호출된다. 
리모콘타입이 Unit이고, abstract로 메서드가 구현되었기 때문에 실제 몸통을 구현한 메서드가 호출된다. 

다형성의 장점 하나의 배열에 여러 객체를 집어 넣을 수 있다!

각자 이동하는 방법이 다를 것이다. 이를 구현하기 위해서 추상 메서드로 구현을 하고 
각 클래스에서 기능에 맞게 해당 메서드의 몸통을 채운다. 

 

 


- 실습

 


Unit 대신에 Object 라는 리모콘에도 move가 필요하다 

완전 이해!

리모콘에 move 버튼이 없으니 객체에 move 가 있다고 하더라도 
Object가 Unit 대신에 들어갈 경우에는 사용이 불가능하다. 

반응형