728x90 반응형 코틀린17 아토믹 코틀린 - 객체 - 프로퍼티 프로퍼티를 정의하는 목적 = 클래스 안에서의 상태 유지 var / val 는 객체가 아니라 참조를 제한한다. var를 사용하면 참조가 가르키는 대상을 다른 대상으로 다시 엮을 수 있지만, val을 사용하면 엮을 수 없다. var 프로퍼티는 재대입이 가능하지만, val 프로퍼티는 재대입이 불가능하다. 클래스 안에 정의한 var / val 은 클래스의 일부분이 된다. 따라서 점 표기법을 사용해야만 접근 가능하다. 멤버함수는 점 표기법을 쓰지 않고(=해당 프로퍼티를 한정하지 않고) 자신이 속한 객체의 프로퍼티에 접근할 수 있다. clss Cup2 { var percentFull = 0 val max = 100 fun add(increase: Int): Int { percentful += increase if .. 2023. 10. 2. 아토믹 코틀린 - 객체 - 클래스, 멤버 함수... 코틀린에서의 멤버 함수 = 메서드 이는 코틀린의 함수적 특성을 강조하기 위해서다. 최상위(top-level) 함수 = 클래스에 속하지 않은 함수 보통, 멤버 함수 = 클래스에 속한 함수 멤버 함수를 호출하려면 반드시 객체를 지정해야 한다. 멤버 함수는 클랙스에 속한 다른 요소들을 멤버 이름만 사용하여 접근할 수도 있다. 예) class Hamster { fun speak() = "Squeak! " fun exercise() = this.speak() // this로 한정해도 되고 + speak() // 한정하지 않아도 된다. + "Running on wheel" } fun main() { val hamster = Hamster() println(hamster.exercise()) } // 출력 // Sq.. 2023. 10. 2. 이전 1 2 3 4 다음 728x90 반응형