Java - Interface Polymorphism

iseon_u·2022년 5월 7일
0

Java

목록 보기
34/77
post-thumbnail

Interface Polymorphism 인터페이스를 이용한 다형성


interface Fightable { // 인터페이스
		void move(int x, int y);
}

class Fighter extends Unit implements Fightable {
	public void move(int x, int y){}
	public void attack(Fightable f){} // 인터페이스 타입 매개 변수
}

Unit u = new Fighter(); // 조상 클래스
Fightable f = new Fighter(); // 인터페이스 참조 변수로 객체 연결

  • 인터페이스 타입 매개 변수는 인터페이스 구현한 클래스의 객체만 가능
Fightable method(){ // 리턴 (반환) 타입
		Fighter f = new Fighter();
		return f; // 인터페이스를 구현한 객체를 반환
		// ----->
		// return new Fighter(); // 한 문장으로 표현
}
Fightable f = method(); // 저장하는 변수 타입도 일치 시킨다.
// ----->
// Fightable f = new Fighter(); // 다형성
  • 인터페이스를 메서드의 리턴 (반환) 타입으로 지정 가능
  • 해당 인터페이스를 구현한 클래스의 인스턴스를 반환
profile
🧑🏻‍💻 Hello World!

0개의 댓글