본문 바로가기

객체지향프로그래밍

객체지향프로그래밍 (OOP) - 추상화 추상화(Abstraction) - "우리 비슷한 점이 많네요~ 일로 오세요~" 정의 추상화가 무엇인지 딱딱하게 정의해보자면, 객체들의 공통 속성과 행위를 추출하는 것이다. 처음 프로그래밍을 접하는 사람은 무슨 소리인지 잘 모를수도 있을 것 같다. 다시 쉽게 말해보면, 공통점을 찾아 이름짓기이다. 왜? 귀가 길고, 초식 동물이면서, 귀엽고, 갈색 털이고, 콧구멍이 큰 동물과 귀가 길고, 초식 동물이면서, 귀엽고, 흰색 털이고, 콧구멍이 작은 동물 등이 있다. 이 친구들을 항상 이렇게 길게 불러야 할까? 털과 콧구멍 말고도 차이점은 많겠지만, 같은 점이 더 많으니 하나의 이름으로 묶어주면 더 편할 것이다. 자, 이제 "귀가 길고 어쩌고 저쩌고"라 부를 필요 없이 토끼라고만 부르면 된다! 이렇게 되면 코드 상.. 더보기
객체지향프로그래밍 (OOP) - 서문 Head First Design Patterns를 시작으로 진짜 객체지향(?)의 매력을 느낀 후 늦게나마 진짜 객체지향을 공부하기 시작했다. 이 좋은 것을 나만 알 수 없기에 부족한 실력이지만 다른 이들은 언어에만 시간낭비하지 않기 위해, 깨끗한 코드를 짜기 위해 객체지향을 정리해보려 한다. 왜 배워야 하나요? 계속 언어만 배워야 하나요.. 나는 중학생 때부터 프로그래밍을 했고 소프트웨어 프로그래밍 관련 특성화고를 졸업했다. 그러나, 학교 수업은 프로그래밍 언어 문법에 매우 의존하여 진행되었고 시험 또한 문법 문제밖에 없었다. 고등학교를 졸업하고 취업해야 하는데, 친구들은 언어와 프레임워크의 사용법만 알고 있었다. 이렇게 계속 언어만 배운다면 언어와 프레임워크에 종속되어 성장과 이직의 방해가 될 것이다... 더보기