Kotlin
[Kotlin] "companion object of enum class is uninitialized" 이슈 해결
[Kotlin] "companion object of enum class is uninitialized" 이슈 해결
2022.07.29실무에서 자바 to 코틀린 변환 작업을 하면서 자바 enum class를 코틀린으로 변환하는 과정에서 있었던 이슈 하나를 기록해보고자 합니다. 📌 1. Java Enum static method public enum HelloJavaStrategy { KOREAN(convertLang(Locale.KOREAN)), ENGLISH(convertLang(Locale.ENGLISH)), JAPANESE(convertLang(Locale.JAPANESE)); private final String hello; HelloJavaStrategy(String hello) { this.hello = hello; } public String getHello() { return hello; } private static S..
[Kotlin] Java 코드를 가져올 때 nullable 주의점
[Kotlin] Java 코드를 가져올 때 nullable 주의점
2022.02.16Java 코드로 작성된 클래스를 Kotlin으로 Converting하는 작업에서 중요한 부분이 전환하려는 클래스와 여러 형태로 연결된 기존 Java 클래스들을 고려해야 한다는 점입니다. 특히 Kotlin에서는 Java와 다르게 컴파일 단계에서 null 처리를 할 수 있다는 점입니다. 그래서 Kotlin 코드로 작성된 클래스에서 Java로 된 클래스를 사용할 때 Java 클래스를 신뢰해서는 안된다는 점이 중요합니다. 📌 1. Java 클래스를 인자로 받을 때 // Module: Java class fun processExample(module: Module) { // ... module.sendAnything(anything) // ... } 예를 들어 코틀린으로 이루어진 클래스에서 Java 코드로 된 클..
[Kotlin] 주생성자 내 private 필드 설정
[Kotlin] 주생성자 내 private 필드 설정
2021.12.16Kotlin에서 주생성자 인터페이스 구현시 getter override 중복 상황 정리 📌 1. Kotlin에서 주생성자 코틀린은 자바와 다르게 주생성자, 부생성자라는 개념이 있습니다. class User(val nickname: String) 코틀린으로 User 클래스를 만들었습니다. 해당 클래스의 프로퍼티는 nickname 하나뿐입니다. 위 코드처럼 코틀린에서 클래스 이름 뒤에 오는 괄호로 둘러싸인 코드를 주생성자(primary constructor)라고 말합니다. User 클래스를 코틀린에서 자바 코드로 변환을 하면 다음과 같이 나옵니다. public final class User { private final String nickname; public final String getNickname()..