본문 바로가기

객체지향프로그래밍6

[Kotlin] 위임(Delegation) Kotlin의 위임(Delegation)Kotlin의 위임(Delegation) 기능은 구현 상속의 강력한 대안으로, 보일러플레이트 코드 없이 유연하고 재사용 가능한 코드를 작성할 수 있게 해줍니다. 이 가이드에서는 Kotlin의 위임 기능의 다양한 측면을 상세히 살펴보겠습니다.    위임 기본 (Delegation Basics)Kotlin에서는 by 키워드를 사용하여 인터페이스의 구현을 다른 객체에 위임할 수 있습니다. 이를 통해 컴포지션을 쉽게 구현할 수 있습니다.interface Base { fun print()}class BaseImpl(val x: Int) : Base { override fun print() { print(x) }}class Derived(b: Base) : Base.. 2024. 8. 17.
[Kotlin] 객체 표현식과 선언(object expressions and object declarations) Kotlin의 객체 표현식과 선언Kotlin에서 객체 표현식(object expressions)과 객체 선언(object declarations)은 클래스를 상속하거나 인터페이스를 구현하는 익명 객체를 생성하는 강력한 기능입니다. 이 가이드에서는 이러한 기능들의 다양한 측면을 상세히 살펴보겠습니다.    객체 표현식 (Object Expressions)객체 표현식은 익명 클래스의 객체를 생성합니다. 이는 명시적으로 클래스를 선언하지 않고 일회성 사용을 위한 객체를 생성할 때 유용합니다.기본 객체 생성 (Creating Basic Objects)가장 간단한 형태의 객체 표현식은 다음과 같습니다:val helloWorld = object { val hello = "Hello" val world =.. 2024. 8. 17.
[kotlin] 인터페이스(interface) Kotlin의 인터페이스 Kotlin에서 인터페이스는 객체 지향 프로그래밍의 핵심 요소 중 하나입니다. 이 가이드에서는 Kotlin 인터페이스의 다양한 측면을 상세히 살펴보겠습니다.  인터페이스 기본 (Interface Basics)Kotlin의 인터페이스는 추상 메서드의 선언뿐만 아니라 메서드 구현도 포함할 수 있습니다. 추상 클래스와 다른 점은 인터페이스가 상태를 저장할 수 없다는 것입니다. 인터페이스는 interface 키워드를 사용하여 정의합니다:interface MyInterface { fun bar() fun foo() { // 선택적 본문 }}이 예제에서 bar()는 추상 메서드이고, foo()는 기본 구현을 제공하는 메서드입니다. 인터페이스 구현 (Implement.. 2024. 8. 13.
[kotlin] 상속(inheritance) Kotlin의 상속(inheritance)Kotlin에서 상속은 객체 지향 프로그래밍의 핵심 개념 중 하나입니다.이 가이드에서는 Kotlin의 상속 메커니즘을 상세히 살펴보고, 실제 사용 사례와 함께 이해를 돕겠습니다.   기본 개념 (Basic Concepts)Kotlin의 모든 클래스는 공통 상위 클래스인 Any를 가집니다. 명시적으로 상위 타입을 선언하지 않은 클래스는 자동으로 Any를 상속받습니다:class Example // 암시적으로 Any를 상속Any는 equals(), hashCode(), toString() 세 가지 메서드를 가지고 있어, 이 메서드들은 모든 Kotlin 클래스에서 정의됩니다.  기본적으로 Kotlin 클래스는 final이며 상속될 수 없습니다. 클래스를 상속 가능하게 만.. 2024. 8. 13.