우아한 테크코스

    [우아한테크코스] 📚 레벨로그 - 레벨1 인터뷰

    📚 레벨로그 원시값, 컬렉션을 왜 포장해야 하는가? 원시값, 컬렉션을 하나의 클래스로 감싼 형태를 래퍼 클래스, 일급 컬렉션이라고 한다. 원시값과 컬렉션을 포장하면 상태에 대한 처리를 외부가 아닌 내부에서 할 수 있다. 즉, 상태를 외부에 노출시키지 않고, 객체에게 메시지를 던지는 구조로 만들면서 객체지향적이고 응집도 높은 설계가 가능하다. Wrapping한 상태에 대한 로직을 여러 곳에서 중복적으로 작성할 필요가 없다. 하나의 클래스 내에서 행위를 관리하므로, 상태에 대한 로직이 변경되었을 때 단 하나의 클래스만 수정하면 된다. (높은 유지보수성을 보장한다.) TDD(Test Driven Development)란? TDD는 테스트 주도 개발로, 매우 짧은 개발 사이클을 반복하는 소프트웨어 개발 방법론이..

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

    목차 ✏️ 2주차 문제 🤔 문제를 풀며 고민해본 내용들 ✨ 보기 좋은 코드가 먹기도(?) 좋다 ✏️ 2주차 문제 미션 - 숫자야구 2주차 미션은 숫자야구 게임입니다. 지난 1주차 미션과 다른 점은 알고리즘 문제가 아닌, 실제로 어떤 큰 기능을 구현해야 한다는 점입니다. 문제를 요약하자면 아래와 같습니다. 플레이어와 컴퓨터가 존재합니다. 컴퓨터는 1부터 9까지의 범위 내에서 랜덤으로 서로 다른 숫자 3개를 만듭니다. ex) 198 플레이어는 컴퓨터의 숫자를 알지 못합니다. 플레이어는 값을 제시해가며 컴퓨터의 숫자를 맞춥니다. 처음에 문제를 접했을 때에는 '어..? 할만 하겠는데?' 라고 생각하였습니다. 하지만 실제로 구현하는 과정에서 이러한 생각은 큰 오산이었다는걸 깨달았습니다. 문제 자체는 간단해보였지만..