더북(TheBook)

2.6 가시성

코틀린의 가시성(visibility)은 자바와 약간 다르다. 함수와 프로퍼티를 클래스 내부는 물론 패키지 수준에서도 정의할 수 있다. 패키지 수준에서 정의한 모든 대상은 기본적으로 공개(public) 가시성이다. 어떤 대상이 비공개(private)라면 같은 파일 안에서만 이 대상을 볼 수 있다.

대상을 내부(internal) 가시성으로 선언할 수도 있다. 내부 가시성은 같은 모듈 안에서만 볼 수 있다는 뜻이다. 모듈(module)은 한꺼번에 컴파일되는 파일 묶음을 뜻한다. 모듈 종류는 다음과 같다.

메이븐(Maven) 프로젝트

그레이들(Gradle) 소스 세트(source set)

인텔리J(IntelliJ IDEA) 프로젝트

이클립스(Eclipse) 프로젝트

단일 앤트(Ant) 태스크에 의해 컴파일되는 파일들

 

모듈은 한 JAR 파일에 들어간다. 모듈 안에는 여러 패키지가 들어갈 수 있고, 여러 패키지가 여러 모듈에 나눠 포함될 수도 있다.

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