Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- snowpack
- 시큐어코딩
- 상속
- Spring
- 왕초보
- 버전일치
- FIle
- git
- sub query
- java#왕초보
- 숫자
- 쿠키
- 미니게임
- 스타일보험
- degit
- 게시판
- 답글
- SQL
- Spinner
- webpack
- React
- java
- 안드로이드
- 코틀린
- 스프링
- 함수
- 오버라이드
- parcel
- Android
- kotlin
Archives
- Today
- Total
YSHUSH
클래스 본문
클래스의 기본형태
class Person{
var firstName:String
var lastName:String
var age:Int
constructor(firstName:String, lastName:String, age:Int){
this.firstName = firstName
this.lastName = lastName
this.age = age
}
fun getFullName():String{
return "$firstName $lastName $age"
}
}
class Bird{
// property(속성)
var name:String = "mybird"
var wing:Int = 2
var vol:String = "short"
var color:String = "blue"
fun fly() = println("fly wing: $wing")
fun sing(vol:String) = println("sing vol: $vol")
}
자바클래스와 다른점
- 자료형들이 뒤로가있다.
- 변수 초기화를 할 수 있다.
DTO / VO 를 단순히 선언만 하고싶을 경우
// DTO, VO
data class Human(val id:String, var password:String, val name:String)
{
fun getFullName():String{
return "$id $password $name"
}
}
이렇게 쓴다.
- 클래스를 dto로 쓸 경우 클래스명 앞에 data라고 예약어를 쓴다.(안써도 됨)
- 디폴트 인수값을 쓸 수 있다.
함수호출부
fun main(args: Array<String>) {
//Person cls = new Person() -> java
var cls = Person("길동", "홍", 24)
cls.firstName = "말순"
println( cls.getFullName() )
val user = Human("abc123", "1004", "성춘향")
println("${user.id}")
println("${user.name}")
user.password = "1234"
// val Human() -> constructor가 없기 때문에 불가능
val bird = Bird()
bird.color = "red"
println("${bird.color}")
bird.fly()
bird.sing("long")
}