연습장/이론

클래스 1. 클래스의 사용

아이른 2024. 1. 26. 14:23

- class(클래스)

: 설계도(blueprint). 객체의 속성(Property)과 행동(function)을 정리함.

- 클래스명()

: 클래스명의 첫 글자는 대문자_ 기본적인 클래스 형태.

: class Classname{

   var a

   fun functionName(){

 }

}


fun main() {
    val Lan: Person = Person() ①
    Lan.name = "혜란" ②
    Lan.age = 30 ③
    Lan.hobby = "책읽기" ④

    println(Lan.name) ⑤
    Lan.walk() ⑥
    Lan.stop() ⑦
}
class Person{
    var name : String = ""
    var age : Int = 0
    var hobby : String = ""
    fun walk(){
        println("걷기")
    }
    fun stop(){
        println("멈추기")
    }
}
fun main(){
    var a = Person("A", 1990) ⓑ
    var b = Person("B", 2000) ⓒ
    var c = Person("C", 2010) ⓓ
    
    a.introduce() ⓔ
    b.introduce() ⓕ
    c.introduce() ⓖ
}

class Person(var name:String, val birthYear:Int){ ⓐ
    fun introduce(){
        println("안녕하세요, ${birthYear}년생 ${name}입니다")
    }
}
<print>
혜란
걷기
멈추기
<print>
안녕하세요, 1990년생 A입니다
안녕하세요, 2000년생 B입니다
안녕하세요, 2010년생 C입니다

 

: ① 설계도를 본 떠 만든 Person() 호출 시 인스턴스 생성.  ②③④ 온점(.)을 통해서 Parson 값에 접근. ⑤⑥⑦ Person 안의 함수 호출.

: ⓐ var,val 사용하지 않고 () 안에 속성값 입력 가능. ⓑⓒⓓ 3개의 인스턴스 생성. ⓔⓕⓖ Person 안의 함수 호출.


- 인스턴스(instance)

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


fun main() {
    val Lan: Person = Person()
    Lan.name = "혜란"
    Lan.age = 30
    Lan.hobby = "책읽기"
    Lan.walk("혜란")
    Lan.stop("혜란")
    val hong: Person = Person()
    hong.name = "홍"
    hong.age = 15
    hong.hobby = "웹툰보기"
    hong.walk("홍")
    hong.stop("홍")
    println(hong.age)
}
class Person{
    var name : String = ""
    var age : Int = 0
    var hobby : String = ""
    fun walk(name : String){
        println("${name} 걷기")
    }
    fun stop(name : String){
        println("${name} 멈추기")
    }
}

<print>

혜란 걷기

혜란 멈추기

홍 걷기

홍 멈추기

15


- 클래스는 설계도이므로, 그 틀을 가진 변수를 계속 생성 가능.

 

'연습장 > 이론' 카테고리의 다른 글

Kotlin_ 6-1. Null-Safety  (0) 2024.01.29
클래스 2. 주생성자와 보조생성자  (0) 2024.01.26
Kotlin_ 4-1. 함수  (0) 2024.01.25
Kotlin_ 1-1. 변수  (0) 2024.01.25
Kotlin_ 6. Null Safety  (0) 2024.01.18