:: 게시판
:: 이전 게시판
|
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
08/06/08 18:51
예전에 하던 기억을 더듬어보면
클래스랑 스트럭쳐는 좀 다른 걸로 기억이 나네요 정확하게 차이는 다 기억 못 하겠지만.. 제가 아는대로 말씀드리면 클래스는 안에 변수, 함수(메소드라고 하나요??) 등을 정의 할 수 있고 스트럭쳐는 변수만 정의할 수 있는 것 같구요 또 큰 차이라면 클래스는 오버로딩, 오버라이딩 등의 상속이 가능 한 걸로 압니다.
08/06/08 18:59
C++ 에서는 struct와 class의 차이는 없습니다. (C에서의 struct와 c++에서의 struct는 다릅니다.)
다만 멤버 변수등을 정의할때 따로 지정해주지 않으면 struct 안에서는 public으로, class 안에서는 private 으로 정의되는 차이만이 있죠.
08/06/08 19:47
structure와 class의 차이가 아니라 개념을 물으신거 같은데
질문 범위가 좀 광범위합니다. 약간 좁혀서 질문하실 수 있나요? OO에 관해서 배우셨나요?
08/06/08 21:42
Dong0님// 저는 거기에있는 public와 private 까지 전혀 뭔지 모르겠습니다.
간단하게 한가지 예만보면 이해할수 있을거같은데요 명왕성님// oo가 뭐죠?? 그것도 안배운거같은데... 정말 걱정이군요// 간단한 예제와 함께 설명해주실분 없나요;; 너부뻔뻔한것 같기도.. 아무튼 윗분들 답변 감사드립니다^^
08/06/08 22:47
아 그렇군요... C++은 저도 안배워서...
OO는 객체지향을 말하는것 같네요.(Object Oriented??) C++같이 클래스나 스트럭쳐를 이용한 프로그래밍을 말합니다. 그리고...public , private, protected ...이 3종류가 있는걸로 기억하는데.. C++기말고사인데 이것을 모르신다는게...;;;;;;;; 죄송하지만 공부 좀 하셔야 할 것 같습니다..;;;; 그리고 여기서 물어보는 것 보다..지식인이나 다른 검색서비스를 이용하시는게.. 더 현명하실듯..
08/06/08 22:54
음 OO란 Object-Oriented의 약자로 객체지향 이란 뜻입니다...만 모르신다면 C++ 를 전반적으로 이해하시는 데 어려움이 있으실 거 같은데요. 특히 class는 OO와 밀접한 관련이 있는 컨셉이라 말이죠. (잠깐 설명드리자면, class란 object, 즉 객체에 대한 정의라고 볼 수 있습니다. Car 객체를 만들기 위해선 Car class가 필요하죠.)
이틀 밖에 없으시다니 지금이라도 c++ 관련 책을 하나 사시던가 인터넷으로 강좌라도 찾아보세요. OO 라는 게 간단하게 한가지 예로 설명하고 이해할 수 있을만한 것이 못됩니다;
08/06/09 08:30
객체 지향 언어에서 가장 중요한 것은 데이터 추상화(data abstraction)의 개념을 이해하는 것입니다.
그리고 그 추상화는 클래스를 통해서 이루어 지는 것이지요. struct 와 class 는 외형적으로는 차이점이 없습니다. 동일한 문법이 적용되지요. 하지만 일반적으로 프로그래머들은 둘을 전혀 다른 방식으로 사용합니다. 그리고 엄밀히 OOP 를 실현한다면 struct 는 전혀 사용할 필요가 없습니다. 일반적으로 둘은 같지만, 객체 지향의 개념, 그 가운데 핵심인 데이터 추상화의 개념을 알면 둘의 차이를 이해하게 될 것입니다. C 프로그래머가 C++ 을 익히는데 다소 어려움을 겪는 이유는 프로그래밍의 패러다임이 전혀 다르기 때문입니다. 단지 문법만의 문제는 아니죠. 객체자향을 이해해는 가장 빠른 방법은 제대로 작성된 코드를 많이 보는 것 뿐이라는 생각입니다.
08/07/13 15:09
위에서 말씀하신대로 큰 차이는 없습니다.
심지어는 class에서 멤버변수 접근하는거나 구조체내의 멤버 변수 접근하는 방식까지 비슷하죠. 단 class에서는 데이터 추상화라는 개념을 통해서 변수의 접근이 프로그램의 변경을 불러올 수 있는경우를 제한하기 위해 접근제한자를 뒀다는것[private public protected] 그리고 중요한것 바로 멤버 변수라는것이 생겼다는 것입니다.
|