티스토리 뷰

Kotlin #8. 클래스의 기본 구조

  • 클래스는 고유의 특징적인 값을 담는 속성과  기능을 구현한 함수로 이루어져 있음
  • 클래스는 인스턴스를 만드는 틀
  • 인스턴스란? 클래스를 이용해서 만들어내는 서로 다른 속성의 객체를 지칭하는 용어
  • 코틀린은 객체지향 언어를 기반으로 함수형 언어의 장점을 흡수한 언어.
  • 따라서 객체지향언어의 기본인 클래스를 이해하는 것이 중요하다.
fun main() {
    var a = Person("박보영", 1990)
    var b = Person("전정국", 1997)
    var c = Person("장원영", 2004)

    a.introduce()
    b.introduce()
    c.introduce()
}

class Person (var name: String, val birthYear: Int) {
    fun introduce(){
        println("안녕하세요, ${a.birthYear}년생 ${a.name}입니다.")
    }
}

 

Kotlin #9. 클래스의 생성자

  • 생성자 ( constructor)? 새로운 인스턴스를 만들기 위해 호출하는 특수한 함수
  • 생성자를 호출하면 클래스에 인스턴스를 만들어 반환할 수 있음
  • 생성자는 인스턴스의 속성을 초기화, 인스턴스 생성시 구문을 수행하는 역할을 함 (init 함수를 통해 수행 가능)
  • Init 함수는 파라미터나 반환형이 없는 특수한 함수로써, 생성자를 통해 인스턴스가 만들어질 때 호출되는 함수
  • *This는 인스턴스 자신의 속성이나 함수를 호출하기 위해 클래스 내부에서 사용되는 키워드
class Person (var name: String, val birthYear: Int) {
    init {
        println("안녕하세요, ${this.birthYear}년생 ${this.name}입니다.")
    }
}

 

  • 클래스를 만들때 기본으로 선언하는 기본생성자와 필요에 따라 추가적으로 선언하는 보조 생성자를 만들 수 있음.
  • 보조생성자는 constructor라는 키워드를 사용. 보조생성자를 만들때는 반드시 기본 생성자를 통해 속성을 초기화 해야함
  • 보조생성자가 기본생성자를 호출하게 하려면 콜론을 붙인 후 this라는 키워드를 사용하고, 기본 생성자가 필요로 하는 파라미터를 괄호안에 넣으면 됨
fun main() {
    var a = Person("박보영", 1990)
    var b = Person("전정국", 1997)
    var c = Person("장원영", 2004)

    var d = Person("차은우")
    var e = Person("박보검")
    var f = Person("공유")
}

class Person (var name: String, val birthYear: Int) {
    init {
        println("안녕하세요, ${this.birthYear}년생 ${this.name}입니다.")
    }
    
    constructor(name: String): this(name, 1997) {
        println("보조 생성자가 사용되었습니다.")
    }
}

 

출처 : 디모의 Kotlin 강좌를 통해 학습한 내용을 정리했습니다.

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