(TIL) 20220331

2022. 4. 1. 10:09TIL(Today I learned)

반응형

🏴󠁩󠁤󠁪󠁷󠁿Facts(한 것)


  • 객체지향의 사실과 오해 다시 읽기
  • 네트워크 수업 듣기
  • 운영체제 수업 듣기

 

🏴󠁩󠁤󠁪󠁷󠁿Findings(배운 것)


객체지향에 갓 입문한 사람들이 가장 쉽게 빠지는 함정은 상태를 중심으로 객체를 바라보는 것이다. 

객체는 행동으로 인해서 상태가 결정되는 것이지, 필요한 상태로 행동이 결정되는 것이 아니다.

 

그렇기 때문에 역할, 책임, 협력이라는 객체의 본질을 이용하여 책임 - 주도 설계를 해야 한다.

 

객체지향 애플리케이션의 아름다움을 결정하는 것이 협력이라면 협력이 얼마나 조화를 이루는지를 결정하는 것은 객체다.
결국 협력의 품질을 결정하는 것은 객체의 품질이다.

 

객체의 품질이 좋아야 품질이 좋은 객체 지향 설계를 할 수 있는 것이다. 그럼 품질이 좋은 객체란 뭘까?

어떤 특성을 가지고 있어야 하는 걸까?

 

 

책에서는 객체는 상태와 행동을 지닌 실체이며 자율적인 존재라고 한다.

 

 

또, 다른 객체와 협력하며 협력의 과정에서 메시지를 전달한다.

 

 

이 메시지를 처리하기 위해 메서드가 정의되어 있고, 이 메서드를 어떻게 실행할 지에 대한 자율성을 가진다.

 

나는 이 자율성에 대해서 크게 와닿았는데,

 

 

스프링에서 컨트롤러가 서비스를 부를 때, 컨트롤러는 서비스가 어떻게 일을 하는지 몰라야 한다. (캡슐화)

 

 

단지, 어떤 일을 해서 어떤 값을 보내주겠지 하고 요청할 뿐이다.

 

 

이렇게 모를 수 있는 이유는 자율성 때문이 아닐까?

 

🏴󠁩󠁤󠁪󠁷󠁿Feeling(느낀 점)


"객체"라는 것에 대해 더욱 깊게 생각할 수 있는 좋은 계기가 되었다.

 

또, 역시 읽은 책을 또 읽는 것은 정말 좋은 것이라는 것도 느꼈다.

 

 

🏴󠁩󠁤󠁪󠁷󠁿Affirmation(자기 선언)


  • 매일 알고리즘 문제 1문제 이상 풀기 => 실패
  • 수업 공부한 것은 일주일 내에 포스팅하기 => HTTP 관련 포스팅 예정
  • 자바 8 버전에 익숙해지기 => 자기 전에 자바 9 책 읽음

 

🏴󠁩󠁤󠁪󠁷󠁿여담


 
반응형