본문 바로가기

반응형
SMALL

OOP

객체지향의 사실과 오해 (1) 객체지향이란 실세계를 직접적이고 직관적으로 모델링할 수 있는 패러다임이라고 많이 배운다. 현실 세계에 존재하는 사물에 대한 추상화라는 것인데, 페라리 / 람보르기니 / 포르쉐(나의 드림카)를 자동차라고 추상화하는 것과 같다. 허나 이러한 설명은 철학적인 개념을 설명하는 데엔 적합하지만 객체지향 분석, 설계를 설명하기엔 적합하지 않다. 애플리케이션을 개발하면서 직접 대응되는 실세계의 사물을 발견할 확률은 그다지 높지 않기 때문이다. 화재를 막는 벽과 소프트웨어의 방화벽 굳이 두 개를 연결지어 설명할 필요가 있냐는 뜻인데, 그러지 말고 새로운 세계를 새로운 시각으로 보자는 것이다. 그래도 !! 객체지향을 이해하는 데에 있어 현실 세계와 비유하는 것은 굉장히 학습에 효과적이기 때문에, 한 번 얘기를 하면서 정.. 더보기
OOP 해당 글은 객체 지향 프로그래밍 스터디에서 진행한 내용을 정리한 글입니다. 현재도 진행 중인 스터디이며 추가되는 내용이 있을 시 수정이 될 수 있음을 말씀 드립니다. OOP가 나온 계기 처음 프로그래밍이 탄생하면서, 절차지향 프로그래밍이 발전이 됐습니다. 왜냐면 뚜렷한 개념 없이 생각하는대로 코딩을 하는 방향이 만들어졌으니까요. 그 후 코드 중복을 제거하기 위해 함수라는 것으로 이를 해결하면서, 코드를 단순화를 완성할 수 있었습니다. 허나 함수의 경우엔 문제가 있습니다. SW 사이즈가 커지면서 전역 변수참조 영향이 생겼습니다. 이를 사이드 이펙트라 합니다. 그래서 OOP가 탄생했습니다. Low Coupling, High Cohesion(의존성을 줄이고, 응집도를 높이자)를 모토로하는 OOP는 일파만파 .. 더보기

반응형
LIST