본문 바로가기

Language/Kotlin

[Kotlin] 클래스의 기본 구조

728x90
반응형

클래스

: 고유의 특징값인 속성 + 기능을 구현한 함수

class Person (var name:String, var birthYear:Int)  // 클래스 속성

클래스는 인스턴스를 만드는 틀

인스턴스

: 클래스를 이용해서 만들어내는 서로 다른 속성의 객체

fun main(){
    var a = Person("박보영", 1990)
    var b = Person("전정국", 1997)
    var c = Person("장원영", 2004)
}

class Person (var name:String, var birthYear:Int)

인스턴스를 담은 변수 사용

변수명.속성명

fun main(){
    var a = Person("박보영", 1990)
    var b = Person("전정국", 1997)
    var c = Person("장원영", 2004)

    println("안녕하세요, ${a.birthYear}년생 ${a.name}입니다")  
    // 출력: 안녕하세요, 1990년생 박보영입니다
}

class Person (var name:String, var birthYear:Int)

이러한 형식으로 자기소개를 자주 해야한다면 매번 println을 쓰는 것은 비효율적

→ 자주 사용하는 공통적인 기능은 클래스 내에 함수로 넣어준다

클래스 함수

fun main(){
    var a = Person("박보영", 1990)
    var b = Person("전정국", 1997)
    var c = Person("장원영", 2004)

    a.introduce()  // 출력: 안녕하세요, 1990년생 박보영입니다
    b.introduce()  // 출력: 안녕하세요, 1997년생 전정국입니다
    c.introduce()  // 출력: 안녕하세요, 2004년생 장원영입니다
}

class Person (var name:String, var birthYear:Int) {
    fun introduce(){  // 클래스 함수
        println("안녕하세요, ${birthYear}년생 ${name}입니다")
    }
}
728x90
반응형

'Language > Kotlin' 카테고리의 다른 글

[Kotlin] 클래스의 상속  (0) 2023.09.05
[Kotlin] 클래스의 생성자  (0) 2023.09.05
[Kotlin] 흐름제어와 논리연산자  (0) 2023.09.04
[Kotlin] 반복문과 증감연산자  (0) 2023.09.02
[Kotlin] 조건문과 비교연산자  (0) 2023.09.02