수업

hyunji·2023년 2월 21일
0

value class

@JVMInline
value class ~~ (){}

  • value class는 동일성 비교를 못하게 막아놓음
    =>isSameAs 실패
  • 동등성 비교는 가능
    =>isEqualTo 성공
  • 객체를 인스턴스화하지 않음(힙 메모리를 차지하지 않음)

상속 VS 조합

상속 : 물려받는 것
코드를 재사용 NO 최선
올바르게 사용하는 것이 중요
* 리스코프치환법칙...? 위반할 수 있다.
조합 : 내가 갖고 있는 것

private 함수 테스트

  • public 으로 바꿀만한 빌미를 만든다.
    * 다른 클래스로 옮긴다. (별도의 클래스로 분리)
    class Rank{
    	companion object{
        	//함수를 이 안으로......
        }
    }

BY

  • 위임하게 함 - 위임패턴

  • 해당 자료형에 위임을 해줘서 다양한 역할을 할 수 있게 해줌

    class Lotto(val numbers: Set<LottoNumber> ): Set<LottoNumber> by numbers {}
    
  • 매우 편리하게 override 됨

  • 단점 :

TreeSet<>

  • 정렬의 상태로 보여줌
  • 로또 미션때 좋다!

다녀가요<익명>

0개의 댓글