💡 가짜 생성자와 팩토리 함수에 대하여 학습하였습니다. 가짜 생성자Fake Constructor팩토리 메서드 또는 동반 객체와 관련해서 사용되는 용어이며, 일반적인 생성자 호출 대신 특정 조건이나 로직에 따라 객체를 생성하는 메서드를 의미합니다.객체 생성 로직을 캡슐화하여 코드의 가독성 및 유지보수성을 높이는 데 유용하게 활용할 수 있습니다.Kotlin과 Java에서는 생성자라는 개념이 있지만 실제로는 일반 함수와 차이점이 없습니다.동반 객체를 이용한 팩토리 함수companion object를 활용해서 가짜 생성자를 구현하였습니다.class User private constructor(val name: String, val age: Int) { companion object { fun creat..
💡 경량 클래스의 한 형태인 inline class에 대하여 학습하였습니다.Inline classInline class는 경량 클래스의 한 형태로, 단일 프로퍼티를 가지고 있으며 런타임 시에 실제 클래스 인스턴스로 할당되지 않는 특징이 있습니다.대신에 해당 클래스의 단일 프로퍼티가 직접 인라인됩니다.이는 성능 향상과 불필요한 객체 생성을 방지할 수 있습니다.특징[단일 프로퍼티] Inline class는 반드시 단일 프로퍼티를 가집니다.[경량성] 런타임 시 객체로 할당되지 않고 단일 프로퍼티 값이 직접 사용됩니다.[타입 안전성] 인라인 클래스를 활용하면 코드에 더 명확한 타입을 명시할 수 있습니다.[함수와 연산자 오버로딩] 메서드와 연산자를 오버로딩 할 수 있습니다.[제한사항] 아래와 같은 제한 사항을 ..
💡 Java에서 주로 사용되는 Primitive Type과 Wrapper Class에 대하여 학습하였고, Kotlin에서는 어떻게 적용되는지 학습하였습니다. Primitive Type프리미티브 타입은 기본 데이터 타입으로, 가장 단순한 형태의 데이터를 나타냅니다.메모리 효율적이며, 직접 값을 저장한다는 특징이 있습니다.또한 메모리 주소를 참조하지 않고 직접 값을 다루므로 더 빠르다는 특징이 있습니다.Java에서는 아래와 같이 프리미티브 타입을 제공합니다.Int, Boolean, Char, Byte, Short, Long, Float, Double…프리미티브 타입에는 기본 값이 존재합니다.Int - 0, Boolean - false..Wrapper Class래퍼 클래스는 프리미티브 타입을 객체로 다룰 수..
💡 Kotlin에서 사용되는 예외 클래스와 커스텀 예외를 어떻게 처리할 수 있는지 학습하였습니다. Kotlin & Java의 Exception ClassKotlin에서 예외 처리는 기본적으로 Java의 예외 처리 모델을 따르고 있습니다.Throwable 클래스는 모든 예외 클래스의 최상위 클래스이며, 모든 예외와 오류의 기본 클래스 입니다.Throwable 클래스Java와 Kotlin에서 발생하는 모든 예외는 Throwable 클래스의 인스턴스이며, 아래와 같은 메서드를 포함하고 있습니다.getMessage() : 예외 또는 오류 메시지를 반환getCause() : 예외 원인을 분석printStackTrace() : 스택 트레이스를 콘솔에 출력Exception 클래스프로그램의 논리적인 오류를 나타냅니다..
💡 함수와 메서드의 차이를 알고, 프로퍼티와 필드에 대해서도 학습하였습니다.함수 vs 메서드메서드와 함수는 프로그래밍 관점에서 매우 유사한 개념이지만, 사용 맥락에 따라 차이가 있습니다.함수(function)코틀린은 함수를 fun 키워드를 활용해서 시작합니다.이를 활용해서 top-level 함수, 멤버 함수, 지역함수 등을 생성할 수 있습니다.아래와 같이 이름이 없는 익명함수로 활용도 가능합니다.val anonymousFunction = fun(x: Int, y: Int): Int { return x + y}메서드(method)메서드는 클래스와 연결된 함수, 객체에 속한 함수를 의미합니다.멤버 함수를 메서드라고 하며, 메서드 호출을 위해서 클래스 인스턴스가 반드시 필요합니다.확장 함수도 메서드인가..
💡 코틀린에서는 간단하고, 다양하게 생성자를 정의할 수 있습니다. 생성자에 대하여 학습하였습니다. 주생성자 (Primary Constructor)class Movie(val name: String, val time: String)위와 같이 클래스 이름 옆에 괄호로 둘러싸인 코드를 주 생성자라고 합니다.생성자 파라미터를 지정하고, 그 파라미터에 의해 초기화되는 프로퍼티를 정의하는 목적에 쓰입니다.생성자 파라미터 : 클래스의 생성자를 호출할 때 전달되는 값객체가 생성될 때 필요한 초기 설정 값을 제공class Movie(name: String)프로퍼티 : 클래스에 정의된 변수로, 클래스의 속성을 나타냄객체의 상태를 나타내며, 객체가 존재하는 동안 값을 유지하고 사용 가능class Movie(val name..