brunch

You can make anything
by writing

C.S.Lewis

by 서준수 Dec 05. 2017

코틀린(Kotlin) 클래스 선언 방법 #1

빠르게 살펴보기

코틀린의 클래스 선언 기본형태              


 class 클래스명 constructor(변수) { }

또는 

 class 클래스명(변수) { }


Java와 비교해보면            


 class 클래스명 {

   클래스명(변수) {

   }

}


다중 생성자

Java


 class Person {

   private String name;

   private int age;


   Person(String name) {

    this.name = name;

   }


   Person(String name, int age) {

    this.name = name;  // 또는 this(name)

    this.age = age;

   }

}


 (Java에서 위와 같이 생성자를 선언하면 기본 생성자가 자동으로 생성되지 않기 때문에 명시적으로 선언하는 것이 좋습니다.)


코틀린


// primary constructor는 constructor 생략 가능

class Person constructor(val name: String, val age: Int) {

    // secondary constructor는 constructor 생략 불가능

    constructor(name: String) : this(name, 0)

}



default 값을 가지는 생성자와 생성자 매개변수명을 활용


fun main() {
    var person = Person(age = 25)
    print("name : ${person.name}, age : ${person.age}")
}

class Person(var name: String = "Jane", var age: Int)


위 코드를 보면 생성자에서 name을 Jane으로 지정했습니다. 이때 Person 클래스 생성시 age의 값만 명시하여도 name이 Jane으로 초기화 됩니다. 물론 age는 25로 초기화 됩니다.

 Java에서의 기본 생성자 형태인 Person() { }와 다른 개념입니다. Java에서 해당 Person 클래스를 사용하려면 name과 age 모두 선언해주셔야 합니다.

이전 02화 코틀린(Kotlin) 변수 선언 방법
brunch book
$magazine.title

현재 글은 이 브런치북에
소속되어 있습니다.

작품 선택

키워드 선택 0 / 3 0

댓글여부

afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari