Uknow's Lab.
article thumbnail
[코파기 1부] 부록. 자바/코틀린의 네이밍 규칙

네이밍 컨벤션 (Coding Convention) 네이밍 규칙, 네이밍 컨벤션, 코딩 컨벤션, 코딩 스타일 등 부르는 이름은 다양하나 이들은 모두 한 가지를 의미합니다. 팀(회사)에서 협업이 쉽게 코드의 작성 스타일을 정한 것인데요. 농담삼아 프로그래머가 가장 힘들어하는 일은 이름 짓기라는 개발자 유머가 있죠 변수명, 클래스명, 메소드명을 보고 이게 어떤 기능을 하는구나! 어떤 동작을 하는구나!를 직관적으로 알아볼 수 있어야 하기 때문입니다. 자바/코틀린의 경우 일반적으로 사용되는 네이밍 규칙이 있고, 안드로이드 역시 구글에서 정한 코드 스타일 가이드라인이 있습니다. 하지만, 팀(회사)에서 자체적인 코드 스타일을 정해놓고, 팀 멤버들끼리만 협업을 진행한다면 언어 / 프레임워크의 기본 코딩 스타일을 굳이 ..

article thumbnail
[코파기 1부] 11. 코틀린과 함수 (Function)

함수란 무엇일까요. 처음 들어본건 수학시간 때 였습니다. f(x) = 2x + 5 등 형태였지요. 프로그래밍에서 말하는 함수도 수학시간 때 배웠던 함수와 비슷합니다. 프로그래밍에서의 함수는 쉽게 말하자면, '특별한 작업을 수행할 목적으로 작성된 일련의 코드 블록' 입니다. 함수를 쓰는 이유는 간단합니다. 반복적인 코드를 피할 수 있거든요. 반복적인 코드가 줄어들면, 개발이 용이할 뿐 아니라, 유지보수 역시 쉬워집니다. 함수(Function) vs 메소드(Method) 함수(Function)는 특정 작업을 수행할 목적으로 작성된 일련의 코드 블럭입니다. 그리고 메소드(Method)는 이러한 함수가 클래스 내에서 정의된 형태입니다. 즉, 함수와 메소드는 독립적이냐, 클래스에 종속적이냐로 볼 수 있는데요. 두..

article thumbnail
[코파기 1부] 10. 코틀린과 반복문 (2) : 흐름제어 - continue, break + 라벨링

반복문을 반복하고 있다가, 중간에 반복문을 멈추거나, 해당 회차를 건너뛰고 싶을 때가 있습니다. 이럴때 쓰기 좋은 반복문의 흐름 제어 방법에 대해 알아봅시다. break for(i in 0 until 10) { if(i == 5) { break } printin(i) } // 출력 >> 0 1 2 3 4 break는 반복문을 탈출하는 키워드입니다. 위 프로그램은 i가 0 부터 10까지 1씩 증가하지만, i가 5가 되는 순간(i == 5) break를 걸어 반복문을 탈출하는 프로그램입니다. 주로 if / when문과 같이 쓰이곤 합니다. 2중 for문에서 break는 어떻게 동작할까? for(i in 0 until 3) { for(j in 0 until 3) { if(j == 2) break println..

article thumbnail
[코파기 1부] 9. 코틀린과 반복문 (1) : for, while, do-while, repeat, forEach

프로그래밍은 굉장히 많은 일을 할 수 있습니다. 계신기부터 자율 주행 시스템까지, 수많은 기술들이 그렇겠지만, 정보 기술의 등장 이래 프로그래밍은 현대 사회의 근간을 바꿔왔고, 바꿀 기술이라 생각합니다. 이런 프로그래밍을 활용해 할 수 있는 일 중 하나는 바로 반복적인 일을 처리하는 것이지요. 네 그렇습니다. 이번에 소개해 드릴 것은 코틀린의 반복문입니다. for C와 Java 처럼 코틀린에서도 for을 사용한 반복문이 있습니다. 하지만 구조는 조금 다릅니다. // Java for(int i = 0; i>> 55 반복문과 세트로 항상 같이 나오는 예시이죠. 1부터 10까지의 합 구하기 입니다. 1 .. 10 (혹은 1 until 11)으로 1부터 10까지의 범위를 돌며, sum에 값을 누적시켜 구할 수 ..

article thumbnail
[코파기 1부] 8. 코틀린과 리스트 (List)

List란 무엇일까요. 배열(Array)는 연속된 데이터의 집합으로, 메모리에 물리적으로 연속되어 저장됩니다. 하지만 그렇다보니, 단점이 하나 있습니다. 바로 크기가 고정되어 있다는 것이죠. 한 번 생성하면, 크기를 줄이거나 늘리지 못합니다. 이러한 점 때문에 리스트(List)가 등장하였습니다. 리스트는 각 원소가 다음 원소의 주솟값(포인터)를 갖고있어, 메모리에 물리적 연속이 아니라 논리적으로 서로 연속되어 있습니다. 즉, 크기를 줄였다 늘였다 할 수 있는 가변 크기의 연속된 데이터이죠. 다만, 물리적 연속이 아닌 논리적 연속이기 때문에 속도는 배열보다 느립니다. 불변(Immutable) 리스트 val list = listOf(1, 2, 3) val list2 = List(3) { it } 코틀린의 L..

