🔥 이름 내보내기
196자
3분
Go 언어에서는 이름이 대문자로 시작하면 그 이름을 내보냅니다. 예를 들어, Pizza
는 내보내는 이름이고, math
패키지에서 내보내는 Pi
도 마찬가지입니다.
반면에 pizza
와 pi
는 대문자로 시작하지 않으므로 내보내지 않습니다.
패키지를 가져올 때는 내보낸 이름만 참조할 수 있습니다. "내보내지 않은" 이름은 패키지 외부에서 접근할 수 없습니다.
아래 코드를 실행해 보세요. 오류 메시지를 주목해 보시기 바랍니다.
package main import ( "fmt" "math" ) func main() { fmt.Println(math.pi) // math 패키지에서 pi는 내보내지 않은 이름입니다. }
go
오류를 수정하려면 math.pi
를 math.Pi
로 이름을 바꾸고 다시 시도해 보세요.
package main import ( "fmt" "math" ) func main() { fmt.Println(math.Pi) // math 패키지에서 내보낸 Pi 상수를 사용합니다. }
go
이제 코드가 정상적으로 실행되는 것을 확인할 수 있습니다.
Go 언어에서 이름 내보내기 규칙을 정리해 보면 다음과 같습니다.
- 이름이 대문자로 시작하면 그 이름은 내보냅니다.
- 이름이 소문자로 시작하면 그 이름은 내보내지 않습니다.
- 패키지를 가져올 때는 내보낸 이름만 참조할 수 있습니다.
- 내보내지 않은 이름은 패키지 외부에서 접근할 수 없습니다.
이 규칙을 명심하면 패키지를 설계할 때 어떤 이름을 외부로 공개할지 쉽게 결정할 수 있겠죠?
위 다이어그램은 패키지 내에서 내보낸 이름과 내보내지 않은 이름의 접근 가능 범위를 보여줍니다. 내보낸 이름은 패키지 외부에서 접근 가능하지만, 내보내지 않은 이름은 패키지 외부에서 접근할 수 없습니다.