gwooden_코린이
java_다형성_221130(8일차) 본문
728x90
package 다형성;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
User user = new User();
Garen garen = new Garen(); //garen -> 가렌 클래에 있는 정보가 들어있다
Teemo teemo = new Teemo();
Scanner sc = new Scanner(System.in);
int a; // 챔피언 선택을 받을 정수 선언
char key; // 스킬을 입력 받을 문자 선언
System.out.print("챔피언을 선택하세요[1.가렌 2.티모] :");
a= sc.nextInt();
if(a == 1) {
user.selectMsg(garen); //객체 자체를 전달받아 쓰게끔
System.out.print("사용할 스킬 입력[q, w, e, r] : ");
key = sc.next().charAt(0);
user.skillMsg(garen, key);
} else {
user.selectMsg(teemo); //객체 자체를 전달받아 쓰게끔
System.out.print("사용할 스킬 입력[q, w, e, r] : ");
key = sc.next().charAt(0);
user.skillMsg(teemo, key);
}
}
}
챔피언을 선택하세요[1.가렌 2.티모] :1 가렌을 선택하였습니다 사용할 스킬 입력[q, w, e, r] : w 가렌이w스킬 사용 |
package 다형성;
public class User {
// ( int num) 이랑 같은 의미
void selectMsg(Champion champion) {
// (Champion 인터페이스 champion)
champion.selectChampion();
// garen.selectChampion();
}
// (부모 객체)
void skillMsg(Champion champion, char key) {
champion.userSkill(key);
// 챔피언에 있는 userSkill 메서드를 호출
}
}
package 다형성;
public class Teemo implements Champion {
@Override
public void selectChampion() {
System.out.println("티모를 선택하였습니다");
}
@Override
public void userSkill(char key) {
System.out.println("티모가" +key+ "스킬 사용");
}
}
package 다형성;
public class Garen implements Champion {
@Override
public void selectChampion() {
System.out.println("가렌을 선택하였습니다");
}
@Override
public void userSkill(char key) {
System.out.println("가렌이" +key+ "스킬 사용");
}
}
package 다형성;
public interface Champion {
void selectChampion();
void userSkill(char key);
}
728x90
'java > 8일차' 카테고리의 다른 글
java_내부인터페이스_221130(8일차) (0) | 2022.11.30 |
---|---|
java_내부클래스_221130(8일차) (0) | 2022.11.30 |
java_다형성 연습01_221130(8일차) (0) | 2022.11.30 |
java_추상/인터페이스_221130(8일차) (0) | 2022.11.30 |
java_인터페이스02_221130(8일차) (0) | 2022.11.29 |
Comments