companion(static 자원 in Java)
Kotline에서는 'companion object' 예약어를 사용해 블럭을 만듬으로써
Java의 static 자원 처럼 활용할 필드나 메소드를 정의할 수 있다.
1
2
3
4
5
6
7
8
9
10
|
class MyUtil{
//클래스명에 . 찍어서 사용할 수 있는 자원 만들기(Java의 static 클래스 같이)
//동반 객체 정의 하기
companion object{
val color="Red"
fun write(){
println(color+"필기를 해요!")
}
}
}
|
cs |
-출력-
1
2
3
4
5
|
fun main(){
MyUtil.write() // static 메소드 호출
var a=MyUtil.color // static 필드 참조
println("a:"+a)
}
|
cs |
[예시]
//Single ton으로 사용할 수있는 Dao
class YourDao private constructor(){
companion object{
private val dao=YourDao() //? 예약어를 사용하지 않았으므로 null값 불가능
fun getInstance():YourDao{
return dao
}
}
fun insert(){
println("YourDao insert!")
}
fun update(){
println("YourDao update!")
}
}
fun main(){
YourDao.getInstance().insert()
YourDao.getInstance().update()
}
제어자
제어자의 개념은 아래의 링크를 참고 해주세요.
https://sallykim5087.tistory.com/95