본문 바로가기

방법/객체지향프로그래밍

객체지향프로그래밍 (OOP) - 서문

Head First Design Patterns를 시작으로 진짜 객체지향(?)의 매력을 느낀 후 늦게나마 진짜 객체지향을 공부하기 시작했다.

이 좋은 것을 나만 알 수 없기에 부족한 실력이지만 다른 이들은 언어에만 시간낭비하지 않기 위해, 깨끗한 코드를 짜기 위해  객체지향을 정리해보려 한다.


왜 배워야 하나요?

계속 언어만 배워야 하나요..

나는 중학생 때부터 프로그래밍을 했고 소프트웨어 프로그래밍 관련 특성화고를 졸업했다. 그러나, 학교 수업은 프로그래밍 언어 문법에 매우 의존하여 진행되었고 시험 또한 문법 문제밖에 없었다.

 

고등학교를 졸업하고 취업해야 하는데, 친구들은 언어와 프레임워크의 사용법만 알고 있었다.

이렇게 계속 언어만 배운다면 언어와 프레임워크에 종속되어 성장과 이직의 방해가 될 것이다.

 

그렇다면 뭘 배우죠?

다양한 언어의 기초를 계속 배우는 것보다 한 언어를 통해 탑을 쌓고 옆으로 확장시키는 T자 형태의 공부법이 좋을 것이다.

그래서 프로젝트를 시작하려니, 강의보고 따라치기만 하고 시간과 돈만 낭비한 것 같다.

왜 그럴까? 바로 코드의 역할을 알지 못하고 포트폴리오 채우기만 하려고 하기 때문일 것이다.

 

취업만 하고 끝이 아니기에, 우리는 깨끗한 코드를 짜고 깨끗한 구조를 만들기 위해 힘써야 한다. 나의 경우는 객체지향으로 해결할 수 있을 것 같다고 생각했기에 이를 공부했다.

 

같이 일하고 싶은 사람

물론 나도 주니어 개발자이긴 하지만 (사실 주니어가 아니라 아가 개발자일지도..?) 더러운 코드를 짜는 사람은 싫다. 개발자 선배님들은 얼마나 싫을까? main 함수에 다 때려넣는 사람, 주석 안쓰는 사람, 변수명 a로 짓는 사람과 같이 프로젝트를 진행하고 싶을까? 설령 내가 그런 사람이라 하더라도, 그런 사람과는 일하고 싶지 않을 것이다.

 

우리는 이해하기 쉬운 코드를 짜도록 하자..!