gwooden_코린이
java_인터페이스02_221130(8일차) 본문
728x90
package 인터페이스;
import java.util.Scanner;
public class InGame {
public static void main(String[] args) {
int a;
Scanner sc = new Scanner(System.in);
System.out.print("챔피언을 선택하세요 [1.가렌 2.티모] :");
a = sc.nextInt();
if(a == 1) {
// 부모 클래스<----자식 클래스 업캐스팅
Champion user = new Garen();
Champion.hello("가렌");
// user.hello("가렌"); <-- 인터페이스 내 만들어 둔 것이 추사 메서드, 기본 메서드, 스태틱 메서드 등이 있어서
// 스태틱 메서드는 인터페이스 자체에서 사용만 가능 따로 객체로 불러오는 건 불가능
user.sound();
user.skillQ();
user.skillE();
} else {
Champion user = new Teemo();
Champion.hello("티모");
user.sound();
user.skillW();
user.skillQ();
}
}
}
챔피언을 선택하세요 [1. 가렌 2.티모] :1 가렌님 소환사의 협곡에 오신것을 환영합니다. 기본 챔피언 사운드 가렌 Q 사용 가렌 E 사용 |
package 인터페이스;
public class Teemo implements Champion {
@Override
public void skillQ() {
System.out.println("티모 Q 사용");
}
@Override
public void skillW() {
System.out.println("티모 W 사용");
}
@Override
public void skillE() {
System.out.println("티모 E 사용");
}
@Override
public void skillR() {
System.out.println("티모 R 사용");
}
public void sound() {
System.out.println("하나! 둘! 셋! 넷!");
}
}
package 인터페이스;
public class Garen implements Champion {
@Override
public void skillQ() {
System.out.println("가렌 Q 사용");
}
@Override
public void skillW() {
System.out.println("가렌 W 사용");
}
@Override
public void skillE() {
System.out.println("가렌 E 사용");
}
@Override
public void skillR() {
System.out.println("가렌 R 사용");
}
}
package 인터페이스;
public interface Champion {
//추상 메서드 <-- 해당 기능 무조건 사용해야 됨
//구현 따로 하지 않고 선언만
void skillQ();
void skillW();
void skillE();
void skillR();
//기본 메서드
//구현까지
default void sound() {
System.out.println("기본 챔피언 사운드");
}
//스태틱 메서드
//구현까지
static void hello(String name) {
System.out.println(name + "님 소환사의 협곡에 오신것을 환영합니다.");
}
}
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_추상/인터페이스_221130(8일차) (0) | 2022.11.30 |
Comments