C 언어 한다음에 C++ 을 해야되?
아니면 C 한다음에 바로 API 가도 되?
MFC는 C++ 해야 할수 있지?
개념좀 부탁해
댓글 31
결론은 C++을 해야한다. API가 객체지향 구조로 되어있지만, 구현은 C로 되어있다, 그렇다고 C++을 몰라도 되는건 아니고, MFC는 API를 C++로 잘 감싸 놓은 형태라 C++을 아예모르는 상태에서 하는 것은 솔직히 버겁다.
두루마리(210.110)2005-06-29 16:35
두루마리햏.. 열심히 활동하는 것은 좋으나 최소한 정보는 제대로 줘야 하지 않겠소?
by風(218.153)2005-06-29 17:04
Win32 API를 얘기하는것으로 알아먹고 얘기 하겠소. API는 순수 C로만 짜여져 있다오. 따라서 객체지향 개념이 들어갈 구석은 전혀 업ㅂ소. 그냥 윈도에서 쓰이는 수많은 함수들의 집합이라 생각하면 되오. MFC는 API를 래핑하고 있는 클래스 단위의 프레임 웍이오. 요런 내용들이야 MFC나 Win32 API 서적 앞에 보면 충분히 설명이 나올테니 이쯤하고..
by風(218.153)2005-06-29 17:07
보아하니 윈도 어플쪽을 개발하려고 하는거 같은데.. 이렇게하던 저렇게 하던 언젠가는 하는거고 순서는 그다지 중요한건 아니오. 다만, API를 확실하게 익혀 놓으면 MFC는 응용차원에서 쉽게 써먹을 수 있소. 그리고 C++는 쉽게 보자면 C 에서 클래스와 템플릿을 얹어놓은 거니 C를 확실히 익혔다면 어렵지 않게 공부 할 수 있을꺼요. 클래스와 템플릿에 익숙하고 API에 익숙하다면 MFC는 거저 먹는거고, ATL이나 COM 쪽도 금방 하게 될꺼요.
by風(218.153)2005-06-29 17:12
소햏도 아직 많이 부족하지만 저런것으로 고민하던 때가 얼마 지나지 않은지라 몇마디 써봤소. 참고가 됐으면 하오.
by風(218.153)2005-06-29 17:17
WINDOWS32 API가 C로 만들어 졌고, 객체지향개념이 들어간 디자인으로 만들어 졌다. 꼭 객체지향 개념이 들어간 예약어가 있어야만 객체지향적 구현이 되는건 아니지......
두루마리(210.110)2005-06-29 19:17
내 말이 밑기지 않거들랑, 영진 출판사의 Beginning MMORPG Client Programing 요책에 C만으로 어떻게 객체지향설계를 구현할 수 있는지 기초적인 부분이 나와있다. 한번 읽어보고 부족한 개념을 채우도록 하자.
두루마리(210.110)2005-06-29 19:20
한가지 재미있는 사실은 C++이 아닌 C만으로 객체지향적 구조 구현은 일반적으로 완전 삽질에 가깝지만, 최종 실행 성능은 엉뚱하게 C로 만들어진놈이 더 좋아. 이것이 WINDOWS API와 운영체제 커널들이 C++을 내비두고 C로 만드는 이유중의 한가지 이기도 하다.
두루마리(210.110)2005-06-29 19:22
객체지향프로그래밍은 ADT(Abstact Data type)이라는 이론을 사용하는 프로그래밍이면 다 통용된다. 객체지향형 언어라는건 요 이론을 잘 쓸수 있도록 배려를 해놨다는 것이지, 전혀 상관없어 보이는 언어도 객체지향적 구현이 가능해.
두루마리(210.110)2005-06-29 19:25
아직도 못믿겠다면, 내가 힌트를 하나 주지, API에서 보면 각 윈도우 창을 구별하기 위해, 핸들러 라는 정수형 숫자를 할당하여 구분하지?? 이것이 바로 자바에서 이야기하는 객체 참조 변수와 같은 역활을 하는 놈이다. 이래도 부정한다면 더이상 할말 없심....=.=;
두루마리(210.110)2005-06-29 19:30
소햏 식견이 부족하여 잘 몰라서 그러는데.. Win32 API에 추상화 데이터형이 어떻게 사용되서 객체지향설계가 되어있는지 알려주면 고맙게 배우도록 하겠소.
by風(218.153)2005-06-29 19:31
이걸 설명하기가 빡시니깐 내가 책을 예로 들어 준거야...=.=; 기본적인 클래스 생성부분만 설명해도 대략 10페이지는 나오는데....내가 추천한 책 서점이나 학교 도서관에 가서 ADT부분만 읽어봐봐, 직접 적인 도움은 않되겠지만 꽤 신선할거야.
두루마리(210.110)2005-06-29 19:35
이런 말 하기는 좀 그렇지만.. 오너드로우도 모르는 사람한테서 그런 얘기를 들으니 별로 신빙성이 안가서 말이오.
by風(218.153)2005-06-29 19:39
=.=;;;; 정말이야 믿어줘.....;;;;
두루마리(210.110)2005-06-29 19:42
그리고.. 통상 윈도에서 말하는 핸들이라는게, 운영체제가 구분하기 위해 붙여주는 일종의 번호표 같은거고 이렇게 쓰는 이유는 당연히 문자열이나 구조체를 넘겨 받아 연산하는것 보다는 정수형으로 된 핸들을 취급하는게 훨씬 유리하기 때문이라고 알고 있는데.. 여태껏 소햏이 잘못 알고 있던거요?
by風(218.153)2005-06-29 19:43
Win32 API에 적용된 객체지향의 개념을 하나만이라도 설명해 준다면 고맙게 배우겠소. 정말로 어디서도 들어본적 없는 말이라 그러오. 두루마리햏의 내공을 조금 나눠주면 고맙겠소.
by風(218.153)2005-06-29 19:48
매우 정확한 말인데, 용도를 잘생각 해봐봐, 객체레퍼런스변수도 정수형 주소 값이 저장되어 있고 이 주소는 결국 객체 인스턴스의 시작번지 주소잖아?, 핸들러도 정수형 구별용 숫자가 들어가 있잖아....이숫자에 맵핑된 놈을 따라가면 그 창에 관련된 구조체와 관련 함수가 연관된 곳의 시작 주소번지로 갈것 같은 생각은??? 이제 감이 올텐데....
두루마리(210.110)2005-06-29 19:49
그거야 포인터의 일반적인 사용법이고, API 적용된 객체지향개념에 대한 문서나 책이라도 추천해 주면 고맙겠소
by風(218.153)2005-06-29 19:51
그리고 절차지향적인 언어로 객체지향을 구현한다는 것이 상당히 아햏햏 한 일이고, 특히 다중상속 뭐 이런 부분은 정말 힘들어....C로 하는 객체지향설계 같은 것은 국내서로 없을껄.....;;; 내가 소개해준 책도 C로 어떻게 클래스와 같은 개념의 녀석을 설계하고 사용할 수 있는지 기본적인 개념 위주로 나와있어
두루마리(210.110)2005-06-29 19:52
그리고 나도 C로 하는 객체지향 구현같은거엔 관심도 없고, 내공도 않되서 추천해줄 책이 있는 지나 모르겠어..;;;
두루마리(210.110)2005-06-29 19:53
아니 그러니까.. Win32 API에 적용된 객체지향 개념을 설명한 책이나 문서를 소개해 주면 고맙겠소. 두루마리햏은 Win32 API에 객체지향 개념이 적용됐다는걸 배운 계기가 있을것 아니오?
by風(218.153)2005-06-29 19:54
현재 내가 알고 있는 개념으로는 C로 객체지향을 구현할때에는 (struct + function) + namespace 요 개념이 합해서 C++의 기본적인 class 와 동일한 놈을 만들수 있고, 그이상의 객체지향의 개념들 그러니깐 그중에서도 상속이나 이런 기능들은 필요할때 머리를 짜내서 같은 동작을 하게 만드는 수밖에 없어. 기본적인 객체의 인스턴스 생성과정조차 짜는 놈마다 틀려져.
두루마리(210.110)2005-06-29 19:56
잠깐만....책좀 뒤져보고....금방 찾을꺼야...오래되서 잘....^^
두루마리(210.110)2005-06-29 19:57
그러니까.. 다시 말하는데, C에서 객체지향설계를 할수 있다/없다를 말하는게 아니잖소? API에 적용된 객체지향개념을 알고 싶은거요.
by風(218.153)2005-06-29 19:58
아 맞네, 영진 출판사의 Beginning MMORPG Client Programing 이책 P100 부터 읽어봐, 내가 한말이 바로 나오기 시작하니깐.....꽤 읽어보면 재밌어^^
두루마리(210.110)2005-06-29 20:01
API를 사용해서 객체지향설계를 응용해서 코딩할 수 있다는건 이해하겠지만, API자체가 객체지향이란 얘긴 금시초문이라서 계속 물어보는거요.
by風(218.153)2005-06-29 20:01
아 참고로 C로 하는 객체지향은 그보다 약간 앞에 나온다. 그럼~
두루마리(210.110)2005-06-29 20:02
가는거요? 오늘 나름대로 재밌었소. ㅎㅎ
by風(218.153)2005-06-29 20:03
그래 정확히 그내용이 딱 P100에 나온다 자세한 것을 알고 싶으면 책쓴사람에게 물어봐.....
결론은 C++을 해야한다. API가 객체지향 구조로 되어있지만, 구현은 C로 되어있다, 그렇다고 C++을 몰라도 되는건 아니고, MFC는 API를 C++로 잘 감싸 놓은 형태라 C++을 아예모르는 상태에서 하는 것은 솔직히 버겁다.
두루마리햏.. 열심히 활동하는 것은 좋으나 최소한 정보는 제대로 줘야 하지 않겠소?
Win32 API를 얘기하는것으로 알아먹고 얘기 하겠소. API는 순수 C로만 짜여져 있다오. 따라서 객체지향 개념이 들어갈 구석은 전혀 업ㅂ소. 그냥 윈도에서 쓰이는 수많은 함수들의 집합이라 생각하면 되오. MFC는 API를 래핑하고 있는 클래스 단위의 프레임 웍이오. 요런 내용들이야 MFC나 Win32 API 서적 앞에 보면 충분히 설명이 나올테니 이쯤하고..
보아하니 윈도 어플쪽을 개발하려고 하는거 같은데.. 이렇게하던 저렇게 하던 언젠가는 하는거고 순서는 그다지 중요한건 아니오. 다만, API를 확실하게 익혀 놓으면 MFC는 응용차원에서 쉽게 써먹을 수 있소. 그리고 C++는 쉽게 보자면 C 에서 클래스와 템플릿을 얹어놓은 거니 C를 확실히 익혔다면 어렵지 않게 공부 할 수 있을꺼요. 클래스와 템플릿에 익숙하고 API에 익숙하다면 MFC는 거저 먹는거고, ATL이나 COM 쪽도 금방 하게 될꺼요.
소햏도 아직 많이 부족하지만 저런것으로 고민하던 때가 얼마 지나지 않은지라 몇마디 써봤소. 참고가 됐으면 하오.
WINDOWS32 API가 C로 만들어 졌고, 객체지향개념이 들어간 디자인으로 만들어 졌다. 꼭 객체지향 개념이 들어간 예약어가 있어야만 객체지향적 구현이 되는건 아니지......
내 말이 밑기지 않거들랑, 영진 출판사의 Beginning MMORPG Client Programing 요책에 C만으로 어떻게 객체지향설계를 구현할 수 있는지 기초적인 부분이 나와있다. 한번 읽어보고 부족한 개념을 채우도록 하자.
한가지 재미있는 사실은 C++이 아닌 C만으로 객체지향적 구조 구현은 일반적으로 완전 삽질에 가깝지만, 최종 실행 성능은 엉뚱하게 C로 만들어진놈이 더 좋아. 이것이 WINDOWS API와 운영체제 커널들이 C++을 내비두고 C로 만드는 이유중의 한가지 이기도 하다.
객체지향프로그래밍은 ADT(Abstact Data type)이라는 이론을 사용하는 프로그래밍이면 다 통용된다. 객체지향형 언어라는건 요 이론을 잘 쓸수 있도록 배려를 해놨다는 것이지, 전혀 상관없어 보이는 언어도 객체지향적 구현이 가능해.
아직도 못믿겠다면, 내가 힌트를 하나 주지, API에서 보면 각 윈도우 창을 구별하기 위해, 핸들러 라는 정수형 숫자를 할당하여 구분하지?? 이것이 바로 자바에서 이야기하는 객체 참조 변수와 같은 역활을 하는 놈이다. 이래도 부정한다면 더이상 할말 없심....=.=;
소햏 식견이 부족하여 잘 몰라서 그러는데.. Win32 API에 추상화 데이터형이 어떻게 사용되서 객체지향설계가 되어있는지 알려주면 고맙게 배우도록 하겠소.
이걸 설명하기가 빡시니깐 내가 책을 예로 들어 준거야...=.=; 기본적인 클래스 생성부분만 설명해도 대략 10페이지는 나오는데....내가 추천한 책 서점이나 학교 도서관에 가서 ADT부분만 읽어봐봐, 직접 적인 도움은 않되겠지만 꽤 신선할거야.
이런 말 하기는 좀 그렇지만.. 오너드로우도 모르는 사람한테서 그런 얘기를 들으니 별로 신빙성이 안가서 말이오.
=.=;;;; 정말이야 믿어줘.....;;;;
그리고.. 통상 윈도에서 말하는 핸들이라는게, 운영체제가 구분하기 위해 붙여주는 일종의 번호표 같은거고 이렇게 쓰는 이유는 당연히 문자열이나 구조체를 넘겨 받아 연산하는것 보다는 정수형으로 된 핸들을 취급하는게 훨씬 유리하기 때문이라고 알고 있는데.. 여태껏 소햏이 잘못 알고 있던거요?
Win32 API에 적용된 객체지향의 개념을 하나만이라도 설명해 준다면 고맙게 배우겠소. 정말로 어디서도 들어본적 없는 말이라 그러오. 두루마리햏의 내공을 조금 나눠주면 고맙겠소.
매우 정확한 말인데, 용도를 잘생각 해봐봐, 객체레퍼런스변수도 정수형 주소 값이 저장되어 있고 이 주소는 결국 객체 인스턴스의 시작번지 주소잖아?, 핸들러도 정수형 구별용 숫자가 들어가 있잖아....이숫자에 맵핑된 놈을 따라가면 그 창에 관련된 구조체와 관련 함수가 연관된 곳의 시작 주소번지로 갈것 같은 생각은??? 이제 감이 올텐데....
그거야 포인터의 일반적인 사용법이고, API 적용된 객체지향개념에 대한 문서나 책이라도 추천해 주면 고맙겠소
그리고 절차지향적인 언어로 객체지향을 구현한다는 것이 상당히 아햏햏 한 일이고, 특히 다중상속 뭐 이런 부분은 정말 힘들어....C로 하는 객체지향설계 같은 것은 국내서로 없을껄.....;;; 내가 소개해준 책도 C로 어떻게 클래스와 같은 개념의 녀석을 설계하고 사용할 수 있는지 기본적인 개념 위주로 나와있어
그리고 나도 C로 하는 객체지향 구현같은거엔 관심도 없고, 내공도 않되서 추천해줄 책이 있는 지나 모르겠어..;;;
아니 그러니까.. Win32 API에 적용된 객체지향 개념을 설명한 책이나 문서를 소개해 주면 고맙겠소. 두루마리햏은 Win32 API에 객체지향 개념이 적용됐다는걸 배운 계기가 있을것 아니오?
현재 내가 알고 있는 개념으로는 C로 객체지향을 구현할때에는 (struct + function) + namespace 요 개념이 합해서 C++의 기본적인 class 와 동일한 놈을 만들수 있고, 그이상의 객체지향의 개념들 그러니깐 그중에서도 상속이나 이런 기능들은 필요할때 머리를 짜내서 같은 동작을 하게 만드는 수밖에 없어. 기본적인 객체의 인스턴스 생성과정조차 짜는 놈마다 틀려져.
잠깐만....책좀 뒤져보고....금방 찾을꺼야...오래되서 잘....^^
그러니까.. 다시 말하는데, C에서 객체지향설계를 할수 있다/없다를 말하는게 아니잖소? API에 적용된 객체지향개념을 알고 싶은거요.
아 맞네, 영진 출판사의 Beginning MMORPG Client Programing 이책 P100 부터 읽어봐, 내가 한말이 바로 나오기 시작하니깐.....꽤 읽어보면 재밌어^^
API를 사용해서 객체지향설계를 응용해서 코딩할 수 있다는건 이해하겠지만, API자체가 객체지향이란 얘긴 금시초문이라서 계속 물어보는거요.
아 참고로 C로 하는 객체지향은 그보다 약간 앞에 나온다. 그럼~
가는거요? 오늘 나름대로 재밌었소. ㅎㅎ
그래 정확히 그내용이 딱 P100에 나온다 자세한 것을 알고 싶으면 책쓴사람에게 물어봐.....
저는 C++에는 잼병이지만 WIN32 API는 C만 알아도 잘 쓰게 되더라구요. ㅎㅎ
이런 거 질문할 시간에 그냥 아무거나 시작해라. 그럼 된다.