Kotlin & Java

발단나는 Jwt 토큰 발급(JwtTokenClient.class)에 대한 단위 테스트를 작성하고 있었다.테스트 코드package com.hangongsu.infrastructure.client.auth.jwt;import com.hangongsu.core.dto.auth.response.TokenResponse;import com.hangongsu.support.property.jwt.JwtProperty;import org.junit.jupiter.api.BeforeEach;import org.junit.jupiter.api.Test;import static org.assertj.core.api.Assertions.assertThat;import static org.mockito.BDDMockito.g..
발단나는 최근에 소셜 로그인을 구현하고, 그에 따른 테스트 코드를 JUnit5를 사용해 작성하고 있었다.그 중에서도 @WebMvcTest를 통해 컨트롤러 단위 테스트를 작성하고 있었다.테스트 코드테스트 코드 내용은 간단하다.@WebMvcTest(OAuthController.class)class OAuthControllerTest { @Autowired protected ObjectMapper objectMapper; @Autowired protected MockMvc mockMvc; @MockBean protected OAuthRedirectUriProviderComposite redirectUriProvider; @BeforeEach void setup(Web..
들어가기에 앞서 💡 아주 기초가 되는 내용들은 소거했습니다. 이 점 참고바랍니다. 기초 설정 코틀린은 JetBrains에서 개발된 언어이기 때문에 IntelliJ와 Android Studio 등 IDEA에서 코딩 스타일에 대해 강력한 지원을 해주고 있습니다. 이러한 지원을 제대로 받기 위해서는 다음과 같은 설정이 필요합니다. 💡 설정은 IntelliJ를 기준으로 합니다. 1. 스타일 가이드 적용하기 Settings/Preferences > Editor > Code Style > Kotlin 선택 Set from…. 클릭 Kotlin style guide 선택 2. 코드가 스타일을 따르는 지 검사 받기 Settings/Preferences > Editor > Inspections > General 선택 I..
오늘은 코틀린의 기본 자료형을 소개하고 코틀린의 자료형들이 자바와 비교했을 때 어떻게 다른지 비교해보겠습니다. 코틀린의 자료형(Basic Types) 코틀린의 공식문서를 보면 다음과 같이 자료형의 설명을 시작합니다. 모든 변수가 멤버 함수 또는 프로퍼티를 사용할 수 있다는 점에서 코틀린의 모든 것은 객체입니다. 특정 유형이 런타임 시 원시 값으로 최적화된 내부 표현을 갖지만, 사용자에게는 일반 클래스 처럼 나타나고 작동합니다. 💡여러분은 공식문서에서 설명하는 내용 중 다음과 같은 2개의 질문에 대답할 수 있나요? 왜 자료형 설명에서 느닷없이 코틀린의 모든 것이 객체라고 설명하는 걸까요? 왜 모든 유형이 아닌 특정 유형만 런타임 시 원시 값으로 최적화된 내부 표현을 갖게 될까요? 지금은 대답하지 못해도 괜..
코틀린에서는 클래스 내부의 멤버 변수를 Property라고 부릅니다. 자바에서는 클래스 내부의 멤버 변수를 Field라고 부릅니다. 코틀린의 var/val을 자바로 디컴파일하면 private/private final이 붙는다. 저는 생성자 학습을 위해 임의의 클래스를 만들고, 코틀린 클래스 파일을 자바 파일로 디컴파일하여 비교를 해보았습니다. 그리고 다음과 같은 사실을 알아냈습니다. 코틀린에서 var 로 선언한 멤버 변수가 디컴파일 된 자바 파일에서 private으로 변경됩니다. getter 접근자가 추가 됩니다. setter 접근자가 추가 됩니다. 코틀린에서 private var로 선언한 멤버 변수가 디컴파일 된 자바 파일에서 private 으로 변경됩니다. getter 접근자가 추가 되지 않습니다. ..
생성자란 작성한 클래스를 기반으로 객체의 생성을 위해 생성자를 사용합니다. 코틀린의 클래스는 주 생성자와 하나 이상의 부 생성자를 정의할 수 있습니다. 주 생성자 클래스 이름 뒤에 소괄호를 붙혀 간단하게 주 생성자를 만들 수 있습니다. class Book( title: String, totalPage: Int ) { // ... } 주 생성자는 클래스 이름(Book) 바로 뒤에 소괄호()를 감싸서 만들 수 있으며, 소괄호 안에는 클래스에 주입될 프로퍼티가 나열됩니다. 주 생성자에는 var,val 을 사용하여 프로퍼티들을 나열하여 값의 초기화를 할 수 있습니다. var, val 로 선언된 Property는 클래스 내/외부에서 접근이 가능합니다. var, val 로 프로퍼티가 선언되지 않았다면 생성된 객체의..
@megaseunghan
'Kotlin & Java' 카테고리의 글 목록