티스토리 뷰

코틀린

#10 코틀린 클래스

림디 2019. 7. 21. 19:39

클래스 선언은 class 키워드를 사용한다.

클래스는 자신의 멤버 속성과 멤버 함수를 가질 수 있다.

 

Ex1 ) 클래스 생성 방법 

1. class Car{ }

2. class Car

 

 

Ex2 )  정의하는 방법과 생성자가 다른 동일한 클래스

fun main(){

val c1 = Car()
c1.name = "BMW"
c1.number= "허123456"
c1.type = 2

println(c1.name +", "+c1.number+", "+ c1.type)

val c2 = Car2()    

c2.name = "Sonata"
c2.number= "아123456"
c2.type = 5

println(c2.name +", "+c2.number+", "+ c2.type)

val c3 = Car3("moning", "가123456", 1)

println(c3.name + ", "+c3.number+", "+ c3.type)
}

class Car{
var name: String = ""
var number: String = ""
var type : Int = 3
}

class Car2{
var name : String = ""
var number : String = ""
var type : Int = 3

set(value: Int){
if(value < 3) field = value
else field = 3 
}
}

 

class Car3(var name: String, var number : String, var type: Int)
{
init{
type = if(type<3) type else 3
}
}

 

클래스에 지정된 멤버 변수 값을 갖는 field는 getter를 사용하여 값을 읽고, setter를 사용하여 변경할 수있다. 

 

 

Ex3) private 와 같이 접근 제한자를 constructor 앞에 쓰지 않은경우 constructor생략 가능 

 

class Car3(var name: String, var number: String, type: Int)

 

class Car3 constructor(var name: String, var number: String, type: Int)

 

 

'코틀린' 카테고리의 다른 글

#12 코틀린 접근제한자  (0) 2019.07.23
#11 클래스 멤버 함수  (0) 2019.07.23
#9 코틀린 함수  (0) 2019.07.18
#8 코틀린 연산자  (0) 2019.07.15
#7 코틀린 배열  (0) 2019.07.15
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
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
글 보관함