( •̀ ω •́ )✧

인터페이스의 이해 본문

✏️ 노트/java

인터페이스의 이해

키루루 2023. 11. 1. 23:56

※ 본 내용은 강의를 수강하며 정리한 글입니다 👉 강의 링크


인터페이스는 무엇인가?

  • 어떤 것, 어떤 장소, 어떤 시간에 접근하고자 하지만 일반적인 방법으로는 접근할 수 없다.
  • 접근할 수 있는 도구나 방법이 있다면 그것을 ‘인터페이스’라고 한다.
  • 쉽게 생각하면, 인터스텔라에서 다른 우주에 접근하기 위한 도구로 웜홀이 있는데, 그것을 인터페이스로 볼 수 있다.
  • 프로그래밍에서는 코드의 분리를 위해 고안된 개념이다.

가령, 배터리 분리형 스마트폰을 상상해보자.

💡 배터리를 분리하는 이유는 무엇일까?

  1. 하나의 스마트폰에 다양한 업체의 배터리를 교체하기 위해
  2. 하나의 배터리를 다양한 업체의 스마트폰에 호환하기 위해

아무튼 스마트폰 제조 상황과 배터리 제조 상황을 분리하여 진행하기 위함이라 생각하자.

그렇다면,

💡배터리 분리를 위해서는 어떤 부분을 고민해야 할까?

  1. 결합했을 때, 스마트폰과 호환될 수 있는 ‘접점’이 필요하다.
  2. 이 접점에는 스마트폰 업체와 배터리 업체의 어떠한 규약이 필요할 것이다.
interface Battery{
    int getEnergy();
    Boolean checkVolt(...);
}

‘규약’에 해당. 어떤 Battery Class가 오든 위와 같은 기능을 갖고 있어야 한다.

 

배터리가 없는 상태에서, 스마트폰은 미리 배터리가 있는 상황을 가정하여 ‘규약’과, 이 규약을 기반으로 ‘기능’을 구현해놓는다.

 

인터페이스를 상속하여(implements) 구현한 배터리 객체를 set한다.

이 객체는 정해진 ‘규약’을 모두 구현해야 한다.


정리

결국, ‘스마트폰’에서는 인터페이스라는 규약을 통해 구현된 객체(배터리)를 사용할 수 있게 되는 것

인터페이스란 분리되어 있는 객체를 사용할 수 있게 해주는 약속이다.

Comments