첫째주 발자국 👣

image

추상화

  • 이름짓기

     

  • 메서드 선언부의 의미

  • 추상화 레벨

     

    • 추상화 레벨이 동등해야한다.

  • 매직넘버, 매직 스트링

    • 상수로 추출하기

논리, 사고의 흐름

  • 뇌 메모리 적게쓰기

  • Early return,

    사고의 depth 줄이기

  • 공백 라인이 가지는 의미,

    부정어 - 긍정문으로 바꾸기

  • 해피 케이스와 예외처리 - 예외에 더 집중하자.

  • Null 처리 주의하기

객체 지향 패러다임

  • 추상의 관점으로 바라보는 객체 지향

     

    • 객체 = 데이터+ 코드

       

  • 객체설계 :

    • 관심사의 분리 -> 높은 응집도와 낮은 결합도

      • getter/ setter 자제하기

      • 객체에 메시지 보내기

  • SOLID: SRP, OCP, LSP,ISP,DIP

    • SRP : 단일 책임의 원칙

    • OCP : 확장에는 열려있고 수정에는 닫혀있다.

    • LSP : 부모가 있는곳을 자식이 대체할수있어야한다.

    • ISP : 인터페이스를 기능단위로 쪼갠다.

    • DIP : 고수준 모듈과 저수준모듈 각각 추상화를 의존하도록 하기

객체 지향 적용하기

  • 상속과 조합

    • 조합과 인터페이스를 활용하는것이 유연한 구조

  • Value Object

    • 도메인의 어떤 개념을 추상화하여 표현한 값 객체

  • 일급컬렉션 : 컬렉션을 유일한 필드로 가지는 객체


👩🏼‍💻첫째주 회고

  • 미션1 : 세수한다를 구체적으로 적어보았는데, 하나하나 생각해보니 저 단어에 참많은 행동들이 축약되있구나 라는 생각이 들었다. 추상화를 좀 더 이해할 수 있는 미션이었다.

  • 미션2 : 코드를 리팩토링 하는 것이었는데, if-else문이 너무 많아서 복잡해보였다. 그래서 얼리 리턴 구조로 우선 변경을 하고, if문 조건문에 ! (부정어)가 쓰여서 메서드를 추출해서 긍정문으로 바꿨다. 미션을 제출하고 보니 메서드중에 get으로 꺼내는게 있던데 이것도 수정해야하는 거 아닌가 라는 생각이 들었다.

강의 듣는 내내, 새롭게 접하는 부분이 많아서 이해하고 생각할 거리가 많았다. 그래서 하루에 해야할 분량이 너무 많게 느껴져 힘들었다.

그래도 끝까지 하는게 목표! 다음주도 화이팅 👏


출처

댓글을 작성해보세요.

채널톡 아이콘