Notice
Recent Posts
Recent Comments
Link
투케이2K
66. (TWOK/ALGORITHM) [Kotlin] 패턴 - 싱글톤 패턴 생성 및 사용 예시 본문
[환경 설정 및 설명]
언 어 : Kotlin
설 명 : 패턴 - 싱글톤 패턴 생성 및 사용 예시
[요약 설명]
/**
* ------------------------------------
* TODO [요약 설명]
* ------------------------------------
* 1. companion object : 별다른 정의 없이 싱글톤 (singleton) 구현을 지원해줍니다. (java >> static)
* ------------------------------------
* 2. 싱글톤 형태 static 메소드 변수를 사용하기 위해서는 companion object 내에 선언해주시면됩니다
* ------------------------------------
* */
[소스 코드]
// TODO [테스트 메소드 정의 실시]
fun testMain(){
Log.i("---","---")
Log.d("//===========//","================================================")
Log.i("","\n"+"[Test_Kotlin > testMain() 메소드 : 테스트 함수 동작 실시]")
Log.d("//===========//","================================================")
Log.i("---","---")
/**
* ------------------------------------
* TODO [요약 설명]
* ------------------------------------
* 1. companion object : 별다른 정의 없이 싱글톤 (singleton) 구현을 지원해줍니다. (java >> static)
* ------------------------------------
* 2. 싱글톤 형태 static 메소드 변수를 사용하기 위해서는 companion object 내에 선언해주시면됩니다
* ------------------------------------
* */
try{
// ------------------------------------
// [초기 변수 및 객체 선언]
val userName = S_FinalData.USER_NAME
// ------------------------------------
// [로직 처리 실시]
S_FinalData.printName()
// ------------------------------------
// [로그 결과 출력 실시]
Log.i("---","---")
Log.w("//===========//","================================================")
Log.i("","\n"+"[Test_Kotlin > testMain() 메소드 : 로그 결과 출력 실시]")
Log.i("","\n"+"[userName : "+ userName +"]")
Log.w("//===========//","================================================")
Log.i("---","---")
// ------------------------------------
}
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 USER_NAME = "투케이2K"
// [TODO static >> 메소드 정의 실시]
fun printName(){
Log.d("---","---")
Log.w("//===========//","================================================")
Log.d("","\n"+"[S_FinalData > printName() 메소드 : 유저 이름 출력 실시]")
Log.d("","\n"+"[USER_NAME : "+USER_NAME+"]")
Log.w("//===========//","================================================")
Log.d("---","---")
}
}
}
[참고 사이트]
반응형
'투케이2K 알고리즘' 카테고리의 다른 글
Comments