프로그래밍 언어/Kotlin 4

Build

BuildBuild는 소스 코드와 리소스를 컴파일하고, 테스트 및 패키징하여 실행 가능한 형태로 만드는 과정입니다. 개발자가 작성한 코드를 컴퓨터가 이해하고 실행할 수 있는 형태로 변환하는 필수적인 작업입니다.Kotlin BuildKotlin Build Process를 그림으로 나타내면 다음과 같습니다. Kotlin 또한 JVM위에서 동작하기 때문에 Java의 빌드 과정과 매우 유사합니다. Java는 .java 파일을 Java Compiler를 통해 .class 파일로 변환을 하고 Kotlin은 .kt 파일을 Kotlin Compiler를 통해 .class 파일로 변환을 합니다. 해당 파일은 .class 파일은 Kotlin Runtime Library에 의존되어 실행합니다. (Kotlin Runtime..

Companion Object

Companion Objectcompanion object에 대한 정리에 앞서 먼저 Java의 어떤 기능과 유사한지부터 알아보겠습니다. Java에는 static 키워드가 존재합니다. 해당 키워드가 붙은 변수가 메소드는 클래스 로드 시에 메모리에 할당되며, 프로그램 종료 시까지 유지가 됩니다. 또한 모든 인스턴스에 공유되는 특징을 가지고 있습니다. Kotlin에서는 static이라는 키워드가 존재하지 않습니다. 대신 companion object 키워드를 가지고 static 키워드를 대신해 처리를 하고 있습니다. 먼저 Java의 코드를 살펴보겠습니다.public class Test { public static int count = 0; public static void print(){ ..

Nested Class, Inner Class

Nested Class, Inner ClassNested Class, Inner Class에 대한 예시를 간단하게 Java에서 어떻게 사용되는지 확인해보겠습니다.//외부 클래스public class Outer{ private int number; //정적 중첩 클래스 public static class NestedClass{ } //내부 클래스 public class InnerClass{ }} 먼저 클래스 내부에 클래스를 선언하는 것을 중첩 클래스라고 합니다. Java에서는 static 키워드 유무에 따라 중첩 클래스를 분류할 수 있습니다. static이 붙은 경우에는 정적 중첩 클래스(Static Nested Class)라고 칭하며 특징은 다음과 같습니다.Outer 클래스의 인스턴스가 없어도 생성이 가..

Null 처리

NullKotlin에서 Null 처리는 주요한 특징 중 하나로, 안전한 Null 처리를 통해 NPE 문제를 효과적으로 예방할 수 있습니다. 해당 특징에 대해 깊이 있게 설명해보겠습니다.Nullable, Non-NullableKotlin은 모든 변수와 타입을 Nullable, Non-Nullable으로 명확히 구분하는 특성이 있습니다.Nullable는 null 값을 가질 수 있는 반면에 Non-Nullable은 null 값을 가질 수 없습니다.//null 불가, null을 넣을 시 컴파일 에러val name1: String = "name1"//null 가능val name2: String? = null 안전 호출 연산자 - ?.?. 연산자는 Nullable 타입에서 안전하게 접근할 수 있도록 돕는 안전 호출..