본문 바로가기

OOP

(3)
[OOP #3] OOP와 SOLID 원래 내 블로그에는 다른 데에서도 쉽게 찾을 수 있는 내용은 포스팅하지 않으려고 했다. 앞선 두 개의 포스팅은 사람마다 모두 다르게 정의하는 "객체지향"에 대해서 내가 한번 제대로 정의해보겠다는 취지로 작성했다. 두 번의 포스팅의 내용은 결국 OOP는 좋은 프로그램을 만들기 위한 하나의 방법론이며, 캡슐화, 상속, 다형성이라는 특징을 이용하여 그 목표를 이뤄내고자 한다는 것이다. 그리고 첫 번째 포스팅에서도 언급했듯이, 이 세 가지 특징을 지향점을 향해 잘 쓰기 위한 원리와 패턴을 정리한 것이 SOLID 원칙과 디자인 패턴이라는 게 내 주장이다. 이렇게 정리를 하고 나니, 나 역시 SOLID를 잘 모르기 때문에 공부할 필요성이 느껴졌다. 공부할 때마다 다음 공부의 방향성이 정해진다는 것이 이렇게 블로그 ..
[OOP #2] 캡슐화, 상속, 다형성 지난 포스팅 "객체지향이란 무엇인가? (https://p-tech.tistory.com/2)"에서 객체지향은 "캡슐화, 상속, 다형성"을 이용하여 "High Cohesion, Less Coupling"을 달성하여 좋은 프로그램을 개발하기 위한 방법론이라고 정의했다. 따라서 이번 포스팅에서는 "캡슐화, 상속, 다형성"이라는 개념 대해서 먼저 정의하고, 어떻게 사용하고, 왜 사용하는지를 주절거려보려고 한다. 근데 먼저 뇌피셜을 하나 주장하고 넘어가겠다. OOP는 세 가지 개념을 통해서 High Cohesion, Less Coupling을 달성하려는 방법론이라고 했는데, High Cohesion, Less Coupling이라는 것도 결국은 관념적인 것이다. 실존하고 완벽하게 객관화되는 내용이 아니기 때문에, ..
[OOP #1] 객체지향이란 무엇인가? 2019.01.01. 군대 2년, 휴학 1.5년, 9학기의 학업으로 8년 만에 겨우 학생을 탈출해 첫 직장에 자리를 잡았다. 그리고 11개월 동안 새내기 현역 개발자로 한 걸음씩 첫 경력을 쌓아나가고 있다. 그리고 이제 겨우 내가 손대고 있는 프로젝트에 익숙하고 능숙해졌다. 그러면서 그동안 주먹구구로 알아왔던 것들을 정확히 알고 싶어 지고, 내 지식의 범주를 넓히고 싶어 졌다. 한 마디로 넓고 깊어지고 싶었다. 하지만 사람이 통상 그렇듯이 배운 것도 쓰지 않으면 잊기 마련이다. 또한 혼자 습득한 지식은 비판이 없다. 그래서 틈날 때마다 공부하고, 공부한 것을 기록하여 잊지 않게 하고, 여러 사람에게 공개하여 매를 맞고 싶어졌다. 이게 풋내 나는 초보 개발자인 내가 거창하게 기술 블로그란 것을 시작하게 된..