인터페이스(interface)
- 사전적 정의로는 사물 간 또는 사물과 인간 간의 의사소통이 가능하도록 일시적 혹은 영속적인 접근을 목적으로 만들어진 물리적, 가상적 매개체를 의미
- 어떤 객체가 제공하는 기능을 정의하는 추상적인 개념으로 해당 객체가 어떤 메소드, 속성을 제공하고 있는 지를 명시적으로 나타냄
- 인터페이스를 사용함으로 코드의 유연성이 높아짐
- 결국 어떤 것들을 이어주는 다리 역할을 해주는 것으로 쉽게 얘기하면, 방의 불을 키기 위한 스위치같은 느낌
- 위의 예제에서 'Shape' 인터페이스는 'calculateArea'와 'draw'라는 두개의 추상 메소드를 정의하고 있음
- 위의 예제에서 'Circle' 클래스는 'Shape' 인터페이스를 구현하고 있음
- 'calculateArea'와 'draw' 메소드는 구체적으로 구현해야함
- 위의 'Main' 클래스에서는 'Shape' 인터페이스를 구현한 'Circle' 클래스의 객체를 생성하고, 인터페이스를 통해 메서드를 호출하는 예제임
- 이렇게 함으로써 다양한 도형 클래스를 만들어도 공통된 인터페이스를 통해 사용할 수 있음.
반응형