728x90
반응형

개발/코틀린 20

(코틀린) 컬렉션

컬렉션 요소들을 저장하기 위해 설계된 클래스 입니다. kotlin 표준 라이브러리는 다양한 컬렉션 라이브러리와 컬렉션 안에 데이터를 조작하기 위한 종합적인 api를 제공합니다. 컬렉션을 조작하는 모든 연산이 inline function이라서 함수 호출마다 부가 비용이 들지 않습니다. 컬렉션 타입 컬렉션 타입은 array, iterable, sequence, map으로 4가지로 분류 됩니다. 이터러블 이터러블은 즉시 계산되는 상태가 있는 컬렉션을 표현합니다. 실제로 값을 저장하고 있는 컬렉션 입니다. 원소를 순회할 수 있는 iterator()라는 메소드를 제공하고 for를 이용해서 순회할 수 있습니다. fun main() { val list = listOf("red", "yellow", "green") f..

개발/코틀린 2022.10.30

(코틀린) 특별한 클래스 사용하기

enum class 미리 정의된 상수들로 이뤄진 제한된 집합을 표현하는 클래스 입니다. 보통 enum은 대문자로 정의 합니다. enum class Weekday { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY } fun Weekday.isWorkday() = this in listOf( Weekday.MONDAY, Weekday.TUESDAY, Weekday.WEDNESDAY, Weekday.THURSDAY, ) fun main() { println(Weekday.MONDAY.isWorkday()) // true println(Weekday.SUNDAY.isWorkday()) // false } 빠뜨린 부분이 없는 when 식 when ..

개발/코틀린 2022.10.23

(코틀린) 함수형 프로그래밍

코틀린을 활용한 함수형 프로그래밍 함수형 프로그래밍은 프로그램 코드를 불변 값을 변환하는 함수의 합성으로 구성할 수 있는 아이디어를 바탕으로 합니다. 함수형 언어는 함수를 일급 객체(first class citizen)으로 취급해서 함수를 일반적인 값처럼 취급합니다. 이렇게 때문에 함수를 변수가 대입하거나 함수의 파라미터나 리턴 값으로 전달 할 수 있습니다. 고차 함수 배열 생성자는 람다를 받아서 배열을 생성함과 동시에 초기화를 할 수 있습니다. val squares = IntArray(5) { n -> n * n } // 0, 1, 4, 9, 16 기존에는 함수 내부 구현을 변경하기가 어려웠다면 고차 함수를 사용하면 실제 동작하는 부분만 외부에서 고차함수로 받아서 처리 할 수 있습니다. fun sum(..

개발/코틀린 2022.10.10

(코틀린) 클래스

클래스 정의하기 클래스 내부 구조 코틀린에서 클래스는 class 키워드와 클래스이름으로 정의합니다. 클래스는 내부에서 변수와 함수를 가질 수 있습니다. class Person { var firstName: String = "" var familyName: String = "" var age: Int = 0 fun fullName() = "$firstName $familyName" fun showMe() { println("${fullName()}: $age") } } Person 클래스이고 firstName, familyName, age라는 프로퍼티가 있고 fullName()과 showMe()라는 함수가 있습니다. 클래스 내부에서 본인 자체에 접근할 때는 this라는 키워드를 사용하고 이를 수신객체라고 ..

개발/코틀린 2022.10.03

(코틀린) 예외처리

코드가 동작하는 중간에 Exception이 발생해서 프로그램이 강제종료 되는 케이스가 발생합니다. 이런 경우 예외처리(Exception Handling)을 통해서 강제종료 되지 않고 에러를 처리 할 수 있도록 합니다. 예외 던지기 예외를 던지기 위해서는 throw 키워드를 사용합니다. fun parseIntNumber(s: String): Int { var num = 0 if (s.length !in 1..31) { throw NumberFormatException("Not a number: $s") } for (c in s) { if (c !in '0'..'1') { throw NumberFormatException("Not a number: $s") } num = num * 2 + (c - '0') ..

개발/코틀린 2022.09.25

(코틀린) 조건문, 반복문

조건문 조건 값에 따라 동작을 수행하지 않을 수도 있고 여러 가지 동작중 하나의 동작을 수행할 수 있습니다. if if를 사용하면 Boolean 값에 따라서 동작을 다르게 수행할 수 있습니다. // if를 사용해서 조건에 따른 값을 다르게 전달할 수 있습니다. fun max(a: Int, b: Int): Int { return if (a > b) a else b } {}를 사용해서 여러 줄의 동작을 수행할 수 있습니다. // 반환값이 있는 if는 else가 필수로 구현되어야 합니다. fun max(a: Int, b: Int): Int { return if (a > b) { println("최대값은 a") a } else { println("최대값은 b") b } } 반환 값이 없는 형태의 if문을 작성할..

개발/코틀린 2022.09.25

(코틀린) 함수

함수 파라미터를 받아서 어떤 값을 반환하는 형태를 함수라고 이야기합니다. 파라미터가 없을 수도 있고 반환 값이 없을 수도 있습니다. 함수의 구조 함수는 fun 키워드를 사용해서 정의합니다. fun functionName(param1: Int, param2: String, param3: Boolean): String { return """ 이 함수의 이름은 \`functionName\`이고 함수의 파라미터는 param1은 Int타입이고 값은 $param1, param2은 String타입이고 값은 $param2, param3은 Boolean타입이고 값은 $param3 입니다. """.trimIndent() } fun noParamNoReturnValue() { // 파라미터와 반환값이 없는 함수도 만들 수 ..

개발/코틀린 2022.09.24

(코틀린) 코틀린 기초

기본 문법 주석 코틀린에서는 3가지 형태의 주석이 있습니다. 1줄 주석: // 여러줄 주석: /* */ KDoc 주석: /** */ // 1줄 주석 /* 여러줄 주석 */ /** KDoc 주석 */ KDoc은 Rich Text Documentation을 생성하기 위해 사용합니다. 변수 코틀린에서 변수는 아래와 같이 정의합니다. val name: String = "정석준" // String 타입의 name 변수에 "정석준" 문자열 할당 val name = "정석준" // 초기값이 있다면 타입 선언은 생략 가능 val name: String // 초기값이 없다면 에러 발생 val name = "정석준" // 불변변수 name = "dino" // val은 수정 할 수 없어서 에러 발생 var name = "..

개발/코틀린 2022.09.18

(코틀린) 코틀린 시작하기 2 - IntelliJ로 코틀린 프로젝트 만들기

코틀린 언어를 학습하기 위해서 여러 가지 툴이 존재하지만 IntelliJ라는 툴을 사용하는 것을 추천합니다. IntelliJ는 코틀린을 만든 JetBrain에서 만든 IDE(Integrated Development Environment)입니다. IntelliJ를 다운받기 위해서 https://www.jetbrains.com/idea/download 링크로 들어갑니다. Kotlin 언어 공부를 위해서는 Community 버전을 사용하셔도 충분합니다. 위 카테고리에서 본인이 사용하고 있는 컴퓨터 os에 맞게 Windows, macOS, Linux를 선택하시고 아래 Download를 선택합니다. 만약 macOS를 사용하는데 Apple Silicon인 M1, M2를 사용 중이라면 우측에 . dmg (Intel)..

개발/코틀린 2022.09.01

(코틀린) 코틀린 시작하기 1 - 글을 작성하면서

2018년도까지만 해도 안드로이드 앱 개발은 자바와 코틀린 두 가지 언어로 개발을 많이 했습니다. 하지만 글을 작성하고 있는 2022년도에는 제 주변에 자바로 안드로이드 앱을 개발하는 사람은 전혀 없습니다. 이제는 안드로이드 앱 개발을 하기 위해서는 코틀린 언어가 필수가 되었습니다. 코틀린 언어를 공부하는 방법은 책, 블로그, 유튜브, 코틀린 홈페이지 등이 있는데 저는 코틀린 홈페이지인 https://kotlinlang.org/ 를 보시고 공부하시는 것을 추천합니다. 하지만 범위도 너무 넓고 어떤 것을 먼저 공부해야 할지 모를 수 있습니다. 이 블로그에서는 코틀린을 시작하시는 분들에게 도움이 되기 위해 글을 작성합니다.

개발/코틀린 2022.09.01
728x90
반응형