본문 바로가기
Java/Android App - Kotlin

Kotlin - 클래스 (Class)

by 키모형 2023. 1. 3.
반응형

클래스 선언 및 인스턴스 생성

// 클래스 선언
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()
}

 

객체를 사용하려면 변수를 정의하는 방법과 유사하게 객체를 만들어 변수에 할당합니다. 변경 불가능한 변수를 만들려면 val 키워드를, 변경 가능한 변수를 만들려면 var 키워드를 사용합니다. val 키워드나 var 키워드 뒤에 변수 이름, = 할당 연산자, 인스턴스화된 클래스 객체가 차례로 나옵니다. 다음 다이어그램에서 문법을 확인할 수 있습니다.

참고: val 키워드가 사용된 변수가 객체를 참조하도록 정의하면 이 변수 자체는 읽기 전용이지만 클래스 객체는 변경 가능한 상태로 유지됩니다. 즉, 변수에 다른 객체를 재할당할 수 없지만 속성의 값을 업데이트할 때 객체의 상태를 변경할 수 있습니다.

 

SmartDevice 클래스를 객체로 인스턴스화합니다.

main() 함수에서 val 키워드를 사용하여 smartTvDevice라는 변수를 만들고 이 변수를 SmartDevice 클래스의 인스턴스로 초기화합니다.

fun main() {
    val smartTvDevice = SmartDevice()
}

 

클래스 메서드 호출

클래스 외부에서 클래스 메서드를 호출하려면 클래스 객체로 시작하고 그 뒤에 . 연산자, 함수 이름, 괄호 쌍을 사용합니다. 해당하는 경우 괄호에는 메서드에 필요한 인수가 포함됩니다. 다음 다이어그램에서 문법을 확인할 수 있습니다.

객체에서 turnOn() 메서드와 turnOff() 메서드를 호출합니다.

smartTvDevice 변수 다음 줄의 main() 함수에서 turnOn() 메서드를 호출합니다.

fun main() {
    val smartTvDevice = SmartDevice()
    smartTvDevice.turnOn()
}

turnOn() 메서드 다음 줄에서 turnOff() 메서드를 호출합니다.

fun main() {
    val smartTvDevice = SmartDevice()
    smartTvDevice.turnOn()
    smartTvDevice.turnOff()
}

코드를 실행합니다.

출력은 다음과 같습니다.

Smart device is turned on.
Smart device is turned off.

 

반응형