객체지향에 대해 이해하기 위해
객체지향의 원리와 오해
오브젝트
인프런에서 객체지향 관련 강의 2개
자바 기본서 3~4권
객체지향의 사실과 오해
이렇게 공부했다.
이번 포스팅은 내용을 정리해서 올리는 것이 아니라, 중요하다고 생각되는 부분들을 복습 차원에서 생각나는 대로 바로바로 적어보았다. 이 글을 통해 객체지향에 대해 어느 정도 짚고 넘어갈 수 있었으면 하는 마음이다.
정말 객체지향은 심오하다.
간단하게 '도시락'으로 비유할 수 있다.
1. object : 각 반찬이다. 각각은 독립저긍로 존재하며, 고유한 역할 및 기능을 갖고 있다.
2. class : 도시락 통의 '설계도'다. 같은 설계도로 여러 개의 도시락을 만들 수 있다. 어린이전용, 짱구캐릭터 기타 등등 가능하다.
3. Attribute : 김치는 맵고, 불고기는 달다. 같이 각 반찬이 갖고 있는 고유한 특징이다.
4. Method : 반찬을 "먹는다", 도시락 통을 "연다"처럼 각 객체가 수행할 수 있는 "행동"
중요한건 "캡! 상추다" 를 기억하면 좋다.
사실 뭐 객체지향이라고 하면 SOLID도 있고 많은 내용들이 있지만, 결국 결합도를 낮추고 읍집도를 높이는 것이 답인데 쉽지않다.
하지 말아야하는 것은 있다.
무조건적인 "상속" 정말 하면 안된다. 상속을 사용하는 목적은 only "타입 계층 구현"하는 것이어야만하기 때문이다.
즉, 패턴을 찾아야한다.
일관성 있는 협력의 핵심은 변경을 분리하고 캡슐화하는 것이다.
정말 위에 말한게 다인 것 같다.
더 말할 수도 있겠지만, 길어질수록 머리아프다.
이번 포스팅은 간단하고 중요한 내용만 정리했다면, 그래도 이후 포스팅에 이해하기 쉽게 전반적인 내용 정리해서 설명해보겠습니다.