728x90
추상화와 캡슐화는 객체지향 프로그래밍의 핵심 원칙입니다. 이들은 코드의 복잡성을 관리하고 유지보수를 용이하게 하는 데 중요한 도구입니다.
- 추상화
추상화는 복잡한 시스템을 단순하게 표현하는 프로세스입니다. 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
메서드를 구현합니다.
- 캡슐화
캡슐화는 객체의 상태와 동작을 함께 묶고, 외부에서 접근할 수 없도록 숨기는 원칙입니다. 이를 통해 코드의 안정성을 높일 수 있습니다. 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