티스토리 뷰
package chapter07; public abstract class Phone { abstract void call(); //메소드가 추상이면 그 클래스는 추상타입이어야합니다. 하나라도! void powerOn() { System.out.println("전원이 켜짐..."); } void powerOff() { System.out.println("전원이 꺼짐..."); } /*public static void main(String[] args){ Phone p = new Phone(); }*/ }
메소드 중에 하나라도 추상타입이라면 그 메소드를 갖고 있는 클래스는 반드시 추상타입이어야 한다.
부모가 가지고 있는 추상 메소드를 받아서 사용하고 싶다면 그것을 사용하는 자식은 반드시 재정의(Override)해야 한다.
Q, 재정의를 안 한다면 무슨 일이 일어날까?
package chapter07; public class SmartPhone extends Phone{ }
SmartPhone이라는 변수 명에 에러 메세지가 뜬다.
call()이라는 메세지가 '반드시' 재정의되어야하기 때문이다!
package chapter07; public class SmartPhone extends Phone{ @Override void call() { // TODO Auto-generated method stub } }
-----------------------------> 올바른 재정의!
'배움과 복습' 카테고리의 다른 글
java GUI - actionPerformed (0) | 2017.09.04 |
---|---|
extends and implements in JAVA (0) | 2017.09.04 |
Abstract class에 대해 (0) | 2017.09.01 |
2017-09-01 금요일: 7.상속 (0) | 2017.09.01 |
Getter와 Setter, 그리고 private타입 (0) | 2017.08.31 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- CLASS
- 타입변환과 다형성
- FileChannel
- NVL()
- Maven Project
- 멤버 클래스
- tables in htmll
- 데이터 딕셔너리
- !(not)
- z-dindex
- SQL Operator
- implements
- DECODE()
- DI(의존성 주입)
- IN(var1 var2 var3)
- hierarchical query
- GROUP BY절
- Generic Type
- 상속
- casring
- SELECT절 명령어
- 테이블 데이터 복사
- NVL2()
- Interface
- MONTH_BETWEEN
- IS RECORD
- 로컬 클래스
- 계층형 쿼리
- 중첩 클래스
- 복수행 함수
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함