🚀 bitcamp TIL (21.08.05)
TIL

🚀 bitcamp TIL (21.08.05)

📌 29일차(2021-08-05,목)


  • 실전 프로젝트(eomcs-java-project)

    • 10-a. 자료 구조 다루기 II : 데이터 처리 코드를 캡슐화

📌 알게 된 점들


  • 캡슐화 - 복잡한 코드를 분리하여 메서드에 감춘다. (핵심) 복잡한 코드를 단순화시키자.

  • 캡슐화의 이점 - 메서드를 이용하는 측에 영향을 주지 않으면서 기능의 구현을 변경할 수 있다. (핸드폰 기능들 내부 구조 몰라도 된다. 잘 동작해서 쓰기만 하면 된다.)
    교체가 쉽고 유지보수가 쉽다.

  • 사용자 UI 중심 클래스 / DAO 데이터 처리를 하는 클래스로 분리 (높은 응집도 : 한 클래스가 한 기능에 집중하게 만든다)

  • 어떤 경우에 클래스를 합치는지 어떤 경우에 클래스를 분리해야하는지?

  • 책임할당 소프트웨어 설계패턴 GRASP(객체지향 밑바닥 개념)

  • 실제 정보를 가지고 있는 클래스로 메서드를 옮기는 것이 유지보수에 더 낫다.

  • 멤버리스트를 바로 공개하면 다른 패키지에 다른 멤버리스트를 추가시킬 수 있다.
    그걸 바꿀 수 없도록 외부에서 접근 못하도록 막아야하는데 막을 수 없다.
    변수의 값을 함부로 바꾸지 못하도록 접근 범위를 줄이고 대신 게터 메서드를 통해 접근한다.
    그보다 더 발전된 것이 생성자 주입

  • 배열하고 링크드리스트 적용한 것을 왔다갔다 해도 문제가 없다. = 교체가 쉽다.

  • 별도 클래스로 분리해놓으면 교체가 쉽다.

  • 공통적인 것은 상속받게 한다. Generalization

  • 일단 구현한 다음에 정리해!

'TIL' 카테고리의 다른 글

🚀 bitcamp TIL (21.08.09)  (0) 2021.08.09
🚀 bitcamp TIL (21.08.06)  (0) 2021.08.06
🚀 bitcamp TIL (21.08.03 ~ 21.08.04)  (0) 2021.08.05
🚀 bitcamp TIL (21.07.30)  (0) 2021.07.30
🚀 bitcamp TIL (21.07.29)  (0) 2021.07.29