티스토리 뷰
Kotlin Class
- Kotlin에서 클래스(class)는 객체 지향 프로그래밍의 핵심 요소 중 하나
- 클래스는 데이터와 관련 기능(메서드)을 함께 묶어서 캡슐화하고, 객체를 생성하여 해당 클래스의 인스턴스를 만들 수 있음
Class 선언
class MyClass {
// 클래스 멤버(프로퍼티 및 메서드) 정의
}
프로퍼티 속성 선언
- name과 age는 클래스 Person의 프로퍼티(속성)
- 이들은 해당 클래스의 인스턴스가 가질 수 있는 데이터
class Person {
var name: String = "John"
var age: Int = 30
}
메서드 선언
- add와 subtract는 클래스 Calculator의 메서드(함수)로 이들은 해당 클래스의 인스턴스가 수행할 수 있는 기능을 나타냄
class Calculator {
fun add(a: Int, b: Int): Int {
return a + b
}
fun subtract(a: Int, b: Int): Int {
return a - b
}
}
클래스의 인스턴스 생성
val person = Person()
val calculator = Calculator()
기본 생성자 선언
- 기본 생성자는 클래스 헤더의 일부로 선언되며 클래스의 프로퍼티와 함께 사용
- name과 age는 기본 생성자의 매개변수
- init 블록은 초기화 블록으로, 기본 생성자가 호출될 때 실행됨. 이 블록에서는 인스턴스의 프로퍼티를 초기화
class Person constructor(name: String, age: Int) {
val name: String
val age: Int
// 초기화 블록(Initializer Block)
init {
this.name = name
this.age = age
}
}
- 간결하게 아래와 같이 기본 생성자 선언 가능
- 클래스의 프로퍼티를 선언과 동시에 초기화
class Person(val name: String, val age: Int)
보조 생성자(Secondary Constructor) 선언
- 보조 생성자는 constructor 키워드를 사용하여 선언됨.
- 주 생성자와 함께 사용할 수도 있고, 독립적으로 사용할 수도 있음
class Person(val name: String, val age: Int) {
constructor(name: String) : this(name, 0) {
// 보조 생성자가 호출될 때 실행되는 코드
}
}
- constructor(name: String)은 보조 생성자를 정의하는 부분
- this(name, 0)은 주 생성자를 호출하여 초기화하는 부분으로 name을 받는 보조 생성자를 호출하면 내부적으로 name과 age를 모두 초기화하여 주 생성자를 호출
'IT > Kotlin' 카테고리의 다른 글
[Kotlin] Kotlin 상속 (0) | 2024.03.26 |
---|---|
[Kotlin] 제네릭 클래스, 제네릭 함수 (1) | 2024.03.25 |
[Kotlin] Kotlin Null (0) | 2024.03.19 |
[Kotlin] Kotlin 변수 (0) | 2024.03.19 |
[Kotlin] Kotlin 함수 중위함수 연산자 함수 (0) | 2024.03.19 |