본문 바로가기

메뉴154

[kotlin] 데이터 클래스(Data classes) Kotlin의 데이터 클래스Kotlin의 데이터 클래스(Data Classes)는 주로 데이터를 보유하는 용도로 사용되는 특별한 클래스입니다.이 가이드에서는 Kotlin 데이터 클래스의 다양한 측면을 상세히 살펴보겠습니다.  데이터 클래스 기본 (Data Class Basics)데이터 클래스는 data 키워드로 표시됩니다:data class User(val name: String, val age: Int)컴파일러는 주 생성자에 선언된 모든 속성에 대해 자동으로 다음과 같은 멤버 함수를 생성합니다:.equals()/.hashCode() 쌍.toString() (예: "User(name=John, age=42)").componentN() 함수 (속성 선언 순서에 해당).copy() 함수 데이터 클래스 요구사.. 2024. 8. 14.
[kotlin] 확장 기능(Extensions) Kotlin의 확장 기능Kotlin의 확장(Extensions) 기능은 기존 클래스나 인터페이스에 새로운 기능을 추가할 수 있게 해주는 강력한 도구입니다.이 가이드에서는 Kotlin 확장의 다양한 측면을 상세히 살펴보겠습니다. 확장 함수 (Extension Functions)확장 함수를 사용하면 기존 클래스에 새로운 메서드를 추가할 수 있습니다. 이는 특히 서드파티 라이브러리의 클래스를 수정해야 할 때 유용합니다.fun MutableList.swap(index1: Int, index2: Int) { val tmp = this[index1] // 'this'는 리스트를 가리킵니다 this[index1] = this[index2] this[index2] = tmp}val list = muta.. 2024. 8. 14.
[kotlin] 가시성 수정자(Visibility modifiers) Kotlin의 가시성 수정자Kotlin에서 가시성 수정자(visibility modifiers)는 코드의 캡슐화와 접근 제어를 위한 핵심 기능입니다.이 가이드에서는 Kotlin의 가시성 수정자에 대해 상세히 알아보겠습니다.   가시성 수정자 기본 (Visibility Modifiers Basics)Kotlin에는 네 가지 가시성 수정자가 있습니다: private, protected, internal, public. 기본 가시성은 public입니다.이 수정자들은 클래스, 객체, 인터페이스, 생성자, 함수, 프로퍼티 및 그 세터에 적용될 수 있습니다. 게터는 항상 해당 프로퍼티와 동일한 가시성을 가집니다. 패키지 레벨 선언 (Package-Level Declarations)함수, 프로퍼티, 클래스, 객체, .. 2024. 8. 13.
[kotlin] 인터페이스(interface) Kotlin의 인터페이스 Kotlin에서 인터페이스는 객체 지향 프로그래밍의 핵심 요소 중 하나입니다. 이 가이드에서는 Kotlin 인터페이스의 다양한 측면을 상세히 살펴보겠습니다.  인터페이스 기본 (Interface Basics)Kotlin의 인터페이스는 추상 메서드의 선언뿐만 아니라 메서드 구현도 포함할 수 있습니다. 추상 클래스와 다른 점은 인터페이스가 상태를 저장할 수 없다는 것입니다. 인터페이스는 interface 키워드를 사용하여 정의합니다:interface MyInterface { fun bar() fun foo() { // 선택적 본문 }}이 예제에서 bar()는 추상 메서드이고, foo()는 기본 구현을 제공하는 메서드입니다. 인터페이스 구현 (Implement.. 2024. 8. 13.