객체지향이란 ?

ChoRong0824·2025년 1월 6일
0

Java

목록 보기
34/41

객체지향에 대해 이해하기 위해

객체지향의 원리와 오해
오브젝트
인프런에서 객체지향 관련 강의 2개
자바 기본서 3~4권
객체지향의 사실과 오해
이렇게 공부했다.

이번 포스팅은 내용을 정리해서 올리는 것이 아니라, 중요하다고 생각되는 부분들을 복습 차원에서 생각나는 대로 바로바로 적어보았다. 이 글을 통해 객체지향에 대해 어느 정도 짚고 넘어갈 수 있었으면 하는 마음이다.


정말 객체지향은 심오하다.
간단하게 '도시락'으로 비유할 수 있다.
1. object : 각 반찬이다. 각각은 독립저긍로 존재하며, 고유한 역할 및 기능을 갖고 있다.
2. class : 도시락 통의 '설계도'다. 같은 설계도로 여러 개의 도시락을 만들 수 있다. 어린이전용, 짱구캐릭터 기타 등등 가능하다.
3. Attribute : 김치는 맵고, 불고기는 달다. 같이 각 반찬이 갖고 있는 고유한 특징이다.
4. Method : 반찬을 "먹는다", 도시락 통을 "연다"처럼 각 객체가 수행할 수 있는 "행동"


다형성에서 오버라이딩과 오버로딩의 차이
상위 클래스가 가지고 있는 메서드를 하위 클래스가 재정의 (오버라이딩)
같은 이름의 메서드가 인자의 개수나 자료형에 따라 다른 기능을 함(오버로딩)

중요한건 "캡! 상추다" 를 기억하면 좋다.
사실 뭐 객체지향이라고 하면 SOLID도 있고 많은 내용들이 있지만, 결국 결합도를 낮추고 읍집도를 높이는 것이 답인데 쉽지않다.
하지 말아야하는 것은 있다.
무조건적인 "상속" 정말 하면 안된다. 상속을 사용하는 목적은 only "타입 계층 구현"하는 것이어야만하기 때문이다.
즉, 패턴을 찾아야한다.
일관성 있는 협력의 핵심은 변경을 분리하고 캡슐화하는 것이다.

정말 위에 말한게 다인 것 같다.
더 말할 수도 있겠지만, 길어질수록 머리아프다.


이번 포스팅은 간단하고 중요한 내용만 정리했다면, 그래도 이후 포스팅에 이해하기 쉽게 전반적인 내용 정리해서 설명해보겠습니다.

profile
백엔드를 지향하며, 컴퓨터공학과를 졸업한 취준생입니다. 많이 부족하지만 열심히 노력해서 실력을 갈고 닦겠습니다. 부족하고 틀린 부분이 있을 수도 있지만 이쁘게 봐주시면 감사하겠습니다. 틀린 부분은 댓글 남겨주시면 제가 따로 학습 및 자료를 찾아봐서 제 것으로 만들도록 하겠습니다. 귀중한 시간 방문해주셔서 감사합니다.

0개의 댓글