티스토리 뷰

IT/Kotlin

[Kotlin] Kotlin Class

forest-33 2024. 3. 19. 22:11

Kotlin Class

  • Kotlin에서 클래스(class)는 객체 지향 프로그래밍의 핵심 요소 중 하나
  • 클래스는 데이터와 관련 기능(메서드)을 함께 묶어서 캡슐화하고, 객체를 생성하여 해당 클래스의 인스턴스를 만들 수 있음

 

Class 선언

class MyClass {
    // 클래스 멤버(프로퍼티 및 메서드) 정의
}

 

프로퍼티 속성 선언

  • nameage는 클래스 Person의 프로퍼티(속성)
  • 이들은 해당 클래스의 인스턴스가 가질 수 있는 데이터
class Person {
    var name: String = "John"
    var age: Int = 30
}

 

메서드 선언

  • addsubtract는 클래스 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()

 

 

기본 생성자 선언 

  • 기본 생성자는 클래스 헤더의 일부로 선언되며 클래스의 프로퍼티와 함께 사용
  • nameage는 기본 생성자의 매개변수
  • 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을 받는 보조 생성자를 호출하면 내부적으로 nameage를 모두 초기화하여 주 생성자를 호출

'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
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
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
글 보관함