프로그래밍 언어/Go
Go Interface 사용법
65살까지 코딩
2023. 2. 20. 22:37
728x90
반응형
Go를 공부하다가 Interface를 사용하는게 신기해서 아주 간단한 예를 들어 정리하고자한다.
먼저 신기한 이유는 인터페이스를 구현할 때 다른 언어와 달리 implemnt와 같은 명시를 안해줘도 된다.
명시하지 않아도 내재적으로 상속한다고 보기때문이다.
코드를 보면 납득이 될 것이다.
package main
import "fmt"
type Book struct {
title string
author string
copyRight string
}
func (b Book) String() string {
return fmt.Sprintf("제목은 %s 작가는 %s 저작권은 %s", b.title, b.author, b.copyRight)
}
func print() {
fmt.Println(Book{"자바의 정석", "남궁성", "도우출판"})
}
//실행결과 : 제목은 자바의 정석 작가는 남궁성 저작권은 도우출판
내부적으로 구현되어 Book 구조체가 String 함수를 사용할 때 구현체가 사용된다.
728x90
반응형