반응형
728x90
반응형
코틀린 코드 맛보기
data class Person(val name: String, val age: Int? = null)
fun main(args: Array<String>) {
val persons = listOf(Person("영희"), Person("철수", age = 29))
val oldest = persons.maxByOrNull {it.age ?: 0}
println("나이가 가장 많은 사람 : $oldest")
}
JAVA 코드에 익숙해서 그런지, 코드가 눈에 잘 들어오지 않는다.
한줄 한줄 분석해보자.
아래의 내용들이 전부 이해는 되지 않지만, 책을 읽어가면서 내용들을 배울 때마다 아래 내용들에 포스팅 URL을 채워나갈 예정이다.
- property -> name, age
- Int? -> null이 될 수 있는 타입
- Int? = null -> 파라미터 default 값을 null 로 설정
data class Person(val name: String, val age: Int? = null)
- 데이터 클래스
data class Person
- 최상위 함수
fun main(args: Array<String>) { // 최상위 함수
- age = 29 -> 이름을 붙인 파라미터
val persons = listOf(Person("영희"), Person("철수", age = 29))
- 람다식 사용
- ?: 0 (엘비스 연산자) -> age 가 null인 경우 0을 반환하고, 그렇지 않은 경우 age 값을 반환한다.
val oldest = persons.maxByOrNull {it.age ?: 0}
- 문자열 템플릿
println("나이가 가장 많은 사람 : $oldest")
결과
- toString을 자동 생성해준다.
나이가 가장 많은 사람 : Person(name=철수, age=29)
Main.kt
fun main(args: Array<String>) {
println("Hello World!")
}
- 함수를 선언할때 fun 키워드를 사용한다.
- 파라미터 이름 뒤에 파라미터의 타입을 쓴다. (args: Array<String>)
- 함수를 최상위 수준에 정의할 수 있다. 꼭 클래스 안에 함수를 넣어야 할 필요가 없다.
https://devfunny.tistory.com/732
- 배열도 일반적인 클래스와 마찬가지로, 코틀린에는 배열 처리를 위한 문법이 따로 존재하지 않는다.
- System.out.println 대신에 println 이라고 쓴다. 코틀린 표준 라이브러리는 여러 가지 표준 자바 라이브러리 함수를 간결하게 사용할 수 있게 감싼 Wrapper를 제공한다.
- 세미콜론(;)을 붙이지 않아도 된다.
코틀린 함수 선언
fun max(a: Int, b: Int): Int {
return if (a > b) a else b // 함수 본문
}
함수 이름 : max
파라미터 목록 : a: Int, b: Int
반환 타입 : Int
반응형
'Coding > Kotlin' 카테고리의 다른 글
[Kotlin in Action] 5. while과 for 루프, Map 이터레이션, in으로 원소검사 (0) | 2022.05.15 |
---|---|
[Kotlin in Action] 4. enum 과 when, 클래스 계층과 스마트 캐스트 (0) | 2022.05.14 |
[Kotlin in Action] 3. 클래스, 프로퍼티 (0) | 2022.05.13 |
[Kotlin in Action] 2. 변수, 문자열 템플릿 (0) | 2022.05.12 |
[Kotlin] 인텔리J Kotlin 프로젝트 생성해보기 (2) | 2022.05.10 |