본문 바로가기

인문학도 개발일지/앱프로그래밍

[코틀린kotlin] 기초 문법 - class, data class

참고 강의: https://youtu.be/Zr9zLEB3mtU?list=PLva6rQOdsvQU7QJIg2RHM9wcT11X1S0pj

package com.example.KotlinBasic

fun main() {
    //class: 유사 기능(함수)들의 집합체(객체)

    //1. class - 자동차(시동, 운전), 사람(밥먹는다, 물마신다, 걷는다)
    //2. data class - 데이터를 set, get하는 것을 편리하게

    //1. 코딩
    //2. 호출

    var cls = HelloClass()
    var cls2 = HelloClass(10)
    println(cls2.age)    //get

    var person = Person(30, "Jay")
    println(person.name)
    
    //컬렉션 심화 (배열)
}

class HelloClass {
    //init: 클래스 초기화, 값을 넘길 수 없다.
    var age: Int = 0
//    init {
//        age = 0
//    }
    //생성자
    constructor()    //기본생성자: 생성자 안에서 값 변경은 가능 but 값을 "넘겨서" 초기화를 할 수 없다.
    constructor(age: Int) {    //set
        this.age = age    //이 class에 있는 age 값을 입력한 age 값으로 넘겨준다.
    }    //보조생성자: 값을 넘기면서 초기화 가능
}

data class Person(var age:Int, val name:String)

※ 보조 생성자를 사용하게 되면 기본 생성자를 수동으로 코딩해야 한다.