Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 시스템
- oracle
- GPT-4's answer
- 소프트웨어공학
- Database
- 인프라
- 유닉스
- android
- write by GPT-4
- 고전역학
- Java
- chatGPT's answer
- spring data jpa
- flet
- JVM
- 파이썬
- 코틀린
- kotlin
- 자바암호
- 역학
- jpa
- write by chatGPT
- spring integration
- 자바
- 리눅스
- 웹 크롤링
- NIO
- 자바네트워크
- python
- 데이터베이스
Archives
- Today
- Total
Akashic Records
추상화와 캡슐화 본문
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
Comments