더북(TheBook)

4.4 인터페이스

인터페이스(interface)의 역할은 객체의 동작을 표현하는 것이다. 인터페이스가 표현한 대로 동작하는 객체는 인터페이스로 사용할 수 있다. 인터페이스는 각 타입이 실제로 내부에 어떻게 구현되어 있는지는 말하지 않고, 단순히 동작 방식만 표현한다.

인터페이스의 이러한 특징은 추상 메커니즘을 제공한다. 함수나 메서드의 매개변수로 인터페이스를 사용하는 것은 ‘값의 타입이 무엇인지’보다 오직 ‘값이 무엇을 할 수 있는지’에만 집중하게 해준다.

Go의 인터페이스는 덕 타이핑 방식을 채택했다. 덕 타이핑 방식은 객체의 변수나 메서드의 집합이 객체의 타입을 결정한다. 즉, 인터페이스에 걸맞은 요소(메서드)를 가진 타입은 인터페이스로 사용할 수 있다. 인터페이스의 이러한 특징 덕에 정적 타입 언어인 Go를 유연하게 사용할 수 있다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.