Kotlin

    [Kotlin] Kotlin sealed class란 무엇인가?

    sealed class의 등장 배경 여러 자식 Class들이 하나의 부모 Class를 상속 받았다고 했을 때 컴파일러는 부모 Class를 상속 받은 자식 Class들이 있는지 알지 못한다. 예를 들어보자. 우리가 사용자의 런닝 운동을 기록해주는 앱을 만들고 있다. 이때 우리는 사람의 상태를 클래스로 만들고자 한다. 상태의 종류는 3가지로 뛰는 상태(Running), 걷는 상태(Walking), 쉬는 상태(Idle)가 있다. 이는 다음과 같이 코드로 만들어질 수 있다. abstract class PersonState class Running : PersonState() class Walking : PersonState() class Idle : PersonState() 코드1. class 상속 예제 각 P..

    [Spring with Kotlin] Spring Controller을 이용해 View 출력하기

    Controller란? Controller란 서버의 진입점이자, 사용자의 요청(Request)을 받아들인 후 어떤 처리를 해야할지 결정하는 부분이다. 이렇게 말하면 너무 추상적이니 예시와 함께 알아보도록 하자. 사용자는 사용하는 웹사이트에 대한 HTTP통신을 통해 홈페이지에 접속한다. https://kotlinworld.com/category/Kotlin 예를 들어 위의 주소를 웹브라우저의 검색 창에 치면 kotlinworld.com을 처리하는 서버는 /category/Kotlin에 대한 결과값을 사용자에게 View로 만들어 반환한다. 그 결과는 아래와 같다. 이것이 가능한 이유는 서버에서 /category/Kotlin에 대한 요청을 의 View를 반환하도록 처리 하였기 때문이다. Spring에서 Con..

    [Spring with Kotlin] Spring Intellij 개발 환경 세팅하기

    Intellij 무료 버전 1. https://start.spring.io/ 에 접속해서 과 같이 세팅한다. Project의 빌드 시스템을 Gradle로 바꾼다 : Gradle Project Project에서 사용할 Language를 Kotlin으로 바꾼다 : Kotlin Spring Boot의 Version을 Stable한 버전으로 세팅한다 : 2.5.4 ADD DEPENDENCIES를 눌러 Spring Web, Thymleaf(타임리프), Spring Boot DevTools를 추가한다. 2. 위 에서 Generate 버튼을 누르면 아래와 같이 demo.zip 파일이 생성된다. 해당 파일의 압축을 푼다, 3. 다음의 과정을 통해 생성한 프로젝트를 연다 Intellij를 켠 후 File-Open을 누른..

    [Kotlin Collection] 5. Kotlin reduce 를 알아보자 : 재귀적으로 수행된 결과값으로 반환 값을 만드는 함수

    목차로 돌아가기 [Kotlin Collection] Kotlin에서 확장함수를 이용해 Collection 조작하기 목표 Collection 확장함수가 하는 일을 이해한다. 자유롭게 확장 함수를 이용해 데이터를 조작한다. 개요 Kotlin에서는 일반 컬렉션에도 함수형 프로그래밍을 위한 확장 함수를 제공하여, 데이터를 kotlinworld.com 목표 reduce의 개념을 이해한다. reduce를 사용하는 방법을 익힌다. reduce() 개요 reduce는 순서가 있는 데이터(CharSequence, Iterable 등)에 대해 각 데이터에 대해 연산을 재귀적으로 수행해 반환해주는 함수이다. 시작 값은 맨 앞의 데이터이며, 반환 데이터 타입은 맨 앞의 데이터 타입을 따른다. 예를 들어 아래와 같은 sampl..

    [Kotlin Collection] 4. Kotlin groupBy, zip, distinct 를 이용하기 : groupby를 이용해 그룹핑, zip을 이용해 조합, distinct를 이용해 중복제거하기

    목차로 돌아가기 [Kotlin Collection] Kotlin에서 확장함수를 이용해 Collection 조작하기 목표 Collection 확장함수가 하는 일을 이해한다. 자유롭게 확장 함수를 이용해 데이터를 조작한다. 개요 Kotlin에서는 일반 컬렉션에도 함수형 프로그래밍을 위한 확장 함수를 제공하여, 데이터를 kotlinworld.com 목표 그룹핑 함수 groupBy의 개념과 동작을 익힌다. 두개의 Collection을 조합하는 zip의 개념과 동작을 익힌다. 중복제거 함수 distinct의 동작을 익힌다. 확장함수 목록 groupBy groupBy는 keySelector함수를 통해 key를 select하여 해당 Key로 Map을 만드는(그룹화 하는) 함수이다. public inline fun I..