본문 바로가기

kotlin7

[부스트코스]코틀린 프로그래밍 기본 1 수강 후기 부스트코스 서포터즈 3기 활동으로서 코틀린 프로그래밍 기본 1/2(함수편)을 듣고 작성된 포스팅입니다 부스트코스의 코틀린 프로그래밍이란? 부스트코스란 플랫폼에서 구글에서 지정한 안드로이드 공식 언어 코틀린을 학습하는 과정으로, 코딩에 대한 어느 정도의 지식이 있는 사람, JAVA와는 새로운 패러다임 언어를 찾는 사람, 함수형 프로그래밍에 관심이 있는 사람 모두가 학습하기 좋다. 부스트코스의 코틀린 프로그래밍 수강 방법 부스트코스는 직업에 필요한 역량을 향상시킬수 있는 온라인 교육 프로그램입니다. 수강생은 부스트코스 학습컨텐츠를 이용해 현장에서 필요한 기초 지식을 학습한 후 실무와 유사한 프로젝트를 수행해볼 수 있습니다. 수행한 프로젝트는 평가 기준표를 기반으로 자가 평가가 가능하며 원하는 경우, 프로젝트.. 2021. 2. 9.
[부스트코스][Kotlin]표준함수 활용(3) - 람다식 검사, 시간측정, 난수생성 함수 부스트코스 서포터즈 3기 활동으로서 코틀린 프로그래밍 기본 1/2(함수편)을 듣고 작성된 포스팅입니다 표준함수 활용(3) 1) 람다식 검사 - takeIf()과 takeUnless() // takeIf()과 takeUnless() 표준 함수의 정의 public inline fun T.takeIf(predicate: (T) -> Boolean): T? = if (predicate(this)) this else null public inline fun T.takeUnless(predicate: (T) -> Boolean): T? = if (!predicate(this)) this else null takeIf() : 람다식이 true이면 객체 T를 반환하고 그렇지 않은 경우 null 반환 takeUnless.. 2021. 1. 29.
[부스트코스][Kotlin]표준함수 활용(2) - apply(), run(),with(), use() 부스트코스 서포터즈 3기 활동으로서 코틀린 프로그래밍 기본 1/2(함수편)을 듣고 작성된 포스팅입니다 표준함수 활용(2) 1) apply() // 표준 함수의 정의 public inline fun T.apply(block: T.() -> Unit): T { block(); return this } apply()는 also()함수와 마찬가지로 호출하는 객체 T를 이어지는 block으로 전달하고 객체 자체인 this를 반환, also와 거의 비슷하지만, also는 람다식이 확장함수로서 처리된다. 그리고 also는 it으로 받고 생략될 수 없지만 apply는 생략될 수 있다. fun main() { data class Person(var name:String, var age:Int) var profile=Pe.. 2021. 1. 29.
[부스트코스][Kotlin]표준함수 활용(1) - let(), also() 부스트코스 서포터즈 3기 활동으로서 코틀린 프로그래밍 기본 1/2(함수편)을 듣고 작성된 포스팅입니다 표준함수 활용(1) 1) 클로저(closure) 클로저란? 람다식으로 표현된 내부 함수에서 외부 범위에 선언된 변수에 접근할 수 있는 개념. 람다식 함수를 이용하다 보면 내부 함수에서 외부 변수를 사용하고 싶을 때가 있다. 이 때 람다식 안에 있는 외부 변수는 값을 유지하기 위해 람다가 포획(capture)한 변수라고 부른다. 실행 시점에서 람다식의 모든 참조가 포함된 닫힌(closed) 객체를 람다 코드와 함께 저장한다. 이때 이러한 데이터 구조를 클로저(closure)라고 부른다다. 기본적으로 함수 안에 정의된 변수는 로컬 변수로 스택에 저장되어 있다가 함수가 끝나면 같이 사라진다. 하지만 클로저 개.. 2021. 1. 29.
[부스트코스][Kotlin]프로그램 흐름의 제어 부스트코스 서포터즈 3기 활동으로서 코틀린 프로그래밍 기본 1/2(함수편)을 듣고 작성된 포스팅입니다 조건문을 통한 분기 1) if-else문 fun main(){ val a=5 val b=7 //가장 기본적인 형태 if (a 수행할 문장 //인자에 일치하는 범위 -> 수행할 문장 //else -> 문장 100 -> println("만점입니다! 수고하셨습니다") in 90..99 -> println("90점은 아쉽네요 좀 더 노력합시다") //위에서 배운 in연산자와 범위지정자를 사용함 in 80..89 -> println("80점은 아슬아슬하게 합격입니다") 0,1 -> println("심각하네요. 좀 더 노력합시다") //여러 가지를 넣을 수도 있음 else -> println("불합격입니다") } .. 2021. 1. 28.
[부스트코스][Kotlin]코틀린의 다양한 함수들 부스트코스 서포터즈 3기 활동으로서 코틀린 프로그래밍 기본 1/2(함수편)을 듣고 작성된 포스팅입니다 다양한 함수들의 출격! 1) 익명(anonymous) 함수 익명 함수란? 일반 함수이지만 이름이 없는 것이다. 람다식 함수에서는 return이나 break, continue처럼 제어문을 사용하기 어렵기 때문에 함수 본문에 조건식에 따라 함수를 중단하고 반환해야 하는 경우에 일반 익명 함수로 표현할 필요가 있습니다. fun (x:Int, y:Int):Int = x + y //함수 이름이 생략된 익명 함수 2) 인라인(inline) 함수 인라인 함수란? 이 함수가 호출되는 곳에 내용을 모두 복사해 넣어 함수의 분기 없이 처리되기 때문에 코드의 성능을 높일 수 있다. 인라인 함수는 코드가 복사되어 들어가기 때.. 2021. 1. 28.