728x90

Android/Kotlin

18

Kotlin :: try~catch, throw

프로그램 코드를 작성하다 보면 해당 코드가 제대로 작동하지 못하고 중단되는 현상이 발생한다. 이것이 예외(Exception)이다. 따라서 프로그램을 실행할 때 발생할 수 있는 예외에 대비 즉, 예외 처리를 해야하는데 try 블록에서 발생한 예외를 catch 블록에서 잡아 처리한다. try{ // 예외 발생 가능성이 있는 문장 } catch (e: 예외 처리 클래스) { // 예외 처리 } finally { // 반드시 실행되어야 하는 문장 } finally 블록은 try 블록의 예외 발생 여부에 상관 없이 반드시 처리해야할 문장을 작성한다. 예를 들어 try블록에서 '파일 열기' 작업을 했다면 finally 블록에서는 반드시 '파일 닫기' 작업을 한다. 반드시 해야할 작업이 없다면 생략도 가능하다. 아래..

Android/Kotlin 2021.11.08 moonsu

Kotlin :: Unit

Unit 키워드는 타 언어의 void에 대응되는 개념이다. add(10, 20) fun add (a: Int, b: Int) : Unit { println(a + b) } // Unit은 생략 가능하다 하지만 코틀린의 Unit과 타 언어의 void가 완전히 같은 것은 아니다. void는 특수 타입으로 반환값이 없음을 나타내지만 Unit은 클래스에 정의된 일반 타입이다.

Android/Kotlin 2020.11.16 moonsu

Kotlin :: 흐름 제어 continue와 break, 레이블 (Label)

1. continue continue 키워드는 반복문에서 일부 문장을 건너 뛸 때 사용한다. fun main(args: Array): Unit { var i = 0; while (i < 10) { i += 1 if (i % 2 == 0) // i가 짝수 일 때 아래 코드를 무시하고 반복문의 처음으로 간다. continue print(i) } } // 결과 : 1 3 5 7 9 continue 를 실행하면 아래 코드를 실행하지 않고 가장 가까운 반복분의 첫 부분으로 이동한다. 위 코드에서 i 가 짝수일 때 continue 가 실행되므로 짝수는 출력되지 않는다. 2. break break 키워드는 호출 즉시 가장 가까운 반복문을 탈출한다. fun main(args: Array): Unit { var i = ..

Android/Kotlin 2020.10.27 moonsu

Kotlin :: 반복문 do~while

do~while 은 기본적으로 while 과 같지만 하나, 조건문이 마지막에 온다. do{ // 조건이 참일때 이 구간을 반복한다. } while(조건) 아래 예는 변수 i가 10이 넘지 않을 때까지 코드를 반복한다. fun main(args: Array): Unit{ var i = 0; do { println(i) i++ } while(i < 10) } // 결과 : 012345678910 while 속 조건문이 참(true)일 때 블록 속 문장을 반복한다. 변수 i 는 while이 반복될 때마다 1씩 증가하고 있다. 따라서 i 가 10이 될 때 반복문이 종료된다. 하지만 조건문이 마지막에 오기 때문에 i 는 10까지 출력된다. (동일한 조건의 while문 이었으면 9까지 출력된다.) 반복문을 사용할 ..

Android/Kotlin 2020.10.21 moonsu

Kotlin :: 반복문 while

코틀린에서 반복문 while를 사용하는 방법이다. while 은 특정 문장을 반복할 때 사용하는 키워드이다. while (조건){ // 조건이 참일때 이 구간을 반복한다. } 아래 예는 변수 i가 10이 넘지 않을 때까지 코드를 반복한다. fun main(args: Array): Unit{ var i = 0; while(i < 10){ println(i) i++ } } // 결과 : 0123456789 while 속 조건문이 참(true)일 때 블록 속 문장을 반복한다. 변수 i 는 while이 반복될 때마다 1씩 증가하고 있다. 따라서 i 가 10이 될 때 반복문이 종료된다. 반복문을 사용할 때는 무한루프에 빠지지 않도록 주의해야 한다. fun main(args: Array): Unit{ var i =..

Android/Kotlin 2020.10.21 moonsu

Kotlin :: 조건문 when

when도 if와 같이 조건에 따라 문장 실행 여부를 결정한다. when은 자바의 switch~case를 대체하는 문장이다. 아래 when을 사용한 예제가 있다. fun main(args: Array): Unit { val result = 20 when (result) { result > 50 -> { println('A') } result > 40 -> { println('B') } result > 30 -> { println('C') } result > 20 -> { println('D') } else -> { println('E') } } } // 결과 : E result 값에 따라 알맞은 println() 이 호출된다. 위 모든 비교값과도 일치하지 않을 때 else 문장이 실행되며, 생략할 수 있..

Android/Kotlin 2020.10.21 moonsu

Kotlin :: 표현식으로 if else 사용하기

코틀린에서는 if-else문을 표현식으로도 사용할 수 있다. fun main(args: Array): Unit { val result: Int = if( 1 > 0 ) { println("큰 값은 1") 1 } else { println("큰 값은 0") 0 } println(result) } // 큰 값은 1 // 1 Int 타입의 변수 result 에 if문을 대입하고 있다. if가 참이라면 if 블록 내의 마지막 표현식인 1이 result의 값으로 반환된다. 반대로 거짓이라면 else 블록 내의 마지막 표현식인 0이 반환된다. 이 때 if 와 else 블록의 표현식은 타입이 일치해야한다. if 의 마지막 표현식 타입이 Int 였다면 else 도 마찬가지로 Int 여야 한다. 그렇다면 아래와 같이 마..

Android/Kotlin 2020.10.15 moonsu

Kotlin :: 문자열 안에 표현식 값 넣기

fun main(args: Array): Unit{ val a = 10 val b = 20 println("a : $a") println("b : $b") println("a + b = ${a+b}") } // a : 10 // b : 20 // a + b = 30 변수 a와 b에 각각 10과 20을 저장한다. 큰 따옴표("") 안에 있는 문자가 출력되고 $ 뒤에 변수 이름을 적으면 해당 부분은 변수 값으로 대체된다. $ 자체를 출력하고 싶다면 $ 대신 \$ 를 사용해야 한다. fun main(args: Array): Unit{ println("a : \$a") } // a : $a 일반 변수의 값이 아닌 표현식의 값을 문자열에 포함하고 싶다면 ${표현식} 의 형식을 사용한다.

Android/Kotlin 2020.10.15 moonsu

Kotlin :: 프로그래밍 언어 배우기 (고차함수)

5. 고차함수 고차함수란, 일반 함수의 매개변수나 반환값으로 또 다른 함수가 사용되는 함수를 말한다. 먼저 일반적인 함수에서의 인자 전달 예시를 보자 fun sum(a: Int, b: Int){ return a + b } fun main(){ val result = sum(2, 3) println("result = $result") } // 결과값 // result = 5 위 코드는 Int타입의 매개변수 두 개를 전달 받아 Int타입의 값을 반환하는 함수이다. 고차함수는 이러한 매개변수나 반환값에 함수를 이용할 수 있다. fun sum(a: Int, b: Int, div: (Int, Int) -> Int){ return a + b + div(20, 10) } fun main(){ val result = ..

Android/Kotlin 2020.10.12 moonsu

Kotlin :: 프로그래밍 언어 배우기 (람다함수, 익명함수)

본 문서는 안드로이드 개발자 가이드 를 토대로 작성되었습니다. 함수 3. 람다함수 (Lambda Functions) 람다식 또는 람다함수는 함수의 간결함을 목적으로 한다. 기존 함수를 정의할 때 사용했던 fun 예약어나 함수이름을 명시하지 않고 축약해 선언한다. // 기존 함수 선언 fun 함수이름 (매개변수) { ... } // 람다함수 선언 {매개변수 -> ...} 람다함수는 -> 키워드를 기준으로 왼쪽은 매개변수, 오른쪽에는 함수의 내용을 명시한다. 매개변수로 타입을 선언해야 하지면 생략할 수 있다. val stringLengthFunc = { num1: Int, num2: Int -> // Int는 생략 가능! num1 + num2 } 코드의 중복을 막고 여러번 반복해서 사용하기 위한 방법이 기존..

Android/Kotlin 2020.10.06 moonsu

Kotlin :: 프로그래밍 언어 배우기 (기본함수)

본 문서는 안드로이드 개발자 가이드 를 토대로 작성되었습니다. 함수 1. 함수선언 동일한 코드를 중복해서 사용하는 대신 함수에 코드를 포함한 다음 호출 할 수 있다. 코틀린의 함수 구조는 다음과 같다. fun 함수이름 ( 매개변수이름 : 타입 ) : 반환타입 fun generateAnswerString(): String { // 매개변수가 없는 경우 아무것도 쓰지 않는다. val answerString = if (count == 42) { "I have the answer." } else { "The answer eludes me" } return answerString } 위 예에서 함수의 잉름은 generateAnswerString 이고, 매개변수는 없으며, String 타입의 결과를 출력한다. 함수..

Android/Kotlin 2020.10.05 moonsu

Kotlin :: 프로그래밍 언어 배우기 (조건문)

본 문서는 안드로이드 개발자 가이드 를 토대로 작성되었습니다. 조건문 1. if~else Kotlin의 조건부 논리를 구현하기 위한 가장 일반적인 메커니즘 if~else. if() 괄호 안에 식이 true 일 때 {} (중괄호) 내 코드가 실행된다. 그렇지 않은 경우 else 내 코드가 실행된다. if (count == 42) { println("count 는 42다.") } else { println("count 는 42가 아니다.") } 경우의 수가 3가지 이상일 때 else if 를 사용하여 여러 조건을 나타낼 수 있다. if (count == 42) { println("count 는 42이다.") } else if (count > 35) { println("count 는 42가 아니면서 35보다는..

Android/Kotlin 2020.10.01 moonsu
728x90
반응형