Kotlin의 장점
💡 생성자를 따로 선언하지 않아도 된다
💡 Data class 로 DTO 대신 사용할 수 있다
💡 문자열 처리가 간단하다
- 문자열 템플릿
- 여러 줄의 문자열을 """를 이용해 하나의 문자열로 구성 가능
- trimIndent와 같이 문자열 사용을 편하게 하는 메소드 존재
JAVA
private final String GET_USER_NAME = ""
+ "SELECT DISTINCT user_name\\n"
+ "FROM tbl\\n"
+ "WHERE user_id = 63;
Kotlin
const val GET_USER_NAME = """
SELECT DISTINCT user_name
FROM tbl
WHERE user_id = 63
""".trimIndent()
💡 분기처리가 용이하다
- return 값이 있는 if expression
JAVA
String userLevel;
if(id == 0) {
userLevel = "Administrator"
} else if(id in 1 .. 10) {
userLevel = "Normal"
} else {
userLevel = "Hacker"
}
Kotlin
val userLevel = if(id == 0) {
"Administrator"
} else if(id in 1 .. 10) {
"Normal"
} else {
"Hacker"
}
- switch보다 간결한 when
fun main(){
var num1 = 1
var num2 = 10
when(num1){
0 -> println("num1 is 0")
1 -> println("num1 is 1")
2 -> println("num1 is 2")
else -> {
println("num1 is not 0 or 1 or 2")
}
}
}
💡 null 처리가 편하다
코틀린의 최대 장점인 매우 편하고 안전한 null 처리
JAVA
public class OptionRequest {
@NotNull(message = "user_id is required!")
private String user_id;
@Nullable
private String os;
}
Optional.ofNullable(optionRequest.getOs())
.map(data -> " and os_type=\\"" + data + "\\"\\n").orElse("")
Kotlin
class OptionRequest(
val user_id: String,
val os: String? = "ios"
)
optionRequest.os?.let { data -> "\\nAND os_type=\\"$data\\"" } ?: ""
참고1) https://juhi.tistory.com/72
참고2) https://lwndnjs93.tistory.com/2
참고3) https://devsnote.com/writings/2161
뎁스노트 | 왜 자바 서버 개발자들은 코틀린을 채택하지 않는가
오랜 자바 개발자로서 수년간 코틀린을 사용하고 그것을 서버에 적용해보면서 코틀린에 재미를 느낀 개발자가 쓴 글인데요 자바 서버 개발자들이 코틀린으로 서버 개발을 하지 않는 이유에 대
devsnote.com
'Android' 카테고리의 다른 글
[Android] SharedPreferences를 이용하여 아이디 저장하기 (0) | 2022.12.16 |
---|---|
[Android/삽질 기록] 빌드시 버전 오류 (0) | 2022.12.14 |
[Android] SQLite DB 연결 (1) (0) | 2022.12.13 |
[Android] SQLite 설치 및 간단 사용 방법 (1) | 2022.12.07 |
[Android] 설치 및 버전 관련 (0) | 2022.12.07 |
댓글