좌충우돌 미친감자의 이것저것 개발 이야기 ^_______항상웃어_______^ C++ 이야기 struct 와 class 의 차이점 “struct가 함수를 가질 수 있다고~!” |
오늘도 강백호 같은 미친감자는
농구천재 서태웅과 같은 C++천재에게
가다간다…
C++천재에게..미친감자는 이렇게 물어본다.
도대체 객체지향은 뭐야?”
“객체지향?”
“객체지향을 그렇게 알고 싶어? 미친백호?ㅎ~”
“그럼 class와 struct의 차이점을 이야기 해봐 백호~”
“C++에서 구조체 struct와 클래스 class의 차이가 뭐가 있는지 말해봐~~~~~~~”
농구천재 아니 C++천재 서태웅은
강백호에게 물어보았다.
단순무식한 강백호…
이렇게 대답한다…
“글자가 다르지~~!!”
이런 바보~~!!!!;;
바보 강백호~!
struct도...함수 메소드(method)를 가질 수 있다고..
class도 메소드를 가질 수 있고~!
몰랐어 강백호~~!!
struct는 무조건 public속성으로 변수와 method가 생성되고
class는 무조건 private속성으로 변수와 method가 생성되는거야~~!!
struct Test { int a; void f() { printf("struct test "); } }; |
이렇게 만들면~~
sturct에 변수와 함수(method)만들면
기본 속성이 public으로 만들어 지는 것입니다.
다음과 같이 생성되는 거죠~~!!
struct Test { public: int a; void f() { printf("struct test "); } }; |
반대로 class에 변수와 함수를 만들면...
class Test2 { int a; void f() { printf("class test "); } }; |
struct와 반대로… private로 만들어지는 것입니다.
즉, 기본적으로는 외부에서 class의 어떤 멤버에게도 접근을 할 수 없어요~~~~~~
굉장히 철학적이죠~~~
class라는 녀석~~~
모든것을 감추는 녀석이죠………
직접 public: 이라는 명시를 해주지 않는한…
모든 멤버 변수 멤버함수다 접근할 수가 없죠~~!
몰랐죠? 몰랐죠?
ㅋㅋㅋ
class Test2 { private: int a; void f() { printf("class test "); } }; |
그렇습니다. class라는녀석은 기본으로 만들어지는 변수와 함수는 외부에서
접근할 수 없는 private로 만들어지는 것입니다.
알겠어?
강백호~~!!
무식쟁이 강백호~~!!
이런것은 기본이야~~!
니 팔뚝 굵다…
서태웅~
오늘은 여기까지..
음..이런이야기를 해고 싶어서 이 글이 만들어고 지고 있다.
struct라는 녀석 때문인것이다.
C언어만 하던 친구들은 struct가 class와 동일하고
method~ 즉, 함수를 가실 수 있다는 사실조차도 모르는 경우가 너무 많다….
“아니 struct가 함수를 가질 수 있다고~!”
라고 하며
놀란다…
하지만, C++에서 struct라는 녀석은 기본요소의 속성이 public이라는것 말고는
class와 그냥 동일하다는 것이다.
version 0.0.1 : 20151030 : 처음 작성
version 0.0.2 : 20151030 : 업그레이드 시도흐~