• 카테고리
    • 전체 글

    • 카테고리1
    • 카테고리2
    • 카테고리3
    • 카테고리4
  • 태그
  • 방명록

객체에 대해..

기술자료/CPP 2004. 1. 18. 16:32
C++에 들어왔다면 바로 이 객체라는 것을 이해할 필요가 있습니다.

OOP(Object Oriented Programming) 라고 불리는 이 내용은 물론 단순하게
C++이라고 이야기할 수도 있지만, 더 광범위한 부분입니다.
OOP는 객체라는 개념으로 시작한 일종의 명세서 같은 것입니다.
이 명세서를 기반으로 C를 확장한것이 바로 C++입니다.
흔히 JAVA를 이야기하는데, 오히려 OOP에 가까운 것이 바로 JAVA입니다.
더 가까운것은 smalltalk 이구요.

자 그렇다고 OOP를 하기 위해서라면 위의 언어들을 통달해야 하냐?
그것은 아닙니다. 모로가도 서울로 가면 된다는 말이 있듯이
어떤 말로 하든 원하는 기능을 구현할 수 있다면 아무런 문제가 없습니다.

단지 여기서는 수많은 OOP 언어중 C++을 택한 것 뿐입니다.
자 이정도로 거두를 하고.. 객체에 대해서 이야기하죠.

객체란 데이터(Data)와 함께 실행할 수 있는 메소드(Method)가 있는 것입니다.
이것이 가장 기본적인 유형이자 형태 인데, 저리 말을 해놓고 보면 쉬이 이해가 안될 수도 단빡에 이해할 수도 있습니다.

자, 이 것은 Microsoft에서 객체를 설명하기 위한 예제였습니다.
풍선이 있습니다.

풍선을 가만히 바라 보면 여러가지를 판단해 낼 수 있습니다.
먼저 다양한 유형, 또는 모양의  풍선이 있습니다.
크기, 색, 바람넣은 양에 따라 그 풍선을 정의할 수 있습니다.
또 풍선을 가지고 할 수 있는 일들이 있습니다.
먼저 풍선에 바람넣기 빼기, 던지기, 터트리기, 띄우기 등입니다.

자, 위의 이야기를 근거로 무엇을 단빡에 알아낼 수 있을까요? 객체지향에 대해서 조금이라도 이해하고 계신분은
바로 나올 것입니다.
먼저 이야기한 다양한 유형/모양이 바로 DATA 입니다.
그리고 가지고 할 수 있는 일이 바로 Method 입니다.

이런 객체를 정의할 때 아래와 같이 정의하는 것이죠.

* 풍선
- Data
  색
  크기
  바람 넣은 양

- Method
  바람 넣기
  바람 빼기
  띄우기
  던지기

하지만, 이것은 우리가 개념적으로 생각하는 내용입니다. 풍선이라는 것을 정의했지만
실제 풍선이 아닙니다. 헷갈리죠?
존재하는 풍선과 개념적인 풍선과의 차이를 이해할 수 있다면 쉬이 아아.. 하겠지만, 그렇지 않다면
쉬이 이해할 수 없는 것입니다.

다른 예제로 들죠.
건물이 있습니다. 건물을 지으려면 수많은 공정이 있겠지만, 단순하게 생각하면 두개로 나눌 수 있습니다.
설계하는 작업 / 건물 짓는 작업.
설계에서는 높이도 있고 층도 있고 다양한 내용이 들어 갈 수 있습니다.
이렇게 하는 일들이 있겠구나 하면서 이런 저런 기능도 넣게 됩니다.
건물을 짓는 일은 바로 그 설계를 보고 실제 콘크리트를 넣고 실제 층수로 올리고 이런 저런 기능을
위한 작업을 합니다.

자 여기서 설계작업때 도면에 그린 건물에서 실제 실생활에 그 건물을 사용하실 수 있나요?
못하죠? 실제 건물을 지어야 그 안에서 벽지도 바꿔 보고, 외면의 타일도 바꾸고 그 안에서 주거 할 수 있게되죠?

이 개념을 잊지 말아야 합니다.
여기서 객체라는 것을 정의하는 것은 두가지라는 것을 기억하세요. Data 와 Method
그리고 그 객체를 실존시키는 작업이 필요하다는 것도 기억하세요. 이것이 바로 instance 입니다.

정의하는 것과 instancing(instance 시키기/실존 시키기)는 엄연히 차이가 있습니다.

여기서는 네가지를 배우게 됩니다.
객체 = Object = Class
객체 구성요소 : Data , Method
객체의 실존화 : Instance

먼저 이렇게 기억을 해두세요.




728x90
블로그 이미지

하인도1

[하인드/하인도/인도짱 의 홈페이지] 저만의 공간입니다. 다양한 소재들을 나열하는 아주 단순 무식한 홈페이지 입니다. 다양한 문서 자료도 있겠지만, 저의 푸념들도 있답니다.

250x250

블로그 내에 소스 코드 삽입 이사온 기념 스킨도... RSS 전문 기능 비활성화 관련. 스킨 바꾸어 보았습니다. 서버 파일 정리 좀 했습니다.

«   2025/06   »
일 월 화 수 목 금 토
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

Google Apps Engine moss me2dayzm me2sms e-book 2010 친구 지름신 java 것 SharePoint Tutorial 비스킷 블로그 WSS 수 windows 매뉴얼 twi2me MOSS 2007 협업 인터파크 좀 me2photo Buscuit 오류 Azure Visual Studio 개발환경 불만

  • Total :
  • Today :
  • Yesterday :

Copyright © 2015-2025 Socialdev. All Rights Reserved.

Copyright © 2015-2025 Socialdev. All Rights Reserved.

티스토리툴바