💡 시퀸스 빌더에 대해 알아보고, 중단이 왜 필요한지 학습하였습니다.시퀀스 빌더코틀린의 시퀀스는 List나 Set과 같은 컬렉션이랑 비슷한 개념이지만, 필요한 값을 하나씩 계산하는 지연(lazy) 처리를 합니다.요구되는 연산을 최소한으로 수행무한정이 될 가능성 존재메모리 사용이 효율적!코틀린에서는 시퀸스보다 더 좋은 개념인 flow builder를 제공하지만, 이해를 위해서 시퀀스의 개념을 먼저 학습하였습니다.순차적 계산과 반환val seq = sequence { yield(1) yield(2) yield(3)}fun main() { for (num in seq) { print(num) }}위 코드에 사용된 sequence 함수는 DSL 코드입니다.인자로 수신 객..
💡 가짜 생성자와 팩토리 함수에 대하여 학습하였습니다. 가짜 생성자Fake Constructor팩토리 메서드 또는 동반 객체와 관련해서 사용되는 용어이며, 일반적인 생성자 호출 대신 특정 조건이나 로직에 따라 객체를 생성하는 메서드를 의미합니다.객체 생성 로직을 캡슐화하여 코드의 가독성 및 유지보수성을 높이는 데 유용하게 활용할 수 있습니다.Kotlin과 Java에서는 생성자라는 개념이 있지만 실제로는 일반 함수와 차이점이 없습니다.동반 객체를 이용한 팩토리 함수companion object를 활용해서 가짜 생성자를 구현하였습니다.class User private constructor(val name: String, val age: Int) { companion object { fun creat..
💡 Kotlin에서 객체의 상태를 변경할 수 있는지 여부를 나타내는 불변성과 가변성에 대하여 학습하였습니다.불변성 (Immutability)불변 객체는 생성된 이후에 상태를 변경할 수 없는 객체입니다.이러한 객체는 생성할 때 값을 설정하고, 이후에는 값을 변경할 수 없습니다.Kotlin에서는 val 키워드를 사용하여 불변 변수를 선언합니다.Kotlin은 함수형 프로그래밍을 지원하는 언어로, 불변성의 사용을 권장하고 있습니다.불변성의 중요성불변 객체는 생성 시점 이후 한 번 정의된 상태는 계속 유지하며 변경되지 않으므로 스레드 간 안전성을 보장하며, 이를 통해 동기화 문제를 해결할 수 있습니다.또한 한 번 생성한 값은 변경되지 않으므로 캐시도 수월합니다.기존 객체에서 프로퍼티가 변경된 객체를 리턴 받고자..
💡 함수와 메서드의 차이를 알고, 프로퍼티와 필드에 대해서도 학습하였습니다.함수 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..
💡 Kotlin을 주 언어로 활용하면서, 특징과 사용하는 이유에 대하여 한 번 학습하고 넘어가는 것이 필요할 것 같았습니다.Kotlin자바를 만든 회사인 IntelliJ IDEA의 개발사 JetBrains에서 공개한 언어로, 자바와 100퍼센트 호환되며 자바보다 더 간결하고 많은 기능을 추가한 언어입니다.또한 절차 지향적인 문법 위주의 코드에서 벗어나, 사람과 가까운 객체지향 언어 중 더욱 사람의 언어와 비슷하게 코드를 구사하도록 개발된 언어입니다.Kotlin의 큰 장점가독성과 접근성객체지향 언어이면서 변수 유형 유추 및 손쉬운 캡슐화직관적인 기능을 갖는 함수를 탑재생산성을 높일 수 있는 언어개발 언어 트렌드코드의 재사용을 통해 반복적인 코드를 최소화유연하고 빠른 수정유지 보수 편리한 언어 형식자바와 ..