[Kotlin in Action] 1. Hello Kotlin 기본 코드 분석하기

반응형
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

 

[Kotlin] 인텔리J Kotlin 프로젝트 생성해보기

Kotlin 첫 입문 프로젝트 생성 인텔리J 프로젝트 생성 : [File] - [New] - [Project...] Main 클래스 생성 Main.kt 잘못된 예제 (X) Java 와 동일하게 Main 클래스 안에 main 메서드를 두었다. class Main { fun..

devfunny.tistory.com

 

  • 배열도 일반적인 클래스와 마찬가지로, 코틀린에는 배열 처리를 위한 문법이 따로 존재하지 않는다.
  • 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

 

 

반응형

Designed by JB FACTORY