[안드로이드 ] 안드로이드 공부 3일차 Kotlin 기초 클래스
학습 내용
- OOP의 개요
- 클래스의 정의
- 생성자, 함수, 속성으로 클래스를 정의하는 방법
- 객체를 인스턴스화하는 방법
- 상속의 정의
- IS-A 관계와 HAS-A 관계의 차이점
- 속성 및 함수를 재정의하는 방법
- 공개 상태 수정자의 정의
- 위임의 정의 및 by 위임을 사용하는 방법
클래스의 3요소
- 속성. 클래스 객체의 속성을 지정하는 변수입니다.
- 메서드. 클래스의 동작과 작업이 포함된 함수입니다.
- 생성자. 클래스가 정의된 프로그램 전체에서 클래스의 인스턴스를 만드는 특수 멤버 함수입니다.
클래스 인스턴스 만들기
class SmartDevice {
// empty body
}
fun main() {
val smartTvDevice = SmartDevice()
}
클래스 매서드 정의
class SmartDevice {
fun turnOn() {
println("Smart device is turned on.")
}
fun turnOff() {
println("Smart device is turned off.")
}
}
fun main() {
val smartTvDevice = SmartDevice()
smartTvDevice.turnOn()
smartTvDevice.turnOff()
}
클래스 속성 정의
class SmartDevice {
val name = "Android TV"
val category = "Entertainment"
var deviceStatus = "online"
fun turnOn() {
println("Smart device is turned on.")
}
fun turnOff() {
println("Smart device is turned off.")
}
}
fun main() {
val smartTvDevice = SmartDevice()
println("Device name is: ${smartTvDevice.name}")
smartTvDevice.turnOn()
smartTvDevice.turnOff()
}
속성의 getter 함수와 setter 함수
var speakerVolume = 2
get() = field
set(value) {
field = value
}
var speakerVolume = 2
set(value) {
if (value in 0..100) {
field = value
}
}
생성자 정의
생성자의 기본 목적은 클래스의 객체를 만드는 방법을 지정하는 것입니다
매개 변수화된 생성자 정의
class SmartDevice(val name: String, val category: String) {
var deviceStatus = "online"
fun turnOn() {
println("Smart device is turned on.")
}
fun turnOff() {
println("Smart device is turned off.")
}
}
Kotlin의 생성자에는 두 가지 기본 유형이 있습니다.
-
기본 생성자. 클래스에는 클래스 헤더의 일부로 정의된 기본 생성자가 하나만 있을 수 있습니다. 기본 생성자는 기본 또는 매개변수화된 생성자일 수 있습니다. 기본 생성자에는 본문이 없습니다. 즉, 코드를 포함할 수 없습니다.
-
보조 생성자. 한 클래스에 여러 보조 생성자가 있을 수 있습니다. 매개변수를 포함하거나 포함하지 않고 보조 생성자를 정의할 수 있습니다. 보조 생성자는 클래스를 초기화할 수 있으며 초기화 로직을 포함할 수 있는 본문을 가집니다. 클래스에 기본 생성자가 있는 경우 각 보조 생성자는 기본 생성자를 초기화해야 합니다.
댓글남기기