야매!개발


좌충우돌 미친감자의 이것저것 개발 이야기

^_______항상웃어_______^


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 : 업그레이드 시도흐~





0 0