내용 보기

작성자

관리자 (IP : 172.17.0.1)

날짜

2020-07-09 05:59

제목

[Kotlin] 코틀린 기초 04 - 클래스


  • 클래스

코틀린 클래스에는 주 생성자와 보조 생성자가 있다. 주 생성자는 무조건 하나만
존재 해야 하며, 보조 생성자는 여러 개 존재 할 수 있다.

1
2
3
4
// 주 생성자 선언 클래스
class User1(val name: String, age: Int) {  // 주 생성자 변수는 val또는 var로 선언할 수 있다.
    //
}
cs

주 생성자의 매개변수 name과 age는 해당 클래스 내에서 사용이 가능하다.


1
2
3
4
5
6
// 보조 생성자로 선언 클래스
class User2 {
    constructor(name:String, age: Int) {  // 보조 생성자의 변수는 val또는 var예약어를 사용할 수 없다.
        //
    }
}
cs

보조 생성자의 매개변수 name과 age는
보조 생성자 블록 안에서만 사용 가능하고, 그 외 블록에서는 사용 불가능 하다. 그래서 클래스 프로퍼티에 대입한 후 이용해야 한다.


1
2
3
4
5
6
// 주 생성자와 보조 생성자와 동시 선언 클래스
class User1(name: String) {
    constructor(name:String, age: Int): this(name) {
        //
    }
}
cs

1
2
3
4
5
6
7
// 생성자 오버로딩
class User4 {
    constructor() { }
    constructor(name:String) { }
 
    constructor(name:String, age: Int) { }
}
cs

1
2
3
4
// 클래스 인스턴스 생성
val user5 = User4();
val user6 = User4(“test”);
val user7 = User4(“test”, 10);
cs

보조 생성자의 초기화 블록

1
2
3
4
5
6
7
8
9
class User5 {
    init{
        println("I am init block"); // 가장 먼저 실행
    }
 
    constructor() {
        println("I am constructor"); // 초기화 블록 이후 실행
    }
}
cs


출처1

출처2