[Kotlin] 2-3. 선택 표현과 처리 : enum과 when
·
Kotlin/Kotlin In Action
[ enum 클래스 정의 ] // 가장 기본적인 enum class enum class Color { RED, BLUE, YELLOW, GREEN, BLACK } ∘ enum 클래스 안에 프로퍼티나 메서드를 정의할 수 있다. enum class Color( val r: Int, val g: Int, val b: Int ) { RED(255, 0, 0), YELLOW(255, 255, 0), GREEN(0, 255, 0), BLUE(0, 0, 255) ; // enum class 내부 메서드 fun getRgb(): Int { return (r * 256 + g) * 256 + b } // fun getRgb() = (r * 256 + g) * 256 + b } ∘ enum의 각 상수를 정의할 때 그 상수..
[Kotlin] 2-2. 클래스와 프로퍼티
·
Kotlin/Kotlin In Action
[ 클래스 ] // 자바 클래스 Person public class Person { // property private final String name; // 생성자 public Person(String name) { this.name = name; } // Getter public String getName() { return name; } } // 코틀린 클래스 Person class Person(val name: String) ∘ 값 객체 (Value Object) : 코드 없이 데이터만 저장하는 클래스 ∘ 코틀린의 기본 가시성은 public이므로 변경자 생략 가능 [ 프로퍼티 ] 1. 클래스 & 프로퍼티 선언 클래스의 목적 : 데이터를 캡슐화하고 캡슐화한 데이터를 다루는 코드를 한 주체 아래 가..
[Kotlin] 2-1. 함수와 변수
·
Kotlin/Kotlin In Action
[ Hello, World! ] 코틀린에서는 함수 하나로 프로그램을 만들 수 있다. fun main(args: Array) { pritln("Hello, World!) } ∘ 함수를 선언할 때 fun 키워드 사용 ∘ 파라미터 이름 뒤에 그 파라미터의 타입을 사용 ∘ 함수를 최상위 수준에 정의할 수 있다. ( 클래스 안에 함수를 넣을 필요 X ) ∘ 배열 처리를 위한 문법 X ∘ System.out.println() → println() ∘ 줄 끝에 세미콜론(;)을 붙이지 않아도 된다. [ 함수 ] /** fun [함수이름] (파라미터 목록) : 반환 타입 { } **/ // 1. 블록이 본문인 함수 fun max(a: Int, b: Int): Int { return if(a > b) a else b } ..
[Kotlin] 1. 코틀린이란?
·
Kotlin/Kotlin In Action
[ 코틀린의 주요 특성 ] 1. 호환성 ∘ 자바가 실행될 수 있는 환경에서 자바를 대체할 수 있도록 개발된 언어 - 서버상의 코드 ( 웹 어플리케이션의 백엔드) - 안드로이드 어플리케이션 ∘ 자바스크립트 또한 코틀린 컴파일 가능 2. 정적타입 지정 언어 ∘ 컴파일 시점에 모든 객체나 메서드 타입을 알 수 있다. = 컴파일러가 타입을 확정 & 검증 ∘ 런타임의 검증을 없애고, 데이터 구조를 유연하게 가져갈 수 있다. ∘ 대부분의 상황에서 코틀린은 타입추론(type inference)이 가능 var n = 10// 타입추론 var m:Int = 100 3. 함수형 프로그래밍과 OOP ∘ 코틀린은 함수형 프로그래밍이 가능하다. ∘ 함수를 변수에 담을 수 있고, 함수의 parameter, return 으로 함수..