객체지향을 위한 클래스의 기본구조를 알아보자.
코틀린의 자료형들도 클래스이다.
class Person(var name:String, val birthYear:Int)
모두 Person이라는 클래스로 만들 수 있다.
박보영 인스턴스를 만들어보자.
변수를 선언한 후, 할당 연산자를 쓰고 클래스의 이름을 적은 후 클래스 선언 시 적은 속성을 순서대로 적으면 된다.
fun main() {
var a = Person("박보영", 1990)
var b = Person("전정국", 1997)
var c = Person("장원영", 2004)
println("안녕하세요, ${a.birthYear}년생 ${a.name}입니다.")
}
class Person(var name:String, val birthYear:Int)
// 결과
안녕하세요, 1990년생 박보영입니다.
fun main() {
var a = Person("박보영", 1990)
var b = Person("전정국", 1997)
var c = Person("장원영", 2004)
a.introduce()
b.introduce()
c.introduce()
}
class Person(var name:String, val birthYear:Int) {
fun introduce() {
println("안녕하세요, ${birthYear}년생 ${name}입니다.")
}
}
코틀린은 객체 지향의 언어를 기반으로 함수형 언어의 장점을 흡수한 실용적인 언어이다.