본문 바로가기
반응형
[우아한테크코스] 5주차 회고 5주차에서는 정말 많은 것을 배울 수 있었다고 생각합니다. 그동안 알지만 놓치고 있었던 부분들에 대해서도 다시 생각해볼 수 있었던 기회였고, 좋은 리뷰어분을 만난 행운이 크다고 생각합니다. 가변성 불변성, 캡슐화 정보은닉 접근제한자와 가변 / 불변을 더 신경써야 합니다. 외부에 공개될 필요가 없는 것들은 private으로 제한해줘야하고, 외부에서는 get 만 가능하고 set은 내부에서만 해주려면 private set을 적극 잘 활용해야 합니다. 또한 backing property도 이를 위한 활용에 속합니다. 객체 스스로의 역할 각 객체마다 아래와 같은 생각을 해봐야 합니다. - 이 데이터가 외부로 노출되어야만 하는가? - 내부에서 수행할 수 있지만 외부에 의존하고 있지 않은가? 이는 일급컬렉션의 활용 .. 2024. 3. 23.
[우아한테크코스] 4주차 회고 4주차에는 블랙잭 미션을 진행했습니다. 이번 미션에서 학습한 내용은 다음과 같습니다. 블랙잭 미션에서는 정말 많은 것들을 얻어가게 되었다고 느낍니다. DSL(Domain-specific language) 선언적 언어. 젯팩 컴포즈나 코틀린의 UI 방식입니다. 이걸 처음 봤을 때, 빌더 패턴이 이렇게 생겼구나 라고 느낄 수 있었습니다. buildString을 활용할 줄만 알았는데, 시야를 조금 더 깨우칠 수 있는 계기였습니다. 설계의 중요성 기본적인 설계를 어느정도 생각해 두고 가면 뒤에 사고가 발생하는 것을 방지할 수 있습니다. 그 전까지는 어느정도 설계를 마치고 진행했었는데, 이번 주차에는 페어와 함께 주먹구구식의 방식에 도전해보기로 했습니다. 결과는 3일동안 매일 남아서 미션을 했습니다. 의존성 관계.. 2024. 3. 23.
[우아한테크코스] 3주차 회고 3주차에는 로또 미션을 마무리하는 시기를 가졌습니다. 이번 미션에서 중점적으로 배웠던 내용은 다음과 같습니다. 가변인자 인자의 갯수가 정해져 있지 않은 가변인자 fun sum(vararg numbers: Int): Int { var total = 0 for (number in numbers) { total += number } return total } fun main() { val result1 = sum(1, 2, 3, 4, 5) val result2 = sum(10, 20, 30) println("첫 번째 결과: $result1") println("두 번째 결과: $result2") } 고차함수 인자로 넘기는 :: numbers.map { LottoNumber(this) } 대신에 numbers.m.. 2024. 3. 23.
[프로그래머스] 멀리 뛰기 C++ 규칙을 찾을 수 있는 dp 문제이다. #include #include using namespace std; long long dp[2001]; long long solution(int n) { dp[1] = 1; dp[2] = 2; for(int i = 3; i 1 n = 2 -> 2 n = 3 -> 3 n = 4 -> 5 n = 5 -> 8 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 2 1 1 1 1 2 2 2 1 2 2 2 1 */ 2024. 3. 23.
반응형