본문 바로가기
728x90

스터디/Kotlin7

코틀린의 Error Handling - runCatching 코틀린의 runCatching자바의 try~catch 와 동일하게 지원하지만 조금 다른 방법으로 핸들링 할 수도 있습니다! 예를들어 아래와 같은 요구사항이 있다고 가정해봅니다.LoginApiClient 호출 시 LoginException 발생errorCode = INVALID_PASSWORD인 경우 예외를 발생하지 않고 null을 리턴한다.그 외 에러는 모두 예외를 발생시킨다. try ~ catch 를 사용한 코드try { loginApiClient.login(request)} catch (e: LoginException) { if (e.errorCode == "INVALID_PASSWORD") { return null } else { throw e }}  Java 에서는 익숙하게 위처.. 2025. 3. 24.
[Kotlin] List와 MutableList 개념 및 차이점 val countryList = listOf("한국","미국","일본")val minusCountryList = countryList - "일본" // "한국", "일본" 값의 Listval plusCountryList = countryList + "중국" // "한국","미국","일본","중국" 값의 List val newlistData = listOf(1, 2, 3)val plusList = listOf(4, 5, 6)newlistData.addAll(plusList) // List 합치기val newlistData2 = plusList1 + plusList2 // + 기호로 합치기val newListData3 = plusList1.plus(plusList2) // plus함수로 합치기val newL.. 2025. 1. 18.
[Kotlin] @NotNull Validation 사용하기 목차   1. Gradle 설정spring-boot-starter-validation 의존성을 명시해야 valid 사용이 가능합니다.implementation 'org.springframework.boot:spring-boot-starter-validation' 2. Valid 사용방법data class ValidRequestDto( @field:NotNull(message = "value는 필수 입력값입니다.") val value: String? = null, @field:NotNull(message = "createdAt은 필수 입력값입니다.") val createdAt: LocalDate? = null, @field:NotNull(message = "number는 .. 2025. 1. 16.
Kotlin 예외처리(2) - check(), checkNotNull() 목차   1. check()check()매개변수의 값이 참인지 체크거짓이라면 throwIllegalStateException 예외를 반환합니다.*IllegalStateException-일반적으로 IllegalStateException은 메소드를 호출할 상태(State)가 아닐 때 발생시키는 exception이다. 예시코드fun connect(isConnected: Boolean) { //적용 전 if (isConnected) { throw IllegalStateException("이미 연결되어있습니다.") } //적용 후 check(!isConnected) {"이미 연결되어있습니다."}} 2. checkNotNull()checkotNull()매개변수의 값이 n.. 2025. 1. 13.
Kotlin 예외처리 - require(), requireNotNull() 목차   1. require()require()매개변수의 값이 참인지 체크거짓이라면 throw IllegalArgumentException 예외를 반환합니다.*IllegalArgumentException-일반적으로 IllegalArgumentException은 적절하지 않은 인자를 전달했을 때 발생시키는 예외이다. 예시코드fun calculation(val: String?) { //적용 전 if (val.isNullOrEmpty()) { throw IllegalArgumentException("값이 null이거나 공백일 수 없습니다.") } //적용 후 require(!val.isNullOrEmpty()) {"값이 null이거나 공백일 수 없습니다."}} 2. .. 2025. 1. 12.
[Kotlin] isNotEmpty(), isNotBlank(), isNullOrEmpty(), isNullOrBlank() 차이 목차   1. 예시 Stringsval emptyString = ""val blankString = " "val nullString = nullval normalString = "hello" 2. isEmpty()스트링이 빈 값 (아무값도 없을 경우)일 때 true returnemptyString.isEmpty() //trueblankString.isEmpty() //falsenullString.isEmpty() //nullnormalString.isEmpty () //false3. isNotEmpty()스트링이 어떠한 값을 포함하고 있을 때 (공백 포함) true returnemptyString.isEmpty() //falseblankString.isEmpty() //truenullString.isEm.. 2024. 7. 10.
[Kotlin] Default Argument와 Named Argument 목차 1. Default Argument Default Argument 개발하면서 변수들을 넘겨주기위한 클래스나 메소드를 설계하고 이를 사용하는 경우가있습니다. 코틀린에서는 이런 상황에서 개발자가 설정이 필요 없는 변수들을 넘겨주지 않고 손쉽게 개발 할 수 있도록 Default Argument를 제공하고 있습니다. 정의한 메소드 또는 클래스의 매개변수를 아래와 같이 설정합니다. 예시코드 // 아이스크림을 만드는 method가 있다면? // amount는 만드는 갯수, option은 맛이라고 할 때. fun makeIcecream(amount: Int = 1, option : String = "바닐라"): IceCream { return IceCream(amount, option) } // 이를 실제로 활.. 2024. 5. 4.
728x90