7장. 사과와 오렌지
- 할일 목록
$5 + 10CHF = $10 (환율이 2:1로 가정)
$5 x 2 = $10
amount를 private으로 만들기
Dollar side effect?
Money 반올림?
equals()
hashCode()
Equal null
Equal object
5CHF x 2 = 10CHF
Dollar/Franc 중복
공용 equals
공용 times
Franc과 Dollar 비교하기
Franc과 Dollar를 비교하면 어떻게 될까?
@kotlin.test.Test
fun testEquality() {
assertEquals(Dollar(5), Dollar(5))
assertNotEquals(Dollar(5), Dollar(6))
assertEquals(Franc(5), Franc(5))
assertNotEquals(Franc(5), Franc(6))
assertFalse(Franc(5).equals(Dollar(5)))
}
컴파일조차 되지 않는다. 빠르게 고쳐보자.
override fun equals(other: Any?): Boolean {
return amount == (other as Money).amount
&& javaClass == other.javaClass
}
자바 객체의 용어를 사용하는 것보다 재정 분야에 맞는 용어를 사용하고 싶지만, 현재는 통화 개념 같은 게 없고, 통화 개념을 도입할 이유가 없어 보이므로 잠시 이렇게 두자.
- 할일 목록
$5 + 10CHF = $10 (환율이 2:1로 가정)
$5 x 2 = $10
amount를 private으로 만들기
Dollar side effect?
Money 반올림?
equals()
hashCode()
Equal null
Equal object
5CHF x 2 = 10CHF
Dollar/Franc 중복
공용 equals
공용 times
Franc과 Dollar 비교하기
통화?
Last modified: 31 January 2024