일급 컬렉션

    [Programming] 원시값과 컬렉션을 포장해야 하는 이유 - 래퍼 클래스, 일급 컬렉션(Wrapper class, First-class Collection)

    해당 포스팅은 Kotlin 언어를 기반으로 작성하였습니다. 모든 원시값과 문자열을 포장하자 우선, 모든 원시값과 문자열을 포장하자는 이야기에 대해 살펴보겠습니다. Lotto와 관련된 프로그램을 작성한다면, 원시값을 아래와 같은 코드로 검증해 줄 수 있습니다. val lottoNumber: Int = 45 class Lotto(lottoNumbers: List) : List by lottoNumbers { init { lottoNumbers.forEach { validateLottoNumber(it) } validateLottoSize(lottoNumbers) } fun validateLottoNumber(lottoNumber: Int) { require(lottoNumber in MIN_LOTTO_NUM..

    [우아한테크코스 5기] 프리코스 3주차 회고 - Kotlin 안드로이드

    목차 ✏️ 3주차 문제 📃 추가된 요구 사항 🥺 부족했던 부분 🤔 새롭게 알게 된 지식 ✏️ 3주차 문제 미션 - 로또 3주차 미션은 로또 시뮬레이션 구현입니다. 로또 구입 금액을 입력하면 구입 금액에 해당하는 만큼 로또를 발행해야 한다. 로또 1장의 가격은 1,000원이다. 당첨 번호와 보너스 번호를 입력받는다. 사용자가 구매한 로또 번호와 당첨 번호를 비교하여 당첨 내역 및 수익률을 출력하고 로또 게임을 종료한다. 사용자가 잘못된 값을 입력할 경우 IllegalArgumentException를 발생시키고, "[ERROR]"로 시작하는 에러 메시지를 출력 후 종료한다. 만약 금액이 1000원 단위가 아니거나, 로또를 구매할 수 없는 금액이라면 예외를 발생시키고 프로그램을 종료해야 합니다. 이 외에도 숫..