[자료구조]객체 지향 프로그래밍의 정의와 개념.

2012. 1. 1. 16:23머리쓰기/자료구조


객체.

정의 : 객체(object)는 계산을 수행하고 상태를 갖는 개체. 따라서 객체는 데이터와 절차적 요소의 결합으로 볼 수 있다.
by Grady Booch 「객체 지향 설계와 응용」 
 

객체 지향 프로그래밍.

정의
(1) 객체는 기본적인 구성 단위
(2) 각 객체는 어떤 타입의 인스턴스
(3) 클래스는 상속 관계에 의해 서로 연관.
(상속을 사용하지 않는 프로그래밍 기법은 객체 지향 기법이 아니다!

객체 지향 언어.

정의
(1) 객체를 지원
(2) 모든 객체는 클래스에 속한다.
(3) 상속을 지원 



부제 : 각 언어의 차이점들..


CC++의 차이점?

크게 C 는 절차 지향성 언어, C++ 는 객체 지향성 언어라고 한다.
하지만 사실 C++의 기본은 C이며, 단순히 C를 좀더 편리하게 사용하기 위해서 여러 레퍼런스를 추가한게 C++라고 
봐도 무방하다.

ex) C에서 문자열을 사용하려면 char * 사용하지만 C++ 에서는 String이라는 레퍼런스를 통해 좀 더 편하게 사용할 수 있다.

C++ JavaScript의 차이점?

c++는 객체 지향 언어이다.
하지만 JavaScript는 객체 기반 언어이다. 
( 이유는 JavaScript는 객체 지향 언어의 정의중 (1)과 (2)는 지원하지만 상속 기능을 지원하지 않기 때문이다. ) 

Java는 상속을 지원한다.
(java 와 javascript는 다르다)
- 관련 지식in 링크 : 
http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040201&docId=106727025&qb=amF2YeyZgCBqYXZhc2NyaXB0&enc=utf8&section=kin&rank=1&search_sort=0&spq=0&pid=gwscYc5Y7uKssZnI4pRssc--311051&sid=TwAGmq-2-04AAGLLJWc 

Java에서의 상송.
1. extends 상속 키워드  
2. class 서브클래스(상속받는클래스) extends 슈퍼클래스(상속해주는)
3. 자바는 단일 상속만 지원한다.
4. private 변수 및 메서드 모두 상속되지 않는다.
5. 상속시 서브클래스 객체를 생성하면 슈퍼클래스가 먼저 메모리에 생성되고 난후 서브클래스가 생성된다.
6. 자바는 기본적으로 상속을 받지 않으면 Object클래스를 상속받는다.
7. 상위클래스의 생서자 호출 : super(); 키워드 
(생성자 안에서만 사용가능, 그어떤 명령보다 먼저 선행 되어야한다.)
8. 상위클래스는 서브클래스에 접근할 수 없다.

[출처] 자바[JAVA] 상속 5/12|작성자 Yellow9

  

'머리쓰기 > 자료구조' 카테고리의 다른 글

[자료구조]연결 리스트(Linked List)  (0) 2012.01.18
[자료구조] MAP  (0) 2012.01.05
[자료구조]스택과 큐. (stack and queue)  (0) 2012.01.03