본문 바로가기

개발자/kotlin 코틀린

kotlin 06. 연산자, 프로퍼티, 생성자, 오버로딩 051 = = =, != = 연산자 String 타입의 리터럴로 이루어진 표현식에 한해서 참조변수에 동일한 문자열을 저장하면 컴파일러는 매번 새로운 문자열을 생성하지 않고 하나의 문자열을 가리키도록 만든다. 코틀린의 === 연산자는 자바의 == 연산자와 같다. fun main(args: Array) { var a = "one" var b = "one" println(a === b) b = "on" b += "e" println(a !== b) b = a println(a === b) } 결과 true true true 052 멤버 함수(Member Function) 클래스에 내장된 함수를 말한다. fun main(args: Array) { val building = Building() building.n..
kotlin 05. 파일분리, 패키지, import, object, heap, class 041 소스 파일 여러 개로 분리하기 // a와 b 중 더 큰 수를 반환하는 함수 fun max(a: Int, b: Int): Int = if (a > b) a else b // a와 b 중 더 작은 수를 반환하는 함수 fun min(a: Int, b: Int): Int = if (a < b) a else b // num의 절대값을 반환하는 함수 fun abs(num: Int): Int = if (num >= 0) num else -num 042 패키지(Package) 코틀린 프로젝트에는 모듈이 있고 모듈은 다시 패키지로 구성되어 있습니다. 그리고 패키지는 파일(클래스)로 구성되어 있습니다. 코틀린 파일은 .kt 확장자를 가지며 맨 위에는 이 파일이 어떤 패키지에 포함된 것인지 코틀린 컴파일러가 알 수 ..
kotlin 04. 매개변수, 인수, 범위, 함수 오버로딩, 스택 예제 코드 031 매개변수(Parameter)와 인수(Argument) 함수는 고정된 구문으로 이루어져 있지만 함수에 값을 전달하는 방식으로 함수가 다양한 일을 할 수 있도록 한다. 함수 이름 옆의 소괄호 안에 변수를 선언하는 방식으로 값을 전달하는 데 이를 매개변수라 한다. 매개변수를 선언할 때는 var, val 키워드를 붙이지 않는다. 매개변수는 무조건 val 선언이므로 값을 수정할 수 없는 변수다. fun main(args: Array): Unit { println(cToF(30)) println(getAverage(89, 96)) } fun cToF(celsius: Int): Double { return celsius * 1.8 + 32 } fun getAverage(a: Int, b: Int): Doubl..
kotlin 03. 제어문과 함수 기초 if( )와 else의 중첩 fun main(args: Array): Unit { val score = 88 if (score >= 90) { println('A') } else { if (score >= 80) { println('B') } else { if (score >= 70) { println('C') } else { println('F') } } } } 결과 B 너무 중첩되어 있어 보기 힘든 코드가 되었다. 대괄호 안의 문장이 한 개면 { }를 생략할 수 있고 if~ else 구문은 if ~ else if~ 구문으로 바꿀 수 있으니, 필요 없는 문장을 지워 단순하게 만들면 다음과 같다. fun main(args: Array): Unit { val score = 88 if (score >= 90..
kotlin 02. 문자열, 연산자, 제어문 문자열(String)이란 문자들을 일렬로 나열한 것을 말한다. fun main(args: Array): Unit { var str: String = "Hello" println(str) str = str + "\nKotlin!" println(str) println(str[8]) val num = 10 * 5 + 3 println(str + num) } 결과 Hello Hello Kotlin! t Hello Kotlin!53 문자열 안에 표현식의 값을 집어넣기: 표현식이나 변수값에 "$"표시를 사용하면 문자열에 포함된다. $ 문자 자체를 나타내려면 '\$'를 사용한다. fun main(args: Array): Unit { val a = 10 val b = 20 println("a의 값: $a") prin..
kotlin 기본 예제 01 모든 프로그래밍 언어를 배울 때 까장 먼저 만나는 것이 Hello world를 보는 것이다. 일단 보자. 코드를 입력하고 실행까지 웹에서 할 수 있다. 바로 코틀린 플레이 그라운드다. Hello, Kotlin! fun main(args: Array): Unit { println("Hello, Kotlin!") } 결과 Hello, Kotlin! 표현식(Expression) 단독으로 표현식이 나와도 에러가 아니다. 아래 53+62-126 fun main(args: Array): Unit { 53 + 62 - 126 println(53 + 62 - 126) } 결과 -11 변수(Variable)란 어떤 값을 저장해 놓은 공간이라고 이해하면 쉽다. 물론 다른 값으로 변하기도 하고, 보관 시간을 마음대로 길거나..
Kotlin 입문 참고 자료 Kotlin 시작하기 추가 리소스 Kotlin으로 더 많은 작업을 하는 데 도움이 되는 추가 학습 리소스는 다음과 같습니다. 사이트 kotlinlang.org - Kotlin의 모든 것을 알려주는 JetBrains 사이트입니다. 가이드 Hello World - Kotlin 기능 및 구문을 보여주는 JetBrains의 대화형 가이드입니다. 동영상 프로그래머를 위한 Kotlin 부트캠프: 이 Udacity 과정에서는 Kotlin의 필수 요소를 설명합니다. YouTube에서 'Kotlin on Android' 검색: 이 링크에는 Kotlin 관련 YouTube 동영상 목록이 포함됩니다. Kotlin 프로그래밍 소개: 이 O'Reilly 과정에서는 Kotlin 언어를 소개합니다. 초보자를 위한 Kotlin: 초..
Kotlin 핵심 개념 알아보기 2 Kotlin 핵심 개념 알아보기 1 에 이어 나머지 핵심 개념을 알아보자. 여기에서는 앞 편에 더해 제어부, 함수, 클래스에 대한 설명을 추가한다. 스마트 형 변환 스마트 형 변환은 한 변수 형식을 다른 형식으로 변환하지만, 안전 형변환과는 다르게 암시적으로 변환을 수행한다. 일반적으로 스마트 형변환은 모든 불변 참조(val)과 로컬 가변 참조(var)에 사용할 수 있다. 다음과 같은 두 가지 스마트 형변환이 있다. 형식 스마트 형변환은 객체를 한 형식에서 다른 형식으로 변환한다. null 가능성 스마트 형변환은 null 허용 참조를 null 불허 참조로 변환한다. 명시적 타입 변환할 때 사용하는 as와 as?를 사용한다. (as, as? 연산자) 스마트 캐스트는 두 가지 경우에 자동으로 수행되는데 첫 ..
Kotlin 핵심 개념 알아보기 1 이번 포스팅에서는 코틀린 프로그래밍 언어를 이루는 핵심 구성요소를 설명합니다. 구성 요소들 각각은 대단해 보이지 않지만 함께 결합해 강력한 언어 구문을 구성합니다. 엄격한 null 안전성과 스마트 형 변환을 지원하는 코틀린의 형식 시스템을 확인하며, JVM(Java Virtual Machine) 환경에 추가된 새로운 연산자와 자바에 비해 개선된 여러 특징들을 살펴보겠습니다. 또한 애플리케이션의 흐름을 처리하는 새로운 방법과 동등성을 통일된 방법으로 처리하는 방식을 알아봅니다. 여기서 다루는 내용은 다음과 같습니다. 변수, 값, 상수 형식 유추 엄격한 null 안전성 스마트 형변환 코틀린 데이터 형식 제어 구조 예외처리 변수 Kotlin은 두 키워드(val 및 var)를 사용하여 변수를 선언합니다. 값이 ..
안드로이드 스튜디오 파일 위에 날짜와 사용자 이름 나오게, Kotlin 파일 생성할 때 안드로이드 스튜디오에서 코틀린 파일 만들 때 날짜와 개발자 이름이 자동으로 생성하는 방법이다. 아무 파일이나 만들어도 헷갈리지 않게 만든 사람과 날짜를 입력한다. 아래처럼. /** * Created by girin - kimbongzo on 2022-02-1. */ 설정 방법은 아래를 따라한다. 안드로이드 스튜디오 File -> Settings -> Editor -> File and Code Templates를 선택한다. Includes 탭에서 File Header에 다음과 같이 수정한다. 아래 이미지를 참고하여 경로를 확인하기 바랍니다. /** * Created by ${USER} on ${DATE}. */ 날짜는 그대로 두고 개발자 이름을 고정 값으로 그냥 타이핑한 값으로 넣어줘도 된다. /** * ..
코틀린 웹에서 실행 Kotlin Playground 젠장, 원래 이렇게 힘들었나? 프로그래밍 언어를 배운다는 일은 녹록지 않은 일이라고 하지만, 어려운 일이다. 특히 안드로이드 프로그램은 어렵기로 정평이 나서 자바 개발자에게는 쉬운 일인데 따라가기 벅차네. 하지만 즐기기를 반복하는 사람은 당해내지 못한다. 즐겁게 하자. 과정에 모든 즐거움이 다 있단다. 플레이그라운드는 코드를 작성, 빌드, 실행 및 공유할 수 있는 온라인 코드 편집기입니다. 코드를 가지고 빠른 테스트가 가능하고, 아이디어를 테스트할 수 있습니다. 컴파일러나 IDE와 같은 도구를 설치할 필요가 없기 때문에 프로그래밍 언어를 처음 접하는 경우 특히 유용합니다. 여기서는 플레이 그라운드의 간단한 사용법을 알아봅니다. 말이 필요 없습니다. 코틀린 플레이 그라운드를 클릭하여 가보시면 다 압니다. ..
Kotlin related developments of 2021 안녕하세요, 여러분. Seb입니다. 이 동영상은 Kotlin News 채널로, 여러분에게 전하는 Kotlin News입니다. 오늘은 특별한 에피소드를 마련했습니다 2021년이 끝나가는 지금, 한 해를 마무리하며 올해 있었던 가장 큰 Kotlin 소식을 돌아보는 시간을 가져보려 합니다. 다들 좋아하는 음료를 준비하고 편하게 등을 기대세요. 그러면 2021년 요약을 시작하겠습니다. 올해 이전인 2011년 7월 19일로 시간을 거슬러 올라가보면 JVM 언어 서밋에서 JetBrains가 새로운 정적 타입의 JVM용 프로그래밍 언어를 발표했음을 확인 할 수 있습니다. 이때를 기준으로 계산하면 Kotlin의 나이는 2021년 7월에 10살이 되었다는 얘기죠! Kotlin은 시작부터 소프트웨어 개발 방식에 변화를 몰..