반응형

분류 전체보기 209

코틀린 10. 흐름제어

이번 글에서는 코틀린의 흐름제어에 대해서 알아보도록 하겠습니다. 흐름제어 코틀린에서 흐름제어가 가능하도록 해주는 키워드는 return, continue, break이 있습니다. return에 대해서는 함수를 설명할 때 이야기했었는데요. 함수 내에서 return을 만나면 프로그램은 뒤에 더 실행할 코드가 있든 없든 즉시 함수를 종료시킵니다. 그리고 return을 제외한 두 가지(continue, break)은 사실 반복문 내에서만 사용됩니다. 즉, 반복문의 흐름을 제어한다는 뜻이죠. 그럼 두 흐름제어문이 각각 어떤 역할을 하는지 알아봅시다. continue 먼저 continue입니다. continue에 대해 알아보기 전에 continue의 사전적 의미에 대해 생각해보고 어떤 역할을 하는지 한 번 생각해봅시..

코틀린 9. 반복문

이번 글에서는 코틀린에서 사용하는 반복문에 대해서 알아보도록 하겠습니다. 반복문 반복문은 조건문과 마찬가지로 프로그래밍에서 빼놓으면 안 되는 기본 문법 중 하나입니다. 반복문이란 말 그대로 어떠한 작업을 반복해서 수행하는 것을 이야기합니다. 예를 들어 여러분이 1~5까지 더하는 코드를 작성한다고 생각해봅시다. fun main() { var a = 0 a = 1 + 2 + 3 + 4 + 5 } 이 정도야 이런 간단한 코드만으로 쉽게 해결할 수 있을것입니다. 하지만, 1~5까지가 아닌 1~10000을 더해야 한다면 어떡할까요? 또는 단순한 덧셈이 아닌 복잡한 작업을 반복해야 한다면 어떡할까요? 이런 때 모든 코드를 일일이 써야 한다면 매우 지루하고 비효율적인 작업이 되어 능률이 현저히 떨어지겠죠. 때문에 사..

코틀린 8. 조건문

이번 글에서는 코틀린의 조건문에 대해서 알아보도록 하겠습니다. 조건문 조건문이란 특정한 조건에 따라서 프로그램의 흐름을 제어하는 문법입니다. 예를 들어 도어락을 생각해봅시다. 이 도어락은 출입자가 맞는 비밀번호를 입력하면 문을 열고, 틀린 번호를 입력하면 문을 열지 않습니다. 여기서 출입자가 입력한 비밀번호가 맞는 비밀번호인가? 가 조건이 되는 것이고, 참일 때 행하는 것이 문을 연다. 거짓일 때 행하는 것이 문을 열지 않는다.이며 이 전체를 조건문이라고 하는 것입니다. 이렇게 간단한 예를 듣기만 해도 프로그래밍에서 조건문이 얼마나 중요한 역할을 하는지 바로 와 닿지 않나요? 조건문이 없다면 도어락이라는 기계 자체를 설계할 수가 없을 테니 말이죠. 그렇다면 이제 조건문이 무엇인지 알았으니 코틀린에서 사용..

코틀린 7. Nullable변수

이번 글에서는 Nullable변수에 대해서 알아보도록 하겠습니다. Nullable 코틀린의 장점을 몇 가지 나열했을 때, null에 대한 안전성을 가진다고 말했던 적이 있습니다. 이에 대해 말해보려고 하는데, 예를 들어 아래와 같은 코드가 있다고 생각해봅시다. fun main() { var a:Int } 보통 이렇게 변수를 선언함과 동시에 초기화하지 않으면 대부분의 프로그래밍 언어의 경우 Int형의 기본값인 0이나 null로 변수가 자동적으로 초기화됩니다. 하지만 코틀린에서는 이렇게 변수가 처음에 null로 초기화되는 것을 기본적으로 금지하고 있습니다. 때문에 위의 코드의 경우 a를 출력시키려고 하면 반드시 a를 초기화해야 한다고 오류 메시지가 출력될 것입니다. 이렇게 변수 선언 시 null값이 들어가는..

코틀린 6. 함수

이번 글에서는 함수에 대해서 알아보도록 하겠습니다. 함수 함수란 무엇일까요? 함수는 영어로 function이라고 하는데, 어떠한 정해진 작업을 수행하기 위해서 만들어진 코드들의 집합, 즉 프로그램 내의 작은 프로그램 이라고도 말할 수 있습니다. 사실 우리들은 지금까지도 계속해서 함수들을 사용해왔습니다. 우리가 출력할 때 사용한 println, 형변환시 사용한 toXXXX등이 모두 함수에 속합니다. 이렇게 코틀린에서 기본적으로 사용할 수 있도록 만들어져 있는 함수들을 '라이브러리 함수'라고 부릅니다. 함수를 왜 써야하는가? 그렇다면 이런 함수는 왜 사용할까요? 예를 들어 여러분이 어떠한 계산을 수행해야 한다고 생각해봅시다. 여기서는 간단하게 두 수를 곱한 뒤, 이 값을 다른 수로 나누고, 그 결과를 다시 ..

