객체지향 프로그래밍
객체 지향 프로그래밍(object oriented programming)
객체지향프로그래밍을 이해하려면 일단 객체를 이해하는 것이 시작.
객체에는 상태와 행위로 이루어져 있고 서로 연관된 상태와 행위를 그룹핑한 것이 일종의 객체라고 할 수 있다. 객체+객체=프로그래밍 sw의 완제품이 된다.
객체를 문법적으로 어떻게 사용하는지 중점으로 공부.
상태와 행위를 좀 더 구체적으로 보면 예를 들어 아래와 같은 사이트(Ex.opentutorials.org)가 있다고 한다면 글목록을 구성하는 로직과 본문, 댓글창 등에 관련된 조직이 존재 한다.
하나의 프로그램은 여러가지 목적성을 가지고 있는 로직들의 집합이라고 할 수 있다.
이 로직들을 다시 쪼개어 보면 글목록과 관련된 변수에는 List_00 식의 상태와 행위가 적힌 코드가 작성되어 있을 것이다. 연관된 기능들을 묶어두는 것이 일종의 카테고라이징이라고 한다.
객체지향은 결국 구분없이 한데 뒤엉켜 막장의 코드로 인한 절망감을 해소하기 위해 만들어진 것으로 맥락을 이해하면 좋을 것.
글 목록과 관련된 로직들(변수+메소드)이 존재하는 것 처럼 본문과 댓글창도 이와 마찬가지다.
이 로직을 분류해둔다면 다른 사이트의 글 목록이나 댓글창을 만들 때 가져다 사용할 수가 있다. 이것을 재활용성이라고 표현한다.
재활용을 하다보니 또 다른 문제들이 발생하게 되었다. 이러한 맥락에서 우리가 사용하는 기능들이 추가된 것일것.
따라서 객체지향이라는 것은 추상적인 것이 아니라, 객체를 만드는 것으로 이해하면 쉬울것.
매우 구체적인 문법적 기능이 언어차원으로 제공되는 기능이다.
하나의 객체안에는 그 객체가 가지고 있는 취지, 그것이 본문인지 댓글인지에 따라 그 기능과 연결되어 있는 변수와 메소드들을 객체라는 단단한 껍데기안에 가둬둔 것이고 다른 로직과 구분해주는 것이 객체라고 생각하면 된다.