WIL(11/21~11/27)

최찬호·2022년 11월 27일

🤞🏼 FACTS

내일배움캠프의 4주차
OOP, JAVA MINI PROJECT

  • KEEP
    1. 첫째로 프로젝트의 완성을 목표로 행동하기
    2. 하나의 기능을 구현하는데는 여러가지 방식이 존재한다. 어떠한 방식이 바람직하다고 생각되는지 팀원들과 이야기하고 양식을 지키기
    3. git을 통해 작업할 때는 주기적으로 서로의 작업물을 동기화해야한다.
  • PROBLEM
    1. 프로젝트의 설계하는 과정에서 클래스 하나하나를 나눌 수 있는지 더 고심해볼 것. 코드작성을 진행하면서 나눌 필요가 있다는 생각이 많이 들었다.

🤘🏼 LEARNED

  • MIND

    1. 클래스의 역활을 잘 나누는 것은 굉장히 중요하다.
      작은 프로젝트에서도 이런저런 코드가 섞여있으면 흐름을 파악하기가 어려웠다. 더 큰 작업을 할때도 적용할 수 있도록 클래스를 보며 생각을 하자. 더 나눌 필요가 있는지, 너무 나누어 놨는지 적절한지를 고민하자.

    2. 의존성을 주입할 때 주입하는 객체가 프로그램에서 유일해야 하는 객체인지 생각해볼 것.
      코드를 작성하고 돌려보던 중 객체의 값을 변화시켰는데 반영되지 않는 상황을 발견했다. 디버그를 해봤는데 객체의 값들은 모두 원하는 값으로 변경이 되었는데 다만 하나의 객체를 변경해야 했는데 하나의 클래스의 두개의 인스턴스를 생성해서 서로 다른 객체를 조작하고 있었다. 하나의 객체를 생성하고 주입할 때 이 생성한 객체를 넣던가 Singleton을 사용하던가. 후자가 여러모로 편한 거 같다.
  • TECH

    1. JAVA
    2. SRP

💪🏼 TO FUTURE

객체지향을 맛본 1주일
직접코드를 쳐보니 많은 것을 배웠다. 크게 보면 적지만 개인에게 있어서는 만족스러운 시간이였다. 팀원들과 작성전 클래스를 어떻게 나눌 것인지 이야기 해본것이 굉장히 도움이 되었다. 각 역활에 맞게 클래스를 분리하니 전체적인 생각이 탁 트인느낌을 많이 받았다. 그리고 코드를 작성하고 내가 짠 코드를 보면서 OOP기준에 맞추어서 바꿔본다면 어떻게 해볼 수 있을지를 고민하며 놀았다. 확실히 내가 짠 코드를 변경해보는 것이라 접근하기가 비교적 쉬워서 이런저런 시도를 해볼 수 있었다. 코드를 치는게 왜 중요하다는지 느낀 한 주였다.
다음주는 미니프로젝트를 마저 완성하고 JAVA심화인데 아마도 메모리관련 학습을 하지 않을까? 싶다 나를 믿고 따라가자

profile
체득하고 이해하자

0개의 댓글