반응형
객체지향 프로그래밍[Object-Oriented programming] 객체지향프로그래밍은 컴퓨터 프로그램의 개발을 완전히 새로운 시각으로 바라다보는 혁명적인 개념이라 할 수 있다. 동작보다는 객체, 논리보다는 자료를 바탕으로 구성된다. 프로그램은 전통적으로 논리적인 수행 즉, 입력을 받아 처리한 다음, 결과를 내는 것이라는 생각이 지배적이었다. 또한 프로그래밍을 한다는 것은 어떻게 자료를 정의할까 보다는 어떻게 논리를 써나가는 것인가로 간주 되었다. 그러나 객체지향프로그래밍은 프로그램에서 정말 중요한 것이 논리보다는 오히려 다루고자 하는 객체라는 시각에서 접근하고 있다. 객체의 예로는, 사람(이름,주소 등으로묘사되는)에서부터 건물까지, 그리고 상품 판매를 위한 매장(특성이 서술되고 다뤄질 수 있는)에서부터 컴퓨터 바탕화면의 아주 작은 요소인 버튼이나 스크롤바 같은 것들까지를 모두 망라한다. 객체지향프로그래밍에서의 첫 단계는 다루고자 하는 모든 객체와, 그것들이 서로 어떤 연관성이 있는지를 식별하는 - 흔히 데이터 모델링이라고 부르는 - 작업이다. 일단 모든 객체를 식별했으면, 객체 클래스로 일반화하고 그것이 담고 있는 데이터의 종류와 그것을 다룰 수 있는 모든 논리 순설르 정의한다. 논리 순서는 메쏘드라고 부르며, 클래스의 실제 인스턴스를 하나의 "객체"라 하거나, 어떤 상황에서는 하나의 "클래스 활성화"라 한다. 객체 또는 활성체는 컴퓨터 내에서 실제로 수행되는 것이다. 메소드는 컴퓨터 명령어를 규정하고, 클래스 객체의 특성은 관련 데이터를 규정한다. -객체지향프로그래밍에 사용된 개념과 규칙은 다음과 같은 중요한 이점을 제공한다. --데이터 클래스 개념은 일부 또는 모든 주 클래스 특성을 공유하는 데이터 객체의 부 클래스를 정의할 수 있게 한다. 상속이라 불리는 이 객체지향프로그래밍 특성은 면밀한 자료 분석과 개발시간 단축, 그리고 좀더 정확한 코딩을 보증하는 효과가 있다. --클래스는 단지 관련된 데이터만 정의하기 떄문에, 그 클래스의 인스턴스가 수행될 때 다른 프로그램에서 사용하는 데이터를 건드릴 수 없게 된다. 이런 자료 숨김 특성은 높은 시스템 보안을 제공하고, 의도하지 않은 자료의 훼손을 방지한다. --클래스의 정의는 최초로 생성한 프로그램뿐 아니라 다른 객체지향프로그래밍에의해 재사용될 수 있다. (그리고 이런 이유로 네트웍에 쉽게 분산 사용된다.) --데이터 클래스 개념은 언어에 정의되지 않은 새로운 데이터형식을 프로그래머가 임의로 정의할 수 있게 한다. **Smalltalk는 최초의 객체지향 프로그래밍 언어 중 하나이며, C++와 Java는 대표적인 객체지향 프로그래밍 언어이다. C++의 부분집합이라고 할수 있는 Java는 특히 기업이나 인터넷 분산 응용프로그램에서 사용되도록 설계되었다.
반응형
'JAVA' 카테고리의 다른 글
Java 과제 (0) | 2010.08.22 |
---|---|
생성자[constructor], 변수란? (0) | 2010.08.17 |
인터페이스[interface], 패키지[package],메쏘드[method],함수[function] (0) | 2010.08.17 |
객체[Object]와 인스턴스[Instance] (0) | 2010.08.17 |
클래스[Classes]와 객체[Objects] (0) | 2010.08.17 |