class(클래스)는 객체 지향 프로그래밍(Object Oriented Programming)의 개념에서 나온 것이다.
class(클래스)는 독립적으로 실행하는 틀을 제공한다.
참고: class(클래스)와 object(오브젝트) : https://fiftiesstudy.tistory.com/62
class(클래스)는 변수와 함수를 가지고 있다.
그 변수와 함수로 object(객체)를 만들 수 있다.
이렇게 만든 객체를 instance(인스턴스)라고 한다.
Object (오브젝트)
클래스에 객체를 여러 개 만들 수 있도록 허용하지만 만약 singleton(싱글톤)이 필요하다면 class 대신 키워드 object를 사용하여 선언할 수 있다. singleton은 instance를 한 개만 가지는 클래스이다.
로봇을 만드는 공장이 있다고 하자.
이 공장에는 파워별로 로봇을 만든다.
그리고 만든 로봇의 리스트를 가지고 있다.
이것을 object로 만들면 다음과 같다.
Companion objects (컴패년 오브젝트)
companion object는 클래스 안에 '친구 또는 동반자 객체'를 만들 때 사용한다.
companion object는 singleton이다.
이렇게 만들면 클래스 이름을 통해서 companion object의 멤버에 직접 접근할 수 있다.
추가로 companion object 이름을 적어서 '친구 객체'에 접근하는 것을 표시할 수도 있다.
또한 companion object로 만들면 코드를 시작한 후 바로 고정된(static) 메모리를 확보할 수 있다.
앞에서 만든 object를 companion object로 바꾸면 다음과 같이 표현할 수 있다.
Wraven...
'안드로이드앱 코딩_AndroidApp > 안스_코틀린_쪼개기' 카테고리의 다른 글
파편19_android studio_프로젝트 복사본 만드는 법 (0) | 2020.07.10 |
---|---|
파편18_Gradle (0) | 2020.07.07 |
파편16_들여쓰기 탭 수정하는 법 (0) | 2020.07.06 |
파편15_component_컴퍼넌트 (0) | 2020.07.06 |
파편14_ConstraintLayout_Chaining (0) | 2020.07.04 |