본문 바로가기
자바의 봄(Spring)/자바와 스프링 공부하기

[JAVA] JAVA의 인터페이스란?

by 종안이 2022. 12. 8.

인터페이스란 간단하게 말해서 서로 간에 지키는 약속이라고 말 할 수 있겠다.

 

두 사람이 대화를 나누는데

한명은 한국사람이고 다른 한명은 미국 사람이면 

 

서로 언어가 달라서 이해하기 어렵다.

그렇기 때문에 우리가 어떤 규칙을 정해놓고 이야기를 하자는 것이 

인터페이스라고 할 수 있겠다.

 

조금 더 구체적으로 설명하자면 

인터페이스에 정해져있는 메소드를 통해서만 

통신을 하겠다 라고 보면 되겠다.

 

그렇다면 인터페이스는 어떤 특징을 가지고 있을까?

 

1. 인터페이스는 추상 메서드와 상수만을 가질 수 있다.

다른 클래스에서 인터페이스를 통해 메서드를 구현하여 사용한다. (상속이 아닌 구현 Implements)

추상 클래스는 멤버 변수나 일반 메서드 , 추상 메서드 등을 가질 수 있지만 

인터페이스는 오로지 추상 메서드와 상수만을 가질 수 있다.

 


public interface UserService {

    List<User> findEveryUser();

    Page<User> pageUser(int number);

    List<Role> findEveryRole();

    void deleteUser(Integer id);

    User saveUser(User user);

    User getUser(Integer id);

}

위의 코드 특징은 메소드의 Body가 존재하지 않는다.

추상 메소드로만 이루어져 있다.

 

 

2. 인터페이스에 구현되는 메서드의 접근자는 Public만 가능하다.

인터페이스는 외부와의 통신을 목적으로 만들어졌기 때문에 ,

접근 제어자를 생략한다고 해도 항상 Public으로 정해져 있다. (Public,Default,Protected,Private)

 

3. 인터페이스를 구현하는 클래스는 모든 메서드를 재정의 하여야 한다.

그렇지 않으면 인터페이스를 구현한 클래스는 추상 클래스로 선언되어야 한다.

 

 

https://baek-kim-dev.site/57 서블릿 컨테이너에 대해서 알아볼 내용

댓글