• 카테고리
    • 전체 글

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

'2004/01/18'에 해당되는 글 2건

  • 2004.01.18 객체에 대해..
  • 2004.01.18 About VC++

객체에 대해..

기술자료/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

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

About VC++

기술자료/CPP 2004. 1. 18. 16:11
내가 가진 지식의 정리라는 차원이 맞을 것입니다.
처음에는 WikiWiki에 기록해 나갈려고 했었는데, 이런저런 여건상 결국 게시판으로 돌아왔네요.

VC++ 을 처음 접하고 그것으로 이런 저런 작업을 하면서 느낀 것들입니다.
아마도 제가 죽더라도 이것을 남기면 좋을것 같기도 하고...

요즘은 4GL의 발전과 Web Server 기반 Scrpit의 발전으로 VC++의 입지는 상당히 앝은 편입니다.
하지만, C++이라는 개념에서 출발한 VC++은 정말이지 다양한 기능을 제공합니다.
간단히는 Windows App를 만드는 데서 ActiveX라는 장르로 Web 상에서 제어하는 것에
심지어는 Windows Kernel을 헤집어 놓을 수 있을 만큼 강력합니다.

하지만 강력한 만큼 툴 자체가 가진 기능을 사용하려면 망망 대해에서 무엇을 출발해야 될지
모르는 경우가 많습니다.
게다가, 너무도 넓은 길때문에, 전혀 다른 쪽의 작업을 하려면 쉬이 전환이 불가능한 경우가 많습니다.

아직 제가 하는 이야기를 잘 이해가 안될지도 모르고, 반박할지는 모르겠지만...
일단 제가 느낀 VC++ 아니, C++의 느낌은 그렇습니다.

타이틀은 비록 VC++이지만 C++이기도 합니다.

그점은 알아주시기 바랍니다.
728x90
블로그 이미지

하인도1

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

  • «
  • 1
  • »
250x250

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

«   2004/01   »
일 월 화 수 목 금 토
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 31

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

  • Total :
  • Today :
  • Yesterday :

Copyright © 2015-2025 Socialdev. All Rights Reserved.

Copyright © 2015-2025 Socialdev. All Rights Reserved.

티스토리툴바