Notice
Recent Posts
Recent Comments
Link
투케이2K
67. (kotlin/코틀린) companion object const val 사용해 static final 데이터 및 메소드 정의 , 호출 실시 본문
Kotlin
67. (kotlin/코틀린) companion object const val 사용해 static final 데이터 및 메소드 정의 , 호출 실시
투케이2K 2022. 9. 26. 14:13[개발 환경 설정]
개발 툴 : AndroidStudio
개발 언어 : Kotlin
[소스 코드]
// TODO [테스트 메소드 정의 실시]
fun testMain(){
Log.i("---","---")
Log.d("//===========//","================================================")
Log.i("","\n"+"[Test_Kotlin > testMain() 메소드 : 테스트 함수 동작 실시]")
Log.d("//===========//","================================================")
Log.i("---","---")
/**
* ------------------------------------
* TODO [요약 설명]
* ------------------------------------
* 1. const val : 상수를 의미합니다. (java >> final)
* ------------------------------------
* 2. companion object : 별다른 정의 없이 싱글톤 (singleton) 구현을 지원해줍니다. (java >> static)
* ------------------------------------
* */
// [로직 처리 실시]
try{
// ------------------------------------
// [static final 상수 호출 실시]
Log.d("---","---")
Log.w("//===========//","================================================")
Log.d("","\n"+"[S_FinalData > testMain() 메소드 : static final 상수 데이터 확인]")
Log.d("","\n"+"[MSG_TYPE_1 : "+S_FinalData.MSG_TYPE_1+"]")
Log.d("","\n"+"[MSG_TYPE_2 : "+S_FinalData.MSG_TYPE_2+"]")
Log.w("//===========//","================================================")
Log.d("---","---")
// ------------------------------------
// ------------------------------------
// [static 메소드 호출 실시]
S_FinalData.staticMethod()
// ------------------------------------
// ------------------------------------
// [인스턴스 메소드 호출 실시]
S_FinalData().instanceMethod()
// ------------------------------------
}
catch(e : Exception){
Log.i("---","---")
Log.e("//===========//","================================================")
Log.i("","\n"+"[Test_Kotlin > testMain() 메소드 : 에러 상황 발생]")
Log.i("","\n"+"[error : "+e.message+"]")
Log.e("//===========//","================================================")
Log.i("---","---")
}
}
// TODO [내부 클래스 정의 실시]
class S_FinalData {
// TODO [companion object >> static 선언 실시]
companion object {
// [TODO const val >> final 상수 선언 실시]
const val MSG_TYPE_1 = 1
const val MSG_TYPE_2 = 2
// [TODO static >> 메소드 정의 실시]
fun staticMethod(){
Log.d("---","---")
Log.w("//===========//","================================================")
Log.d("","\n"+"[S_FinalData > staticMethod() 메소드 : static >> 메소드 동작]")
Log.w("//===========//","================================================")
Log.d("---","---")
}
}
// TODO [인스턴스 생성 >> 메소드 정의 실시]
fun instanceMethod(){
Log.d("---","---")
Log.d("//===========//","================================================")
Log.d("","\n"+"[S_FinalData > instanceMethod() 메소드 : 인스턴스 생성 >> 메소드 동작]")
Log.d("//===========//","================================================")
Log.d("---","---")
}
}
[결과 출력]
반응형
'Kotlin' 카테고리의 다른 글
Comments