코틀린 5. 배열

이번 글에서는 배열에 대해서 알아보도록 하겠습니다. 배열 배열이란, 어떤 특정한 자료형을 연속적으로 나열하는 것을 이야기합니다. 예를 들어, 여러분이 1~5까지의 숫자를 변수에 저장해야 한다고 생각해봅시다. fun main() { var a = 1 var b = 2 var c = 3 var d = 4 var e = 5 } 우리가 지금까지 알아온 지식으로는 이 정도로 해결할 수 있을 것입니다. 하지만 코드를 보자마자 이 방법은 매우 비효율적일 것이라는 생각이 듭니다. 또한, 1~5가 아닌 1~100까지만 가도 이 방법은 매우 귀찮고, 힘든 일이 될 것입니다. 때문에 이렇게 여러 개의 자료들을 저장하기 위해서 우리는 배열을 사용합니다. 위에서 말했듯이 배열은 특정한 자료형을 연속적으로 나열하는 것을 말하는데..

코틀린 4. 타입추론과 형변환

이번 글에서는 코틀린에서의 타입추론과 형변환에 대해서 알아보도록 하겠습니다. 타입추론 타입추론이란 변수, 또는 함수를 선언할 때 그에 맞는 자료형을 명시해서 코딩하지 않아도 코틀린이 내부적으로 해당 변수와 함수에 맞게 자료형을 지정해주는 기능을 이야기합니다. fun main() { var name: String = "홍길동" } 예를 들어 위와 같이 name이라는 String형 변수를 "홍길동"이라는 문자열로 초기화하는 코드가 있다고 생각해봅시다. 여기서 우리는 변수를 선언함과 동시에 초기화를 해주고 있습니다. 이때 코틀린은 우리가 따로 자료형을 지정해 주지 않아도 해당 변수에 들어가는 데이터의 형태를 파악해서 변수의 자료형을 자동으로 지정해주는데, 이를 '타입추론'이라고 합니다. fun main() {..

코틀린 3. 변수와 자료형

이번 글에서는 코틀린에서의 변수와 자료형에 대해서 알아보도록 합시다. 변수 변수란, 기본적으로 어떠한 데이터를 집어넣을 수 있는 특정한 공간을 이야기합니다. 물건을 집어넣는 상자를 예로 들면 이해하기 쉬울 것입니다. 이 상자에는 물건을 넣을 수 있고, 넣은 물건을 빼서 사용할 수 있습니다. 또, 안에 들어있는 물건을 바꿀 수도 있겠죠. 코틀린에서 변수를 선언하는 방법은 두 가지로 나눠집니다. 1. var : 일반적으로 말하는 변수로, 언제든지 값을 읽고 쓸 수 있으며, 바꿀 수 있습니다. 2. val : 선언 후 한 번만 초기화 할 수 있으며, 이후에는 내부의 값을 변경할 수 없습니다. 이렇게 두 가지로 나눠져 있는데, val같은 경우 한 번 정해지면 바뀌면 안 되는 값을 저장할 때 사용합니다. 예를 들..

코틀린 2. 개발환경 구축

이번 글에서는 코틀린 코딩을 위해 사용할 수 있는 개발환경에 대해서 알아보도록 합시다. REPL REPL(Read Eval Print Loop)는 간단하게 코드를 동작시킬 수 있는 대화형 환경을 이야기합니다. 코틀린은 개발자들을 위해 아래와 사이트를 제공하고 있습니다. play.kotlinlang.org/ Kotlin Playground: Edit, Run, Share Kotlin Code Online play.kotlinlang.org 주소로 이동하면 위와 같은 화면이 나오는데, 이 곳에서 간단한 코딩과 실행을 별도의 프로그램 설치 없이 해보실 수 있습니다. 기본적으로 Hello, World를 출력하는 코드가 작성된 상태이며, 오른쪽 상단의 화살표 버튼을 누르게 되면 코드를 실행시키고 아래에 결과가 출..

코틀린 1. 코틀린 개요

코틀린은 2011년에 JetBrains에서 공개한 객체지향 프로그래밍 언어이며, 2017년에 구글이 안드로이드 공식 언어로 코틀린을 추가했습니다. JVM기반으로 만들어진 프로그래밍 언어로서 Java와의 100%상호운용을 지원하고 있으며, 자바에 비해 간결한 문법을 제공하고 있기 때문에 현재 Java를 대체하는 언어로 많이 사용되고 있습니다. 현재 현업에서도 기존의 자바 대신에 대부분 코틀린으로 어플리케이션을 개발하고 있다고 하고, 실제로 어플리케이션 개발자 구직 사이트를 찾아봐도 자바보다는 코틀린을 사용할 수 있는 개발자를 선호하는 것으로 보입니다. 그럼 어떠한 부분이 그렇게 좋길래 자바를 재치고 안드로이드 개발의 주요 언어가 될 수 있었는지 알아보도록 합시다. 1. 문법이 간결하다. 기존의 자바와 비교..

반응형