- 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 |