반응형
변수
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")
}
}
상속
반응형
'안드로이드' 카테고리의 다른 글
Android API 업데이트 후, Push Message처리가 동작하지 않을때 (0) | 2023.08.09 |
---|---|
Android NDK 용 Crypto++ 라이브러리를 Windows에서 빌드하는 방법 (0) | 2021.07.02 |
native code에서 java class에 접근과 android 난독화(proGuard) (0) | 2020.07.16 |
Realeas 모드 디버깅 세팅 (0) | 2020.07.16 |
[Android] ndk-build를 이용한 Native Code 빌드 및 사용방법 (1) | 2019.12.12 |