본문 바로가기

Android/Kotlin 기초7

Kotlin 기초 문법 7 - object, companion object Object 코딩을 할 때 싱글턴 패턴이 필요한 경우가 생길 수도 있을 것이다. Kotlin에서는 싱글턴 패턴을 직접 만들어서 사용할 수도 있지만, Object 선언을 통해서 편하게 싱글턴 객체를 생섵할 수 있는 방법도 제공해 준다. 클래스를 선언할 때 class 키워드 대신에 object 키워드를 사용하면 간편하게 만들 수 있다. [Code] [결과] class 키워드 대신에 object 키워드를 사용한 것만 제외하면 클래스를 선언하는 것과 다를 것이 없다. 이렇게 object로 선언하면 SingletonObject라는 식별자로 객체에 바로 접근하는 것이 가능하다. Companion Object companion object에 대해 설명하기 전에 미리 말하면, companion object는 stati.. 2020. 5. 26.
Kotlin 기초 문법 6 - Nullable, null, null check 오늘은 Swift의 Optional, nil과 비슷한 개념인 Nullable, null에 대해 알아볼 것이다. Swift와 비교한 부분은 다른 글에 따로 포스팅 했으니 필요하다면 참고 바란다. null 먼저, Kotlin에서의 null은 다른 언어에서의 null 개념과 비슷하다고 생각하면 된다. null은 변수가 실제로 아무 객체도 가리키고 있지 않다는 뜻이다. C언어에서도 메모리를 가리키는 포인터가 실제로 가리킬 객체나 자료가 없을 때 NULL을 가질 수 있듯이 Kotlin도 null을 할당할 수 있다. 한 가지 차이점은 C언어에서의 NULL은 값이 0으로, 0번 주소가 되고 이것은 가리키는 메모리가 없다는 뜻으로 인식된다. 하지만 Kotlin에서의 null은 0이 아니라 null이 따로 정의되어 있다.. 2020. 5. 24.
Kotlin 기초 문법 5 - 예외, 예외 처리, throw 예외 (Exception) 예외는 프로그램이 실행되던 중에 예상하지 못한 상황이 발생하는 경우를 말한다. 숫자가 아닌 문자열 값을 Integer로 타입 변환하려 하거나, 실제로 할당되지 않아서 메모리에 없는 값을 참조하려 하는 등의 경우에 예외가 발생한다. 예기치 못하고 대처해두지 않은 예외가 발생하면 앱은 에러 메세지를 남기고 종료된다. [Code] [결과] 일반 문자열을 Int로 변환하려 했을 때 예외가 발생하는 코드를 작성해보았다. "str.toInt()"가 실행되면서 예외가 발생한 것을 확인할 수 있다. 로그를 확인해보면 main 쓰레드에서 NumberFormatException이 발생했다고 나온다. 그 밑에는 콜 스택도 함께 출력되어 있는데, java.lang.Integer.parseInt에서 .. 2020. 5. 22.
Kotlin 기초 문법 4 - 함수, 매개변수, 인자, 가변 인자 이번 포스팅에서는 Kotlin에서 함수를 정의하고 사용하는 방법과, 매개변수(Parameter), 인자(Argument), 기본 인자, 가변 인수에 대해 다뤄볼 예정이다. 함수 (Function) 앞선 기초 문법 포스팅들에서 사용했던 main() 함수도 함수의 한 종류이다. 작업의 기본 단위인 함수에 대해 알아보자. 함수는 기본적으로 위의 형태로 선언을 한다. fun 키워드와 함수 이름, scope는 함수를 선언하기 위해서는 꼭 작성해줘야 한다. 파라미터는 필요 없는 경우 생략할 수 있으며, 반환 타입도 값을 반환하지 않는다면 명시할 필요가 없다. 다만, 반환 타입을 생략할 경우에는 반환 타입이 자동으로 Unit으로 지정된다. Unit은 다른 언어에서의 void와 비슷한 개념이라고 생각하면 된다. [Co.. 2020. 5. 20.
Kotlin 기초 문법 3 - 조건문 if, when Kotlin의 조건문인 if-else와 when에 대한 사용 방법을 정리해본다. 지난 번에 작성한 글의 비교 연산자와 논리 연산자를 이용하면 Boolean 타입을 반환 받게 되는데 이 연산자들은 대부분 조건문에서 작성하게 된다. 상황에 따라 다른 코드가 동작되어야 할 때 비교/논리 연산자와 조건문을 함께 사용하면 된다. 이번 글에서 조건문을 어떻게 사용하는 지 알아보도록 하자. if 조건문 if 조건문은 위와 같이 if 키워드를 사용하여 괄호 안에 Boolean 타입 표현식을 사용하고 scope를 지정하여 해당 조건일 때 실행될 코드를 작성해주면 된다. [Code 1] [결과 1] 위와 같이 코드를 작성하면, "x < y" 가 true를 반환하기 때문에 scope 안의 코드가 실행된 것을 확인할 수 있다.. 2020. 5. 18.
Kotlin 기초 문법 2 - 연산자 오늘 포스팅에서는 Kotlin 기초 문법의 연산자에 대해 다뤄보려고 한다. 크게 기본 연산자인 산술 연산자, 증감 연산자, 비트 연산자, 비교 연산자, 논리 연산자 다섯 가지가 있다. 산술 연산자 산술 연산자는 기본적인 가감승제를 수행할 수 있는 연산자를 말한다. 코틀린에서는 다섯 가지 산술 연산자(+, -, *, /, %)를 사용할 수 있다. 이 연산자들의 동작은 각각 다음과 같다. 연산자 사용 동작 + a + b a와 b를 더한 값 - a - b a에서 b를 뺀 값 * a * b a와 b를 곱한 값 / a / b a를 b로 나눈 값 (정수의 경우 나머지 버림) % a % b a를 b로 나눈 나머지 [Code] [결과] 표에 정리한 내용과 똑같이 연산이 되는 것을 확인할 수 있다. 산술 연산자는 사칙연.. 2020. 5. 16.