코틀린

2.3 선택 표현과 처리: enum과 when when 은 자바의 switch를 대치하되 훨씬 더 강력하며, 앞으로 더 자주 사용할 프로그래밍 요소이다. 2.3.1 enum 클래스 정의 enum class Color{ RED, ORAGNE, YELLOW, GREEN, BLUE, INDIGO, VIOLET } 코틀린에서 enum은 소프트 키워드(soft keyword)라 부르는 존재다. 반면 class는 키워드다. enum은 특별한 의미를 지니지만 다른 곳에서 사용할 수 있는 반면, class라는 이름은 다른곳에서 사용할 수 없다. 자바의 마찬가지로 enum 클래스 안에도 프로퍼티나 메소드를 정의할 수 있다. enum class Color(val r: Int, val g: Int, val b: Int){ ..
2.2 클래스와 프로퍼티 Java Bean 은 프로퍼티(필드)가 늘어나면 생성자의 본문에서 파라미터를 이름이 같은 필드에 대입하는 대입문의 수도 늘어난다. ex) Peron(String name) public class Person{ private final String name; public Person(String name){ this.name = name; } public String getName(){ return name; } } 코틀린에서는 그런 필드 대입 로직을 훨씬 더 적은 코드로 작성할 수 있다. class Person(val name:String) 이런 유형의 클래스(코드가 없이 데이터만 저장하는 클래스)를 값 객체(value object)라 부르며, 다양한 언어가 값 객체를 간결하게 ..
기본 요소: 함수와 변수 Hello, World! fun main(args:Array){ println("Hello, world!") } 함수를 선언할 때 fun 키워드를 사용 파라미터 이름 뒤에 파라미터의 타입을 쓴다. 함수를 최상위 수준에 정의할 수 있음 (클래스 안에 함수를 넣어야 할 필요가 없다.) 배열도 일반적인 클래스와 마찬가지다. 세미콜론을 붙이지 않는다. 함수 fun max(a: Int, b: Int): Int{ return if (a > b) a else b }fun 함수이름(파라미터 목록) : 함수의 반환 타입 { return 함수본문 } 코틀린 if는 문장이 아니고 결과를 만드는 식(expression)이라는 점이 흥미롭다. 문장(statement)과 식(expression)의 구분 ..
자바가 사용 중인 곳이라면 거의 대부분 코틀린을 활용할 수 있다. 코틀린 맛보기 data class Person(val name:String, val age: Int? = null) // name과 age라는 프로퍼티(property)가 들어간 간단한 데이터 클래스(data class) 정의 fun main(args: Array) { val persons = listOf(Person("성현1"), Person("성현2", age=31)) val oldest = persons.maxBy{ it.age ?: 0} // it 이라는 이름을 사용하면 람다 식의 유일한 인자 사용 가능 // 엘비스 연산자라고 불리는 ?: 는 age가 null인 경우 0을 반환하고, 그렇지 않은 경우 age를 반환 println("..
깡냉쓰
'코틀린' 태그의 글 목록 (3 Page)