backend

객체지향 프로그래밍.

버리야 2007. 5. 13. 03:57
반응형
한빛미디어의 책 자바 디자인 패턴과 리팩토링 공부를 시작하였습니다.
1장부터 제가 객체지향에 대해 모르고 있었단 생각이 확 들었습니다.
절차지향적인 C와 객체지향적인 Java의 코드를 비교해주니, 쏙! 들어옵니다.

책의 내용 발취.
객체 지향 방식에는 데이터와 함수가 객체안으로 함께 캡슐화된다는 특징이 있다.
데이터는 속성이 되고 그것을 다루는 함수는 메소드가 된다.
속성에 있는 데이터만으로 제대로 작업을 해내지 못하면 필요한 데이터를 메소드의 인자값으로 받는다.
프로그램은 객체로 구성되며 그들의 내부 데이터인 속성은 외부에 직접적으로 노출되지 않는다.
객체들은 서로의 메소드를 호출하며 원하는 기능을 수행한다.
각 객체는 자기가 수행하는 작업에 책임을 지며 다른 객체의 작업을 돕는 서비스를 한다.

객체지향 코드는 "책임"을 가진 주체인 객체(object)가 상태(state)를 갖고 명령을 주고 받으며 수행한다.
절차 프로그래밍에서 함수들은 특정한 누군가에게 책임을 갖지 않는다.
단지 자신한테 넘어오는 데이터를 처리할 뿐이다.
하지만 객체는 자신을 사용하는 누군가에게 책임을 갖는다.

객체는 내부적으로 상태 정보를 갖고 그 정보에 근거하여 넘어오는 데이터는 메소드가 처리한다.

절차 지향 방식과 달리 객체들은 내부에 속성의 형태로 기반 데이터를 저장하여 상태 정보를 유지하기 때문에 메소드를 사용할 때 마다 기반 데이터를 공급하지 않아도 된다.

참고 URL

객체 지향 프로그래밍과 비 객체지향 프로그래밍의 차이
http://www.owlnet.rice.edu/~comp212/99-fall/handouts/week1/person/




반응형

'backend' 카테고리의 다른 글

[디자인패턴] State, Strategy Pattern  (6) 2007.05.30
고슴도치플러스의 서비스 홍보...  (4) 2007.05.22
Rss 주소 바꾸었습니다~  (12) 2007.05.16
저도 Mac!을 씁니다.  (4) 2007.05.13
Huffman algorithm(호프만 알고리즘)  (9) 2007.05.07
OpenID 서버가,, 죽으면,,  (16) 2007.05.04
firefox에서 원격 블로깅하기  (14) 2007.04.15
SOA와 Web Service  (6) 2007.03.25