안드로이드
kotlin basic ( 1)
좋은향기
2020. 10. 29. 15:05
반응형
변수
Type | ||
val | value | like const |
var | variable |
var name: String = "tom"
var age: Int = 18
var nameVar = "tom"
var age = 18
함수
fun sum(num1:Int, num2:Int) : Int {
return num1+num2
}
fun sum1(num1:Int, num2:Int) : Int = num1 + num2
fun sum3(num1:Int, num2:Int) = num1 + num2
fun add10(num1:Int, num2:Int = 10) = num1 + num2
클래스
class Person{
public var name: String = ""
protected var age: String = ""
private var phone: String = ""
internal var address: String = ""
}
Constructor
Primary constructor(주 생성자)
class Person() {
public var name: String = ""
protected var age: String = ""
private var phone: String = ""
internal var address: String = ""
}
class Person() {
public var name: String = ""
}
class Person(_name: String) {
var name: String = _name
}
class Person(var name: String = "") {
}
Secondary constructor(부 생성자)
* 주 생성자 없음
class Person {
var name: String = ""
var age: Int = 18
constructor(_name: String){
this.name = _name
}
constructor(_name: String, _age: Int){
this.name = _name
this.age = _age
}
}
* 주 생성자 + 부 생성자 ( 부생성자는 반드시 주생성자를 재호출 해야 한다 --> 주생성자는 반드시 호출 되어야 한다.)
class Person(var _name: String) {
var name: String = ""
var age: Int = 18
constructor(_name: String, _age: Int) : this(_name){
this.age = _age
}
}
* 인자에 대한 디폴트 값을 전달받기 위해 부 생성자를 여러개 만들지 않아도, 디폴트 값을 활용하여 기능을 제공할 수 있다.
class Person(var _name: String, var age: Int = 18, var sex: String = "male" )
Initializer Block(초기화 블록)
* 초기화 블록은 주 생성자 호출 직후 실행되며, 부 생성자 보다 먼저 실행된다.
* 초기화 블록은 주 생성자가 없더라도, 부 생성자 보다 먼저 실행된다.
class Person{
var _name: String = ""
init {
println("initial block")
}
}
상속
반응형