Akashic Records

추상화와 캡슐화 본문

Kotlin for Beginners

추상화와 캡슐화

Andrew's Akashic Records 2023. 6. 1. 17:26
728x90

추상화와 캡슐화는 객체지향 프로그래밍의 핵심 원칙입니다. 이들은 코드의 복잡성을 관리하고 유지보수를 용이하게 하는 데 중요한 도구입니다.

 

  1. 추상화

추상화는 복잡한 시스템을 단순하게 표현하는 프로세스입니다. Kotlin에서는 abstract 키워드를 사용하여 추상 클래스를 선언하고, abstract 키워드를 사용하여 추상 메서드를 선언할 수 있습니다. 추상 클래스는 인스턴스를 만들 수 없으며, 추상 메서드는 구현이 없는 메서드입니다.

예제:

abstract class Animal {
    abstract fun sound()
}

class Dog : Animal() {
    override fun sound() {
        println("Woof!")
    }
}

val myDog = Dog()
myDog.sound() // 출력: Woof!

이 예제에서 Animal 클래스는 추상 클래스이며, sound 메서드는 추상 메서드입니다. Dog 클래스는 Animal 클래스를 상속받아 sound 메서드를 구현합니다.

 

  1. 캡슐화

캡슐화는 객체의 상태와 동작을 함께 묶고, 외부에서 접근할 수 없도록 숨기는 원칙입니다. 이를 통해 코드의 안정성을 높일 수 있습니다. Kotlin에서는 private, protected, internal 등의 접근 제한자를 사용하여 캡슐화를 구현할 수 있습니다.

예제:

class Dog {
    private var hunger: Int = 10

    fun eat() {
        if (hunger > 0) {
            hunger--
            println("The dog eats.")
        } else {
            println("The dog is not hungry.")
        }
    }
}

val myDog = Dog()
myDog.eat()  // 출력: The dog eats.

이 예제에서 Dog 클래스의 hunger 속성은 private으로 선언되어 클래스 외부에서 접근할 수 없습니다. eat 메서드를 통해서만 hunger의 상태를 변경할 수 있습니다.

 

추상화와 캡슐화는 코드의 복잡성을 줄이고 안정성을 높이는 데 중요한 역할을 합니다. 이들은 객체지향 설계의 기본 원칙으로, Kotlin에서 이들을 효과적으로 사용하여 효율적인 코드를 작성할 수 있습니다.

728x90

'Kotlin for Beginners' 카테고리의 다른 글

람다 표현식  (0) 2023.06.02
Null 안정성  (0) 2023.06.02
상속과 다형성  (0) 2023.06.01
클래스와 객체  (0) 2023.06.01
프로시저의 이해  (0) 2023.06.01
Comments