본문 바로가기

반응형

프로그래밍언어/Kotlin

(6)
[Kotlin] 영역 함수 (Scope functions) 코틀린은 특정 객체의 컨텍스트안에서 코드 블럭을 실행하도록 하는 함수들을 제공한다. 특정 객체에 대해서 영역 함수 (scope function) 들을 사용하면 임시적으로 영역 (scope) 가 형성되며, 영역안에서는 객체의 이름이 없이 컨텍스트 객체에 접근이 가능하다. scope function 에는  let, run, with, apply, also, 이렇게 5개 함수들이 포함되며 이러한 함수들을 사용하여 코드를 더욱 간결하고 가독성 좋게 작성할 수 있다.1. Scope functions 비교scope functions 는 기본적으로 코드 블럭을 실행한다는 점에서 동일하지만, 블럭안에서 컨텍스트 객체에 접근하는 방법과 표현식의 결과 등이 서로 다르다. - Context object: this or it..
[Kotlin] 튜토리얼 따라가기 (5) (Null safety) 프로그래밍을 하다보면 null 값을 만나는 경우가 있다. null 값으로 인해서 예외가 발생하는 경우가 많은데, 코틀린에서는 null 값을 방지하는 null safety 기능을 가지고 있다. 이를 통해서 코틀린은 런타임이 아닌 컴파일 타임에 null 값으로 인한 잠재적 위험을 탐지할 수 있다. null safety 기능을 통해서 null 값이 가능한 곳을 명시적으로 선언하거나, null 값을 확인하거나, null 값을 반환할 여부가 있는 프로퍼티나 함수를 안전하게 호출하기, null 값이 발견되었을 때 수행할 동작 설정 등을 할 수 있다.1. Nullable types코틀린에서는 기본적으로 null 을 허용하지 않는다. 하지만 명시적 타입 뒤에 '?' 기호를 붙여서 nullable type 으로 선언할 ..
[Kotlin] 튜토리얼 따라가기 (4) (Classes) 1. Classes코틀린은 Class 와 Object 를 통해 객체지향을 제공한다. 클래스 선언에는 다음과 같이 Class 키워드를 사용하여 선언한다. class Customer2. Propertiesclass Contact(val id: Int, var email: String)class Contact(val id: Int, var email: String = "example@gmail.com") { val category: String = "work"} 클래스 객체는 프로퍼티를 가진다. 프로퍼티는 클래스 선언시 선언부의 () 괄호 또는 구현부의 {} 괄호에 선언할 수 있다. 선언부의 프로퍼티는 함수에서와 같이 기본값을 정의할 수 있다. 프로퍼티는 var 과 val 모두로 선언할 수 있는데, 런타..
[Kotlin] 튜토리얼 따라가기 (3) (Functions) 1. Functionsfun sum(x: Int, y: Int): Int { return x + y}fun main() { println(sum(1, 2)) // 3} 코틀린에서는 fun 키워드를 사용하여 함수를 선언한다. 매개변수는 타입과 함께 () 괄호 안에 선언되고, 함수 본문은 {} 안에 작성된다. 함수의 반환 타입은 함수 선언부의 매개변수 괄호 다음에 정의된다.2. Named arguments코틀린은 함수를 호출할 때 매개변수의 이름을 지정하여 인자를 입력할 수 있다. 이를 named argument 라고 하며, 이때는 매개변수의 순서와 상관없이 지정한 매개변수로 인자가 입력된다. fun printMessageWithPrefix(message: String, prefix: Str..
[Kotlin] 튜토리얼 따라가기 (2) (Control flow) 1. Control flow- Conditional expressions코틀린은 if 와 when 을 이용한 조건문 기능을 제공한다.1) ifval d: Intval check = trueif (check) { d = 1} else { d = 2}println(d)// 1 () 괄호 안의 조건과 그에 따른 행동을 {} 괄호 안에 작성한다. 조건문은 if - else 를 이용하여 구성한다. val a = 1val b = 2println(if (a > b) a else b) // Returns a value: 2 코틀린은 삼항 연산자 'condition ? then : else' 를 제공하지 않는다. 대신 위의 예제와 같이 {} 괄호를 생략하고 한 줄로 조건문을 작성할 수 있다.2) whenval..
[Kotlin] 튜토리얼 따라가기 (1) (Hello World, Variable, Collection) 코틀린 공식 문서에 있는 Kotlin Tour 를 읽어보고 기본 문법을 정리한다.1. Hello World- Hello Worldfun main() { println("Hello, world!") // Hello, world!} "Hello World!" 를 출력하는 간단한 예제이다. 코틀린에서는 함수를 선언할 때 fun 키워드를 사용한다. 자바와 동일하게 main() 함수가 프로그램의 시작점을 의미한다. 문자열 출력은 println() 또는 print() 함수를 통해 수행한다.- Variablesval popcorn = 5 // There are 5 boxes of popcornval hotdog = 7 // There are 7 hotdogsvar customers = 10 /..

반응형