투케이2K

283. (kotlin/코틀린) apply 사용해 class properties 클래스 객체 프로퍼티 속성 지정 실시 본문

Kotlin

283. (kotlin/코틀린) apply 사용해 class properties 클래스 객체 프로퍼티 속성 지정 실시

투케이2K 2023. 5. 3. 19:39

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Kotlin

 

[소스 코드]

[data class 파일]

package com.example.kotlinproject

data class M_User (

    // [변수 선언 실시]
    var name: String = "",
    var age: Int = 0,
    var sex: Boolean = false

)




[kotlin 파일]

        // -------------------------------------
        // [로직 처리 실시]
        // -------------------------------------
        try {

            /**
             * ---------------------------------
             * [요약 설명]
             * ---------------------------------
             * 1. apply 는 객체 내부 프로퍼티 속성을 변경할 때 사용되는 함수 입니다
             * ---------------------------------
             * 2. apply 사용 시 수신 객체에 대한 명시를 생략하는 것이 가능하며, 간단히 프로퍼티 속성을 변경할 수 있습니다
             * ---------------------------------
             * */


            // [apply 적용 >> 객체 생성 및 프로퍼티 속성 지정]
            val apply_user = M_User().apply {
                name = "투케이"
                age = 30
                sex = true
            }
            S_Log._D_("apply_user", arrayOf(Gson().toJson(apply_user)))


            // [일반 >> 객체 생성 및 프로퍼티 속성 지정]
            val normal_user = M_User()
            normal_user.name = "TWOK"
            normal_user.age = 30
            normal_user.sex = true
            S_Log._D_("normal_user", arrayOf(Gson().toJson(apply_user)))
        }
        catch (e : Exception) {
            e.printStackTrace()
        }
 

[결과 출력]

 

D///===========//: ================================================
I/: [LOG :: CLASS PLACE :: com.example.kotlinproject.A_Intro.onCreate(A_Intro.kt:99)]
I/: ----------------------------------------------------
I/: [LOG :: DESCRIPTION :: apply_user]
I/: ----------------------------------------------------
I/: [LOG :: {"age":30,"name":"투케이","sex":true}]
D///===========//: ================================================


D///===========//: ================================================
I/: [LOG :: CLASS PLACE :: com.example.kotlinproject.A_Intro.onCreate(A_Intro.kt:107)]
I/: ----------------------------------------------------
I/: [LOG :: DESCRIPTION :: normal_user]
I/: ----------------------------------------------------
I/: [LOG :: {"age":30,"name":"TWOK","sex":true}]
D///===========//: ================================================

 

반응형
Comments