오늘은 간단한 예제를 통해 Companin Object에 대해 자세히 알아보겠습니다.
간단한 예제
전체 코드 구성 : Main 함수와 TestClass라는 클래스가 존재함.
TestClass에는 변수 2개(compVariable, normVariable) 가 선언되어 있습니다.
하나(compVariable)는 컴패니언 오브젝트에 의해 감싸져 있고, 하나(normVariable)는 그냥 선언되어 있습니다.
위 클래스에서 각기 다른 방식으로 선언된 변수들을 사용하기 위해선 각각 그 사용법이 다릅니다.
클래스 내부에서 컴패니언 오브젝트로 감싸서 선언한 변수(compVariable)는 전역변수처럼 그냥 사용할 수 있습니다.
반면, 클래스 내부에 그냥 선언된 변수는 해당 클래스를 인스턴스화한 객체를 통해서만 접근할 수 있습니다.
왜 이런 사용 방법에 차이가 있는 것일까요? 그 이유는 바로 컴파일 시에 각각 필요한 영역들을 할당받게 되는데, Companion Object 로 선언한 변수는 클래스 영역에 위치하고 그냥 선언된 변수는 클래스 내부에 위치하기 때문입니다.
'Android on Kotlin' 카테고리의 다른 글
[코틀린/Kotlin] ?(물음표) 와 !!(느낌표 2개) 차이점 (1) | 2022.01.20 |
---|---|
[Android Studio/코틀린] 프로젝트 저장 폴더에서 우클릭으로 프로젝트 바로 여는 방법 (0) | 2022.01.07 |
[Android Studio] 프로그램 저장 경로 찾는 방법 (0) | 2022.01.07 |