kotlin-이론
[kotlin]Class
sang_hoony
2018. 6. 15. 16:54
Class
class 선언하기
클래스는 class 키워드로 선언한다
1. 클래스 이름
2. 클래스 헤터(매개 변수, 기본 생성자)
3.클래스 body(중괄호{})
class Invoice { }
헤더와 바디는 옵션이고, 바디가 없으면 {} 생략가능하다.
class Empty
기본생성자
-클래스 별로 1개만 가질 수 있음
-클래스 헤더의 일부
-클래스 이름 뒤에 작성
class Invoice constructor(name:String){ }
위와 같이 기본생성자를 만들 수 있다. 그리고
어노테이션이나 접근지정자가 없을 때는, 기본생성자의 constructor 키워드를 생략가능하다.
class Invoice (name:String){ }class Customer public @Inject constructor(name:String){}으로 사용할 때는 constroctor생략 불가
기본생성자-초기화
기본생성자는 초기화 블럭안에서만 코드를 가질 수 있다.
초기화 블럭은
init {
} 형태로 만들어 줄 수 있다.
보조 생성자
클래스 별로 여러 개를 가질 수 있음
constructor 키워드로 선언
- 클래스가 기본생성자를 가지고 있다면 , 각각의 보조 생성자들은 기본생성자를 직접 OR 간접적으로 위임 해주어야한다.
-this를 이용해서 위임해줄 수 있다.
class test3 constructor(name:String){ constructor(name:String, parent:test3):this(name){ //기본생성자를 직접 위임해주고 있다. } constructor():this("홍길동", test3()){ //기본생성자를 간접적으로 위임해주고 있다. 이곳의 this는 바로 위의 constructor를 가리키고 있다. } }