[Java] 인터페이스(Interface)

myeonghyun·2022년 8월 25일
0

인터페이스(Interface) 란

자바 프로그래밍 언어에서 Class 들이 구현해야하는 동작을 지정하는데 사용되는 추상 자료형

사용방법

[visibility] interface InterfaceName [extends other interfaces] {
		constant declarations
		abstract method declarations
}

ex) public interface Interface1 extends Interface2;

  • 인터페이스의 body는 abstract method를 포함하고 있지만 인터페이스 내부의 모든 method들이 추상적이기에 abstract keyword를 필요로 하지 않는다. 이는 인터페이스의 모든 method들은 암묵적으로 public임을 암시한다.

클래스에서의 인터페이스 구현

public class Lion implements Predator {
		@Overide
        public boolean chasePrey(prey p) {
        }
       
       	@Overide
        public void eatPrey(prey p) {
     }
}
  • 위의 경우와는 다르게 method들을 모두 구현하지 않는다고 가정할 시엔, abstract keyword를 사용해주어야 한다. 즉, abstract class의 sub-class들 중 어느 것도 인터페이스 메소드를 모두 구현하지 않느다고 하더라도 sub-class는 반드시 abstract keyword를 사용해 나타내어야한다.

서브인터페이스

  • Interface들은 아래와 같이 여러 Interface들을 확장할 수 있다.
public interface VenomousPredator extends Predator, Venomous {
		//interface body
        }

** 인터페이스 부분은 처음 접하는 개념이라 시간이 될 때, 더 자세하게 다루도록 하겠다.

profile
while(1)

1개의 댓글

comment-user-thumbnail
2022년 8월 30일

대박

답글 달기