클래스 3

인터페이스와 클래스의 독립 파일 여부

일반적으로, 관련된 클래스와 인터페이스는 같은 파일에 위치하는 것이 좋습니다. 그러나, 이들이 매우 크거나 복잡한 경우에는 각각 별도의 파일로 분리하는 것이 좋을 수 있습니다.  UiData, GroupsUiData, TagsUiData와 같은 클래스는 UI 상태를 나타내는 데이터 모델이므로, 이들은 일반적으로 UI 로직을 담당하는 파일에 위치합니다. 그러나 이들이 여러 곳에서 공유되는 경우에는 별도의 파일로 분리하여 재사용성을 높일 수 있습니다.  ClassificationUiState, GroupsUiState, TagsUiState와 같은 sealed 인터페이스는 각각의 UI 상태를 나타내므로, 이들은 각각의 UI 로직을 담당하는 파일에 위치하는 것이 일반적입니다.   따라서, 이러한 클래스와 인터..

코틀린 생성자와 위임

주 생성자와 부 생성자 2가지로 나뉘며, 주 생성자는 클래스 선언 시 가시성 접근자(없으면 클래스 명) 뒤에 선언한다. class Car private constructor(_name: String) 자바는 부 생성자 처럼 클래스 내부에 선언 한다 private class Car { class(String name) } 부 생성자는 클래스 내부에서 파라미터를 달리하여 만든다. class Car private constructor(_name: String) { constructor(value: Int)} 클래스 생성 시 생성자를 정의하지 않으면 컴파일러는 인자가 없는 디폴트 생성자를 만든다 주 생성자 class Car constructor(_name: String){ val name : String ini..

[로그 자동화] 안드로이드 디버그 팁

클래스 마다 태그를 넣고 쓰지 말고, 한 곳에서 로그를 관리하도록 하면 편하다. 아래 처럼 Log 클래스를 따로 만들고 필요 한 곳에서 LOG_TAG 함수를 부르면 알아서 클래스 명까지 딱 찍어준다. public static String LOG_TAG = ""; public static String LOG_TAG(Context context){ LOG_TAG = ""; return LOG_TAG = "[" + context.getClass().getSimpleName() + "] "; } 그리고, 디버그 모드 일때만 사용하도록 자동화 시켜 놓자. public static final boolean LOGIF = BuildConfig.DEBUG ? true : false; 결국 이렇게 불러서 쓰면 if(Lo..

반응형