article thumbnail
[코파기 1부] 7. 코틀린과 배열 (Array)

배열 (Array)란, 여러개의 데이터를 효율적으로 처리하기 위해 고안된 자료구조입니다. 원소들이 연속적으로 나열되어 있는 형태이며, 한 번 선언된 배열의 크기를 바꾸는 것은 불가능합니다. 굉장히 자주 쓰이는 기본적인 자료구조인데요. 자바를 자주 쓰셨던 분들이라면 int[] arr = new int[3]; 과 같은 형태로 많이 쓰셨을텐데, 코틀린에서는 어떻게 배열을 생성하고 사용할까요? 코틀린의 배열 생성 var arr = arrayOf(1,2,3) // 0번째 인덱스 -> 1, 1번째 인덱스 -> 2, 2번째 인덱스 -> 3 println(arr[1]) // 출력 2 코틀린에서 배열은 위와 같이 arrayOf(원소 1, 원소 2, 원소 3, ... )으로 생성할 수 있습니다. val intArr = i..

article thumbnail
[코파기 1부] 6. 코틀린과 null (.? !!. ?:)

코틀린은 설계부터 null을 고려하여 설계된 언어입니다. nullPointerException. 자바 개발자라면 정말 많이 마주쳤고, 그리고 마주칠 오류죠. 코틀린의 null 안전성을 고려한 설계는 개발자들이 null 값을 다룰 때, 개발자들의 실수를 줄여줄 수 있을 겁니다. 코틀린의 nullable var a: Int = null // 오류 발생! var a: Int? = null // ? 키워드를 붙여줌으로써 null 값을 가질 수 있도록 만듬 코틀린에서는 자료형 뒤에 ?를 붙임으로써 nullable(null값을 가질 수 있음)하게 만들 수 있습니다. 코틀린 표준 입출력편에서 나왔던 readln()과 readLine()의 차이점, 기억나시나요? readLine()는 null을 입력으로 받을 수 있지만..

article thumbnail
[코파기 1부] 5. 코틀린과 조건문. 그리고 표현식

이번 시간에는 코틀린의 조건문과 표현식에 대해 다뤄보겠습니다. if if. 만약이라는 뜻이죠? 어떤 조건에 따라 프로그램을 수행하고 싶을 때 사용하는 키워드입니다. val a = 3 if(a == 3) { println("YES. a is 3") } // 출력 YES. a is 3 if문은 if(조건) { (몸통) }과 같이 사용할 수 있으며, if 바로 뒤에오는 조건이 true이면 if문의 중괄호 내 코드를 실행합니다. val a = 3 if (a == 3) println("YES. a is 3") // 출력 YES. a is 3 조건문 블록 내 코드가 한 줄일 경우, 중괄호는 생략하여도 됩니다. if문 다중 조건 비교 val a = 3 val b = 4 if(a == 3 || b == 4) { // ..

article thumbnail
[코파기 1부] 4. 코틀린과 연산자

대입 연산자 fun main() { var n = 3 } 대입 연산자 (=)는 오른쪽의 값을 왼쪽에 대입하는 연산자입니다. 위 코드의 경우, n에 3을 대입하는 역할을 합니다. 산술 연산자 fun main() { var a = 5 var b = 2 var result1 = a + b // a와 b의 덧셈 var result2 = a - b // a에서 b를 뺌 var result3 = a * b // a와 b의 곱셈 var result4 = a / b // a에서 b를 나눔 (정수형의 경우 소숫점 절삭) var result5 = a % b // a에서 b를 나눴을 때의 나머지 println(result1) println(result2) println(result3) println(result4) prin..

article thumbnail
[코파기 1부] 3. 코틀린과 기본 입출력

이번엔 코틀린의 기본 입출력에 대해 알아보겠습니다. 표준 출력 (Standard Output) println("Hello Kotlin") // 자동으로 줄 바꿈 print("Hello Kotlin") // 자동으로 줄 바꿈 하지 않음 코틀린에서의 출력은 println(), print()를 사용합니다. 메소드 이름에서 유츄할 수 있듯, 둘의 차이는 개행문자(\n)로, 자동으로 줄 바꿈을 하냐 안하냐의 차이입니다. println("Hello Kotlin") println("Hello Kotlin") println("Hello Kotlin") println("Hello Kotlin") // 실행결과 Hello Kotlin Hello Kotlin Hello Kotlin Hello Kotlin print("Hel..