글

라벨이 object인 게시물 표시

코틀린 (Kotlin) object 키워드와 동반 객체 정리

코틀린 obeject 키워드 object 는 흔히 자바나 안드로이드에서 사용하는 무명 내부 클래스(anonymous inner class) 처럼 사용할 수 있습니다. object 키워드는 클래스를 정의하면서 객체를 생성 합니다. 코틀린 싱글턴 만들기 코틀린은 object 키워드를 이용해서 별다른 코드없이 싱글턴 구현을 지원합니다. 자바처럼 클래스를 만들고 static 객체로 한번만 할당해주는 코드가 object Payroll 이라고 클래스를 생성해 주기만하면 static 객체에 할당해주는 것을 자동으로 생성해줍니다. object Payroll { //object 클래스 생성으로 싱글턴을 구현     val allEmplyees = arrayListOf<Person> ()     fun calculateSalary() {         //...     } } //사용 Payroll.calculateSalary() //싱글턴처럼 . 으로 접근 Payroll.allEmplyees. add(Person( "zerog" , Company( "zerog" , Address( "" )))) object 생성자 object 객체는 주 생성자와 부 생성자 모두 사용할 수 없습니다. //ERROR!!! object 는 생성자를 사용할 수 없음 object Payroll(val a:String) {    ... } object 상속 object 객체는 상속이 가능합니다. 예를들어 멤버변수로 상태값을 저장하지않고 메소드만 override 하여 사용하는 클래스의 경우 object 로 상속을 받아 생성자없이 바로 사용가능하도록 만들수 있습니다. //object 로 구현한 경우 object CaseInsensitiveFileComparator: Comparator {   ...