Go interface는 메서드 시그니처 집합을 정의합니다 — 동작에 대한 계약입니다. 결정적으로, interface는 암묵적으로 충족됩니다: 그 메서드들을 가진 모든 타입이 자동으로 interface를 충족하며, 명시적 "implements" 선언이 없습니다. 이 구조적, 덕 타이핑(duck-typing) 접근은 독특하고 강력합니다.
interface 정의와 암묵적 구현
Speaker {
Speak()
}
Dog {}
Speak() { }
Cat {}
Speak() { }
s Speaker = Dog{}
s.Speak()
