인터페이스

최지혜·2022년 10월 6일
0

java

목록 보기
1/33

1. 개념

(규제적 측면)
객체가 특정한 인터페이스를 사용한다면
객체는 반드시 인터페이스의 메소드들을 구현

interface I{
  public coid z();
}

중괄호가 없는 클래스!

class A implements I{
  public void z(){}
}

구현! 인터페이스의 클래스를 구체적으로 구현해야 함!

클래스 A는 인터페이스 I를 구현한다.

2. 실질적인 효용

  • 서로 약속, 합의

  • 어떤 클래스가 어떠한 메서드와 멤버를 가지고 있는가에 대한 명세서!

  • 구현하고 있는 클래스들은 명세서에 정해있는 대로 구체적으로 구현해야만 컴파일 됨!

  • 대상 시스템을 제어하는 장치들 (접근 제어자는 반드시 public 이어야 함!)

  • 하나의 클래스는 여러개의 인터페이스를 구현할 수 있다.

class A implenents I1, I2{
  public void x(){}
  public void z(){}
}

3. abstract vs interface

  • abstract클래스를 하위클래스가 상속받아서 사용한다 외에는 일반적인 클래스와 동일! - 오버라이드할 것으로 기대되는 비어있는 메소드가 있음, 실제 구현 메소드가 존재할 수도 있음.

  • interface: 구체적인 로직을 포함하는 메소드를 가질 수 없다!

profile
매일 성장하는 개발자

0개의 댓글