[TIL/Kotlin] Kotlin과 JPA를 사용할 때 이야기거리 3가지
·
TIL/Kotlin
보호되어 있는 글입니다.
[TIL/Kotlin] Junit5로 테스트 코드 작성하기
·
TIL/Kotlin
1. Junit5에서 사용되는 5가지 어노테이션1) @Test : 테스트 메소드를 지정한다. 테스트 메소드를 싱행하는 과정에서 오류가 없으면 성공2) @BeforeEach : 각 테스트 메소드가 수행되기 전에 실행되는 메소드를 지정. 매번 실행3) @AfterEach : 각 테스트 메소드가 수행된 후에 실행되는 메소드를 지정. 매번 실행4) @BeforeAll : 모든 테스트를 수행하기 전에 최초 1회 수행되는 메소드를 지정5) @AfterAll : 모든 테스트를 수행한 후 최후 1회 수행되는 메소드를 지정 * BeforeAll과 AfterAll은 @JvmStatic을 붙여줘야한다.package com.group.libraryappimport org.junit.jupiter.api.AfterAllimpo..
[TIL/Kotlin] Kotlin, SpringBoot, JPA nativeQuery 사용시 주의사항
·
TIL/Kotlin
보호되어 있는 글입니다.
[TIL/Kotlin] 우체국 Open API로 EMS 배송 추적하기
·
TIL/Kotlin
resources 폴더 안에 yml 파일에 epost-open API에 사용할 key, base url, tracking 용으로 사용할 url을 설정 project안에 client, service, dto로 나누어 .kt 파일 생성 client package net.batch.external.client import net.batch.config.FeignConfig import org.springframework.cloud.openfeign.FeignClient import org.springframework.http.MediaType import org.springframework.http.ResponseEntity import org.springframework.web.bind.annotation...
[TIL/Kotlin] 코틀린 고급문법_sealed 클래스, 위임된 프로퍼티, 클래스 위임
·
TIL/Kotlin
1. sealed 클래스 sealed 클래스는 자신의 중첩 클래스에만 상속을 허용하는 클래스이다. // Outer 클래스는 자신의 중첩 또는 내부 클래스에서만 상속이 가능하다. Outer 클래스 자체로는 인스턴스 생성 불가능 sealed class Outer { class One: Outer() class Two: Outer() class Three: Outer() } // Outer 클래스는 자신의 중첩 클래스에서만 상속이 가능하기 때문에 주석을 해제하면 오류 발생 // class Four: Outer() fun main() { val instance:Outer = Outer.Three() val test: Outer /* sealed 클래스는 서브클래스가 sealed 클래스 안에 모두 존재하므로, 모..
[TIL/Kotlin] 코틀린 고급문법_열거 클래스(Enum Class)와 열거 클래스에 프로퍼티와 멤버 함수 선언 및 활용하기
·
TIL/Kotlin
1. 열거 클래스(Enum Class) 클래스 선언문 앞에 enum 키워드를 붙이면 열거 클래스로 선언이 가능하다. 열거 클래스에 들어가는 식별자를 열거 상수라고 한다. 열거 클래스에 포함시킬 식별자를 쉼표를 이용해 나열하며, 식별자는 모두 대문자로 하는 것이 좋다. 열거 클래스.열거 상수 형태로 초기화 가능하다. enum class Mode { SELECTION, PEN, SHAPE, ERASER // 열거 상수 } fun main() { // 현재 선택된 모드 val mode: Mode = Mode.PEN when(mode) { Mode.SELECTION -> println("선택 모드") Mode.PEN -> println("펜 모드") Mode.SHAPE -> println("도형 모드") Mod..
[TIL/Kotlin] 코틀린 고급문법_배열(Array)과 배열을 가변 인수로 활용하기
·
TIL/Kotlin
1. 배열(Array) 배열은 타입이 같은 변수를 여러 개 만들 때 사용한다. Array 클래스에는 아래와 같은 프로퍼티와 연산자 멤버 함수가 있다. > size 프로퍼티는 배열의 원소 개수를 나타낸다. > get/set 연산자 멤버 함수는 배열을 []연산자로 접근할 수 있게 해준다. > iterator 연산자 멤버 함수는 배열을 for 문에 쓸 수 있게 해준다. 배열은 arrayOf 함수를 통해서 만들 수 있다. arrayOf는 가변 인수를 받을 수 있도록 되어 있으며, 제네릭이 적용되어 있다. fun main() { val integers: Array = arrayOf(10, 20, 30, 40) println(integers.size) println(integers[1]) for(i in integ..
[TIL/Kotlin] 코틀린 고급문법_반복자(Iterator)와 반복문 for문
·
TIL/Kotlin
1. 반복자(Iterator) 반복자란? 특정 구간 속에 있는 원소를 하나씩 반복적으로 꺼내기 위한 인터페이스를 뜻한다. 코틀린에는 Iterator라는 인터페이스가 기본적으로 선언되어 있으며, 다음과 같이 생겼다. interface Iterator { operator fun next(): T operator fun hasNext(): Boolean } 아래 예제를 통해 next와 hasNext 멤버 함수를 어떻게 사용하는지 살펴보자 fun main() { val range: IntRange = 1..3 // IntRange 클래스에는 operator fun iterator(): IntIterator 연산자 멤버 함수 선언되어있음 val iter: Iterator = range.iterator() // i..
[TIL/Kotlin] 코틀린 고급문법_in/out 키워드와 ..연산자와 범위 표현식
·
TIL/Kotlin
1. in/out 키워드 out 키워드를 붙이면 서브타입을 슈퍼타입에 대입 가능, in 키워드를 붙이면 슈퍼타입을 서브타입에 대입 가능, 타입 인수를 *로 지정하면 타입 인수가 무엇이든 상관없이 대입이 가능하다. // AAA 클래스의 타입 매개변수 앞에 out 키워드를 붙임 // out 키워드를 붙이면 AAA을 AAA에 대입할 수 있게 된다. // out T는 자바의 ?extends T와 같다. class AAA // BBB 클래스의 타입 매개변수 앞에 in 키워드를 붙임 // in 키워드를 붙이면 BBB을 BBB에 대입할 수 있게 된다. // in T는 자바의 ?super T와 같다. class BBB fun main() { val aaaSub = AAA() val aaaSuper: AAA = aaaS..