본문 바로가기

Kotlin

[Kotlin] 범위 지정 함수 ✔ 범위 지정 함수 범위 지정 함수는 특정 객체에 대한 작업을 블록 내에서 실행할 수 있도록 하는 함수이다. 블록은 특정 객체에 대한 작업의 범위를 나타낸다. 특정 객체에 대한 작업을 블록에 작성하면 가독성이 증가하고 유지 보수가 쉬워진다. 수신 객체 지정 람다(함수)라고도 하며, 블록 내에서는 수신 객체를 명시하지 않거나, it을 호출하는 것만으로 수신 객체가 호출된다. Kotlin에서는 apply, run, let, also, with 5가지를 지원한다. ❗❗ apply ◼ apply는 수신 객체 내부 프로퍼티를 변경한 다음, 수신 객체 자체를 반환하기 위해 사용되는 함수이다. ◼ 객체 생성 시, 다양한 프로퍼티를 설정해야 하는 경우 사용한다. ◼ apply에서는 수신 객체로 apply의 수신 객체(.. 더보기
[Kotlin] 기본 문법 (4) * 기본 문법 - Data Class Data를 전달하는 목적으로 사용된다. Dto와 비슷한 역할을 한다. data class Person(val name: String, val age: Int,) 다양한 함수를 자동으로 생성한다. val person1 = Person(name = "test", age = 10) val person2 = Person(name = "test", age = 10) // 1. equals() println(person1 == person2) // true // 2. hashCode() println(person1.hashCode() == person2.hashCode()) // true val hashSet = hashSetOf(person1) println(hashSet.c.. 더보기
[Kotlin] 기본 문법 (3) * 기본 문법 - Collections Immutable: 읽기 전용 컬렉션이다. Mutable: 삽입, 수정, 삭제와 같은 쓰기 작업이 가능한 컬렉션이다. List, Set, Map은 기본적으로 Immutable 객체이다. ListOf(Items...), SetOf(Items...), MapOf(Items...)로 생성할 수 있다. 이때, typeName은 생략 가능하다. val immutableList = listOf("달러", "유로", "원") val immutableSet = setOf("달러", "유로", "원") val immutableMap = mapOf("one" to 1, "two" to 2, "three" to 3) Collection Builder을 사용하여 Immutable 객체를.. 더보기
[Kotlin] 기본 문법 (2) * 기본 문법 - 예외 Kotlin의 모든 Exception Class는 최상위 Class인 Throwable을 상속한다. Error: 시스템에 비정상적인 상황이 발생할 경우, 예측이 어렵고 기본적으로 복구가 불가능하다. (OutOfMemoryError...) Checked Exception: 시스템에서 포착이 가능하여 try-catch로 복구가 가능, 예외 처리를 강제한다. (IOException, FileNotFoundException...) Unchecked Exception: 런타임 시에 발생하는 예외로 예외 처리를 강제하지 않는다. (NullPointerException...) Kotlin은 Java에 비해 Checked Exception 처리를 강제하지 않는다. fun main() { Thre.. 더보기
[Kotlin] 기본 문법 (1) * 기본 문법 - Variable val(Value): 한 번 초기화 시 재할당 불가능, final과 동일 var a: Int = 1 a = 10 // 컴파일 오류 var(Variable): 가변 변수, 재할당 가능 var a: Int = 1 a = 10 // 가능 타입 추론 val message = "Default Message" Unit: Java의 void와 유사 fun unitEx(): Unit { println("Unit Test") } Default Parameter 지원 fun defaultParameterEx(a: Int = 10): Unit { println(a) } fun main() { defaultParameterEx() } Top Level Variable 지원 var x = 5 .. 더보기
[Kotlin] Kotlin이란? Kotlin Jetbrains 사에서 만든 언어로 IntelliJ에 완벽 호환된다. Java에 비해 문법이 간결하기 때문에, 가독성과 생산성이 높고 오류 가능성이 적어진다. Java와 상호 운용이 가능하기 때문에 기존 자바 프로젝트에 쉽게 적용할 수 있고, Java로 작성된 오픈 소스를 그대로 사용할 수 있다. Java와 성능 차이가 크지 않다. 멀티 플랫폼 언어로써, 서버와 모바일 앱 및 프론트 등 모든 분야에서 사용 가능하다. 2017년부터 구글에서 공식 지원 언어로 선정되었다. Kotlin의 문법적 장점 data class 생성 시, 자동으로 equals(), hashCode(), toString() 등 유용한 함수를 자동으로 생성해 준다. object 키워드를 사용하여 싱글톤 객체를 생성할 수 있.. 더보기