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
- 배열
- while문
- symbol
- switch문
- if문
- Singleton
- Override
- expand
- 형변환
- 클래스
- length
- illustrator
- super
- Java
- 파라미터
- Photoshop
- Overload
- Interface
- for문
- 반복문
- 조건문
- 생성자
- 변수
- 상속
- 멤버변수
- static
- After effects
- private
- 메서드
- do while문
Archives
- Today
- Total
Ms'Note
Interface 본문
기본 동작에 대한 기능 정의
- 아이템 줍기 기능을 정의한다.
public interface Action {
// 줍다
public void pickup();
}
이동과 관련된 기능의 정의
- 걷기, 뛰기, 점프를 정의한다.
public interface Move {
// 걷다
public void walk();
// 뛰다
public void run();
// 점프
public void jump();
}
전투와 관련된 기능의 정의
- 공격, 방어 기능을 정의한다.
public interface Fight {
// 공격
public void attack();
// 방어
public void shield();
}
주인공 클래스 만들기
- 주인공의 이름을 설정할 수 있도록 멤버변수와 생성자를 의미한다.
public class Charater implements Action, Move, Fight {
// └> 주인공 클래스의 인터페이스 상속
// - 주인공은 모든 동작을 수행해야 하므로 앞에서 정의한 인터페이스 상속받음
private String name;
public Charater(String name) {
this.name = name;
}
// Override된 메서드의 기능 구현하기
// - 공격과 관련된 기능을 다음과 같이 구현하였다.
@Override
public void attack() {
System.out.println(this.name + ">>" + "공격");
}
@Override
public void shield() {
System.out.println(this.name + ">>" + "방어");
}
@Override
public void walk() {
System.out.println(this.name + ">>" + "걷다");
}
// 이동, 아이템 줍기 기능을 다음과 같이 구현하였다.
@Override
public void run() {
System.out.println(this.name + ">>" + "뛰다");
}
@Override
public void jump() {
System.out.println(this.name + ">>" + "점프");
}
@Override
public void pickup() {
System.out.println(this.name + ">>" + "아이템을 줍다");
}
}
몬스터 클래스의 구현
- 앞서 진행한 과정과 동일하게 다음의 몬스터 클래스를 구현한다.
- 몬스터의 경우 아이템을 줍는 기능은 필요 없기 때문에 Fight나 Move 인터페이스만 상속 받는다.
public class Monster implements Fight, Move {
private String name;
public Monster(String name) {
this.name = name;
}
@Override
public void walk() {
System.out.println(this.name + ">>" + "걸어갑니다");
}
@Override
public void run() {
System.out.println(this.name + ">>" + "달려갑니다");
}
@Override
public void jump() {
System.out.println(this.name + ">>" + "점프합니다");
}
@Override
public void attack() {
System.out.println(this.name + ">>" + "공격합니다");
}
@Override
public void shield() {
System.out.println(this.name + ">>" + "방어합니다");
}
}
주인공과 몬스터가 등장하는 프로그램
public class Main01 {
public static void main(String[] args) {
Charator ch = new Charator("주인공");
ch.walk();
ch.run();
ch.attack();
ch.shield();
System.out.println("---------------");
Monster mon = new Monster("악당");
mon.walk();
mon.run();
mon.attack();
mon.shield();
}
}
출력 결과
Comments