✅ 메서드를 다른 클래스에 추가 : 확장 함수와 확장 프로퍼티 기존 코드와 코틀린 코드를 자연스럽게 통합하는 것은 코틀린의 핵심 목표 중 하나 기존 자바 API를 재작성하지 않고도 코틀린이 제공하는 여러 편리한 기능을 사용할 수 있는 방법은?? 확장 함수의 활용 개념적으로 확장 함수는 단순함 확장 함수는 어떤 클래스의 멤버 메서드인 것처럼 호출할 수 있지만 그 클래스의 밖에 선언된 함수 확장 함수를 보여주기 위한 어떤 문자열의 마지막 문자를 돌려주는 메서드 package strings fun String.lastChar() : Char = this.get(this.length - 1) 확장 함수를 만들기 위해선 추가하려는 함수 이름 앞에 그 함수가 확장할 클래스의 이름을 덧붙이기만 하면 됨 클래스 이름을..
✅ 코틀린에서 컬렉션 만들기 코틀린의 컬렉션은 자바 컬렉션 구조를 확장해 구현되었음 그렇기 때문에 자바에서 코틀린 함수를 호출하거나 코틀린에서 자바 함수를 호출할 때 자바와 코틀린 컬렉션을 서로 변환할 필요가 없음 코틀린 컬렉션은 자바 컬렉션과 똑같은 클래스 하지만 코틀린에서는 자바보다 더 많은 기능을 사용할 수 있음 ex) 리스트의 마지막 원소를 가져오거나 수로 이뤄진 컬렉션에서 최댓값을 찾을 수 있음 val strings = listOf("first", "second", "third") println(strings.last()) // third val numbers = setOf(1, 14, 2) println(numbers.max()) // 14 코틀린의 컬렉션의 종류는 List, Set, Map ..
✅ 코틀린의 예외 처리 코틀린의 예외 처리는 자바나 다른 언어의 예외 처리와 비슷함 함수는 정상적으로 종료할 수 있지만 오류가 발생하면 예외를 던질 수 있음 함수를 호출하는 쪽에서는 그 예외를 잡아 처리할 수 있음 // 코틀린의 기본 예외 처리 구문은 자바와 비슷함 if (percentage !in 0..100) { throw IllegalArgumentException ( "A percentage value must be between 0 and 100: $percentage") } 다른 클래스와 마찬가지로 예외 인스턴스를 만들 때도 new를 붙일 필요가 없음 자바와 달리 코틀린의 throw는 식이므로 다른 식에 포함될 수 있음 val percentage = if (number in 0..100) nu..
✅ 대상을 이터레이션 : while과 for 루프 코틀린 특성 중 자바와 가장 비슷한 것은 이터레이션 코틀린의 while문은 자바와 동일함 for는 자바의 for-each 루프에 해당하는 형태만 존재 코틀린의 for는 C#과 마찬가지로 for in 형태를 취함 이런 for 루프는 컬렉션에 대한 이터레이션에 가장 많이 쓰임 📌 while 루프 코틀린에는 while과 do-while 루프가 있으며 자바와 큰 차이가 없음 // while while (조건) { // 조건이 참인 동안 본문을 반복 실행 /* ... */ } // do-while do { /* ... */ } while (조건) // 맨 처음 무조건 본문을 한번 실행한 다음 조건이 참인 경우 반복 실행 📌 수에 대한 이터레이션 : 범위와 수열 자..
✅ 선택 표현과 처리 : enum과 when when은 자바의 switch를 대치하되 훨씬 더 강력하며, 자주 사용하는 프로그래밍 요소 when과 더불어 enum을 선언하는 방법과 스마트 캐스트에 대해 살펴봄 📌 enum 클래스 정의 // 간단한 enum 클래스 정의 enum class Color { RED, ORANGE, YELLOW, GREEN, BLUE, INDIGO, VIOLET } enum은 특정한 특징이나 속성으로 분류해서 사용하는 값들을 나열할 때 사용 코틀린에서는 enum class를 사용하지만 자바에서는 enum을 사용 코틀린에서 enum은 소프트 키워드라 부름 enum 클래스 안에 프로퍼티나 메서드를 정의할 수 있으며, 상수를 정의할 때는 그 상수에 해당하는 프로퍼티 값을 지정해야 함 ..
✅ 기본 요소 : 함수와 변수 📌 코틀린의 함수 코틀린에서는 함수 하나로 프로그램을 만들 수 있음 fun main(args: Array) { println("Hello, World!") } 코틀린 프로그래밍에서는 함수를 선얼할 때 fun 키워드를 사용 파라미터 이름 뒤에 해당 파라미터의 타입을 작성 함수를 최상위 수준에 정의할 수 있음(자바와 다르게 클래스 안에 함수를 넣어야 할 필요가 없음) 배열도 일반적인 클래스와 마찬가지(배열 처리를 위한 문법이 따로 존재하지 않음) Sysem.out.println 대신 prinln으로 해결(함수를 간결하게 사용할 수 있는 래퍼를 제공하기 때문) 세미콜론을 붙이지 않아도 됨🥹 // 함수 선언 기본(블록이 본문인 함수) fun max(a: Int, b: Int) : ..
✅ 코틀린이란?? 젯브레인즈사에서 개발하는 크로스 플랫폼 범용 프로그래밍 언어로, 자바와 완벽하게 호환되게 설계되었으며 일반적으로 JVM에서 사용되나 자바스크립트, LLVM 그리고 데이터 사이언스 영역에서도 사용 가능하다. 코틀린은 자바 플랫폼에서 돌아가는 새로운 프로그래밍 언어 코틀린은 간결하고 실용적이며, 자바 코드와의 상호운용성(Interoperability)을 중시 현재 자바가 사용 중인 곳이라면 거의 대부분 코틀린을 활용할 수 있음 대표적으로 서버, 안드로이드 앱 개발 등의 분야에서 사용 가능 코틀린은 기존 자바 라이브러리나 프레임워크와 함께 잘 작동하며, 성능도 자바와 같은 수준 ✅ 정적 타입 지정 언어 자바와 마찬가지로 정적 타입 지정 언어 모든 프로그램 구성 요소의 타입을 컴파일 시점에 알..