Programming/Kotlin
-
코틀린 함수 관련 개념Programming/Kotlin 2022. 5. 11. 01:51
일급 객체 일급객체는 다음과 같은 특징을 갖고 있습니다. 일급함수는 함수가 객체(변수)로 취급될 수 있습니다. (함수를 변수에 할당하거나 자료구조에 저장하는 것이 가능) 일급함수는 함수 객체를 인자로 넘길 수 있어야 합니다. 일급함수는 함수 객체를 반환값으로 반환할 수 있어야 합니다. 프로그래밍 언어에서 일급함수를 지원한다는 것은 고차함수를 사용할 수 있다는 것과 같습니다. 함수 리터럴 Literal은 어떤 값을 표기하는 방법을 뜻합니다. In computer science, a literal is a notation for representing a fixed value in source code. 컴퓨터 과학에서 리터럴은 고정된 값을 나타내기 위한 표기법입니다. 함수 리터럴이란 함수를 어떤 변수를 받..
-
About KotlinProgramming/Kotlin 2020. 11. 5. 19:15
코틀린은 IntelliJ IDEA를 개발한 JetBarins에서 개발했다. Kotlin/JVM - 자바 가상 머신 상에서 동작하는 앱을 만들 수 있다. 자바의 불편함 점들을 개선하고, 간소화하는 방향으로 개발된 언어임. 현황 2017년 구글에서 공식언어로 지정 안드로이드 공식 문서를 봐도 코틀린을 메인언어로 소개함. 이는 구글에서 코틀린 사용을 권장한다는 의미로 판단. 많은 IT기업에서 자바에서 코틀린으로 전환을 마쳤거나, 전환을 시도하고 있는 추세. 장점 자료형에 대한 오류를 미리 잡을 수 있는 정적 언어이다. 코틀린은 프로그램이 컴파일될 때 자료형을 검사하여 확정하는 정적 언어이다. 즉, 자료형 오류를 초기에 발견할 수 있어 프로그램의 안정성이 좋아집니다. 성능면에서는 컴파일 시에 타입을 확정하고, ..
-
[Kotiln] 범위 지정 함수 - let,apply,with,runProgramming/Kotlin 2020. 10. 28. 15:37
let() -{it} let() 함수는 이 함수를 호출한 객체를 이어지는 함수블럭의 인자로 전달한다. - 불필요한 변수 선언 방지 가능 !!! //sum 변수에 값을 저장한 후 텍스트뷰에 설정 val sum = add(10, 40) //10 + 40 textView.setText(sum) //계산한 후 반환된 값을 인자로 전달 받아 텍스트뷰에 설정 가능 add(10, 40).let { textView.setText(it) } - Null Check : 널 값이 아닌 경우 특정 작업을 수행하는 코드에 활용 가능 fun doSomethig(message: String?){ if(message != null) printToast("hi") } fun doSomethig(message: String?){ //m..
-
[Kotlin] 접근제한자Programming/Kotlin 2020. 7. 31. 21:00
public 어디에서나 사용 가능 private 해당 .kt 내부에서만 사용 가능 internal 같은 모듈 내에서 사용 가능 protected 상속받은 클래스 내에서만 사용 가능 안드로이드 스튜디오의 프로젝트는 app모듈을 기본 제공해 여기서 앱을 만듭니다. 보통은 기본 app 모듈만 사용하지만 사실 여러 모듈을 생성할 수 있습니다. 예를 들어 같은 프로젝트에 스마트폰용, 시계용, TV용 안드로이드 앱을 만든다면 모듈 3개를 생성합니다. internal은 이 모듈 간 접근을 제한하는 키워드입니다. 실제로 코틀린으로 internal이나 public으로 작성한 클래스는 자바로 변환된 바이트코드를 보면 똑같이 public 접근제어자를 가지는 것을 볼 수 있었다. 패키지 스코프와 클래스 스코프가 있다. 출처:..
-
[Kotlin] NullProgramming/Kotlin 2020. 7. 15. 20:56
코틀린 변수 선언은 기본적으로 Null을 허용하지 않는다. var a: Int = 30 var b: String = "Hello" null 가능한 선언 val a: Int? = null val b: String? = null 세이프 콜(?.)과 non-null 단정 기호(!!.)를 활용 세이프 콜 : null이 할당되어 있을 가능성이 있는 변수를 검사하여 안전하게 호출하도록 도와주는 연산자로 사용할 변수 이름 뒤에 ?.를 작성하면 됨. println("str1: $str1 length: ${str1?.length}") // str1을 세이프 콜로 안전하게 호출 non-null 단정기호는 null이 아님을 단정하므로 컴파일러가 null검사 없이 무시한다. 따라서 null이 할 당되어 있을지라도 컴파일은 잘..
-
[Kotlin] 자료형과 변수Programming/Kotlin 2020. 7. 15. 20:24
1. 자료형과 변수 카멜 표기법 사용 val (value) - 변수의 값이 변경되지 않아야 할 경우 불변형 (immutable) var(variable) - 변수의 값이 변경되어야 할 경우 가변형 (mutable) 코틀린의 자료형은 참조 자료형 사용 Primitive Data Type은 가공되지 않은 수수한 자료형을 말하며, 프로그래밍 언어에 내장되어있다. Reference Type은 객체를 생성하고 동적 공간에 데이터를 둔 다음 이것을 참조하는 자료형을 말한다. 코틀린은 참조형만 사용하며, 참조형 변수가 JVM에 실행하기 위해 코틀린 컴파일러에서 기본형으로 대체된다. 2. 변수 선언의 예시 val name: String = 'Kildong' val name2 = 'Hello'; 변수를 선언과 동시에 할..