💡 가짜 생성자와 팩토리 함수에 대하여 학습하였습니다. 가짜 생성자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의 큰 장점가독성과 접근성객체지향 언어이면서 변수 유형 유추 및 손쉬운 캡슐화직관적인 기능을 갖는 함수를 탑재생산성을 높일 수 있는 언어개발 언어 트렌드코드의 재사용을 통해 반복적인 코드를 최소화유연하고 빠른 수정유지 보수 편리한 언어 형식자바와 ..
4주차 돌아보기 우테코 4주차를 끝으로 최종 제출을 완료하였습니다. 긴 프로세스에 걱정하기도 하였지만, 재밌고 많이 배우는 시간이 된 것 같습니다. 대표적으로 깃 커밋 메시지 활용 방법과 코틀린 컨벤션을 많이 배우게 되었습니다. 아쉬운점은 별도의 스터디 활동을 하지 못한 것이었습니다. 디스코드에서 스터디 활동을 모집하는 글을 봤는데, 다른 일정이 곂치거나 기술스택이 다른 등의 문제로 스터디를 구하기 힘들었습니다. 직접 스터디를 주도하거나, 최종 테스트를 준비하는 프로세스에 참여하는 등의 방법을 찾고 있습니다. 이번 미션에서는 다행히 별도의 실수를 하지 않게 되었습니다. 이전 미션에서 예기치 못한 오류 문구와 첫 미션에서 커밋 메시지를 관리하지 못하는 등의 큰 실수를 하였는데요. 과제용 프로젝트가 아닌 실..