인터페이스

김현·2023년 7월 18일

자바

목록 보기
22/31

1. 추상 클래스의 한계

  • 자바 클래스간에 상속에서 하나의 부모만 존재할 수 있기 때문에 앞의 상황에서 요규하는 다중 상속의 구현은 불가능하다.

2. Interface란?

  • 완벽한 추상화를 구현하기 위한 Java Class의 한 종류
  • 다중 상속이 가능하기 때문에 용도별로 세분화하여 필요한 요소만 상속할 수 있다.

  • 추상클래스와 인터페이스의 차이점

1) 추상클래스

  • 멤버변수, 생성자, 메서드, 추상메서드를 포함할 수 있다.
  • 이 클래스를 상속받은 자식 클래스는 다른 클래스를 상속받을 수 없다.

2) 인터페이스

  • 추상메서드만 포함할 수 있다.

  • 다중 상속이 가능하다.

  • 공통점
    -> 객체의 생성이 불가능하다.

  • 예시. 게임) -> 몬스터의 경우 아이템줍기가 없음

    	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();	// 아이템 줍기
    	
    	}
  • 인터페이스 활용

  • Action

  • Fight

  • Move

  • Character

-> 앞서 만들어놓은 인터페이스들을 상속시킨다.

-> 인터페이스들에 있는 메서드들을 가져온다.

  • Monster


-> 몬스터는 캐릭터와 차별을 두기 위해 아이템줍기인 pickup을 빼놓았다.

-> Character를 유저로 할당하였다.

-> 출력된 것을 보면 유저는 몬스터와 다르게 아이템줍기가 있는 것을 확인 할 수 있다.

0개의 댓글