kotlin
-
Kotlin에서 예외 처리와 스택 추적 이해하기: data object vs classkotlin 2025. 4. 3. 10:44
Kotlin에서 예외 처리 시 스택 추적(Stack Trace)은 디버깅과 문제 해결에 중요한 역할을 합니다. 이 글에서는 data object와 class를 사용하여 예외를 정의할 때의 차이점과 예외 객체가 생성될 때 스택 추적이 어떻게 기록되는지 설명합니다.1. data object와 class의 차이Kotlin에서 예외를 정의할 때 data object와 class를 사용할 수 있습니다. 두 방식은 예외 객체의 생성과 스택 추적 기록에 있어 중요한 차이를 가집니다.data object: 싱글톤 패턴으로 동작하여 프로그램 실행 중 단 하나의 인스턴스만 존재합니다. 예외를 던질 때마다 동일한 인스턴스를 사용하므로, 스택 추적은 객체가 초기화된 시점의 정보를 반영합니다.class: 새로운 인스턴스를 생성..
-
Mockito를 활용한 모의 객체 설정: thenReturn vs doReturnkotlin/Test 2024. 12. 2. 23:31
thenReturn사용법:when(mock.method()).thenReturn(value)용도:주로 open 메서드나 인터페이스의 메서드를 모의할 때 사용합니다.특징:메서드 호출이 실제로 발생해야 하며, null이 아닌 값을 반환해야 합니다.동작 방식:Mockito가 바이트코드를 조작하여 메서드 호출을 가로채는 방식으로 동작합니다.그렇기 때문에 메서드 호출이 실제로 발생해야 하며, final, private, static 메서드에는 사용할 수 없습니다.제약:final, private, static 메서드에는 사용할 수 없습니다.장점:when-thenReturn로 가독성과 명확한 의도를 보여줄 수 있고, 디버깅 정보가 명확하다.가독성: 코드가 직관적이고 읽기 쉽습니다.일관성: 일반적인 Mockito 사용..