Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
Tags
- 멤버변수
- Overload
- static
- 파라미터
- symbol
- switch문
- 반복문
- 배열
- Override
- length
- illustrator
- private
- for문
- expand
- Interface
- 조건문
- 클래스
- 변수
- 메서드
- Java
- 형변환
- After effects
- Photoshop
- 상속
- 생성자
- while문
- Singleton
- if문
- do while문
- super
Archives
- Today
- Total
Ms'Note
인터페이스의 이해 본문
상황제시
- A씨는 추상화의 장점을 이해한 후 다음 프로젝트에서는 추상화를 활용하기로 마음먹고
아래와 같이 추상 클래스를 정의하였다.
/** 게임 캐릭터, 몬스터의 공통기능 정의 */
public abstract class Unit {
public abstract void attack(); // 공격
public abstract void shield(); // 방어
public abstract void walk(); // 걷다
public abstract void run(); // 뛰다
public abstract void jump(); // 점프
public abstract void pickup(); // 아이템 줍기
}
상황제시
- B씨가 만들어야 하는것은 주인공 클래스와 몬스터 클래스이다.
- 주인공 클래스는 Unit 클래스의 모든 기능을 사용해야 하지만,
몬스터 클래스의 경우 '아이템 줍기' 기능은 필요하지 않다.
상황제시
- C씨는 추상 클래스인 Unit의 기능을 용도별로 분할하여 나누어 놓고 주인공과 몬스터가 각각의 기능 중에서
자신에게 필요한 것들만 상속받도록 하는 방법을 필요로 한다.
추상 클래스의 한계
- 자바 클래스 간의 상속에서는 하나의 부모만 존재할 수 있기 때문에,
앞의 상황에서 요구하는 다중 상속의 구현은 불가능하다.
Interface란?
- 완벽한 추상화를 구현하기 위한 Java Class의 한 종류이다.
- 다중 상속이 가능하기 때문에 용도별로 세분화하여 필요한 요소만 상속할 수 있다.
Comments