티스토리 뷰
1.
주말에 [객체지향의 사실과 오해] 책을 일고 보면서 객체에 대한 개념을 다시 잡았다.
클래스라고만 알고 있던 객체에 대해서 틀이 깨졌다.
지금가지 완전히 뜬구름처럼 알고 있었고 어떤 방향으로 객체를 생각해야하는지 배웠다.
응집도,결합도, 복잡도 등등 다양한 설계 관련 용어들에 대해서
객체지향적인 사고로 생각을 정리할 수 있었다.
자바할 때 매일 빨간색 자동차나 사람과 학생,선생 클래스 정도로만 알고 있던 객체는
생각보다 훨씬더 넓고 프로그래밍에 있어서 굉장히 기본적인 개념이었다.
하나의 어플리케이션을 구성하는 것이 객체들이고 이들의 협력과 조화로 어플리케이션이 만들어진다.
특히 ,변수의 타입도 객체라는 생각을 해본 적이 없었는데 개발자는 변수를 만들고 값을 넣어서 사용하지만
그 뒤에서는 변수 타입 객체가 있고 메모리에서 0과 1로 저장하고 그것을 연산하고 처리하는 것까지
객체가 책임지고 내 요청(메세지)을 처리하고 있는것이다.
나는 그 동작이 어떻게 처리되는지 알 수도, 알 필요도 없다.(=캡슐화)
만약 내가 캡슐을 깨고 들어가서 내부적인 것을 건드릴 경우 객체들의 분류 체계는 망가지고 모호해질 것이다.
따라서 객체에서 상태에 집중하는 것보다 행동을 중점적으로 생각해야한다.
어플리케이션에서 필요한 어떤 행동을 할때 어떤 객체가 책임을 지고 어떤 객체들과의 협력으로
가능하게할지에 대한 생각을 하며 객체 지향적인 설계를 해야한다.
이런 협력관계와 객체의 행동에 대한 분리가 잘되어 있다면 여기서 객체의 재사용성이 나온다 .
내가 작성한 코드들을 보면 이런 관계를 생각하고 구성했다기 보다는 그냥 보기 편하게 나눠놓은 경우가 많았다.
지금까지 모듈과 함수들이 나눠지는 정확한 기준이 없었다면
책을 읽고 나서는 어떻게 객체를 구분하고 객체지향적으로 사고해야하는지 배웠다.
지금까지 상속은 자식 클래스가 부모 클래스에서 멤버를 사용하는 것이라고 배웠고 그렇게 알고 있었다
이 외에도...
객체 - 객체(Object)란 물리적으로 존재하거나 추상적으로 생각할 수.....
캡슐화 - 실제 구현 내용 일부를 외부에 감추어 은닉하는.....
다시보니 정말 의미없는 설명인 것 같다.
이 책은 기존에 객체 관련해서 용어와 개념을 설명하던 책들과는 다르게
더 원론적인 내용으로 사고를 바꿔버린다. 적극 추천.
2.
시간관리 툴로 작년에 프로젝트에 사용했던 트렐로 사용하기로 했다.
칸반 기반이 더 재밌고 있어보이고..(중요함) 간단하다.
노션도 비슷한 템플릿이있지만 링크,날짜, 내용, 코멘트 등등 너무 잡다한 것들이 많다.
트렐로는 정말 그냥 열고 입력하고 옮기면 끝...필요하면 간단한 디스크립션도 작성가능하고
미래의 계획을 미리 작성하거나 세세하게 구분하거나 하지 않을 것이다.
20년이 넘게 계획만 했던 계획 전문가로써 계획을 예쁘게 세우는 건 정말 소용없다.
노션 - 정리, 스크랩 등 노트
트렐로 - 할 일(시간) 관리
'공부 > T.I.L(2021)' 카테고리의 다른 글
6. TIL - 도메인_프로그래밍에서 도메인이란 무엇일까? (0) | 2021.01.17 |
---|---|
5.TIL - 신장트리, MST, 크루스칼, union-find (0) | 2021.01.14 |
4. TIL - 플러그인(plug-in), 빌드도구(그레이들) (0) | 2021.01.08 |
3.TIL - 변수와 메모리 (0) | 2021.01.07 |
1. TIL - 시간 (0) | 2020.12.31 |