달력

12

« 2018/12 »

  •  
  •  
  •  
  •  
  •  
  •  
  • 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
  •  
  •  
  •  
  •  
  •  

'정의'에 해당되는 글 1

  1. 2010.03.19 class(클래스) ~ C++의 꽃 ~
2010.03.19 00:42

class(클래스) ~ C++의 꽃 ~ 프로그래밍/C++2010.03.19 00:42







간단하게 보면 구조체 + 함수
라고 볼 수 있지만,

알면 알수록 정신세계를 안드로매다로 보내버리는 "아~ 그대의 이름은 클래스".

뭐 특징으로는

데이터 추상화네
캡슐화네
정보은닉, 다형성, 상속, 높은 재활용 등..

참 많지만 저런 이야기는 좀더 완벽하게 구사 할 수 있을때나 가능한거 같고,

바로 실전 코드로 알아 보자.



딱 봐도 구조체와 비슷,

시작은 미비하나 그 끝은 위대할 터이니,

클래스 내부에 무언가 선언(정의)할 떄에는 public과 protected, private 타입이 존재한다.

public은 공개
private는 자신만 공개
protacted는 특정한 상대에게만 공개

어떻게 설명해야 쉽게 설명할 수 있는가에 대한 답은 없는거 같고,

각각 특징과 어떻게 사용해야 하는지에 대해선 빠른 시일내에 다시 자세히 포스팅 하겠음. 일단 오늘은 사용법에 대해서만 알아 보도록 하자.

클래스 외부의 함수도 정의와 선언을 따로 할 수 있는데

외부 정의는 이 처럼 하면된다.


그리고 클래스는 생성자와 소멸자가 존재 하는데, 간략하게 한번 살펴 보자.


생성자의 가장 큰 능력은 클래스를 main에서 객체화 함과 동시에 초기화가 된다는 것이 가장 큰 능력이라고 볼 수 있다.
물론 여기엔 디폴트 매개변수도 가능! 좀더 다향한 재미를 맛볼 수 있는데, 직접 보면 이렇다.


당연한 이야기겠지만

이처럼 해주면 aaa::a 의 값은 10이 들어 갈 것이다.
사실 아직 public과 private, protacted에 대해서 설명하기전에 생성자를 말해놔서 당장은 왜 저렇게 하나...
싶기도 하겠지만 그것은 곧 알게 될테고(아마 뼈저리게...)

시작할 때 생성자가 있다면

끝날 때에는 소멸자가 존재한다.



결과 값은
100
0
이 나오게 된다.(main부분은 위 main 코드와 동일)



어찌 보면 당장은 생성자 보단 소멸자에 더 끌릴지도 모르겠다 메모리 삭제나 그외 종료하면서 해줘야 하는 일들을 소멸자에 넣으면 잊어 버리더라도 객채가 사라질때 소멸자에서 일을 해주기 때문이다.
시간이 늦어서(아 졸려) 뭔가 발로 쓴 느낌이 들지만. 큰 맥락은 다 잡은것 같다. 좀더 상세하고 재미잇고 세부적이고 짜증나고 분노가 치밀어 오르고 답답하고 열받는 이야기는 빠른 시일 내에 맑은 정신으로 다시 포스팅할 계획!(public과 그 친구들에 대해서도)

'프로그래밍 > C++' 카테고리의 다른 글

객체 포인터 배열  (0) 2010.03.21
클래스의 활용  (0) 2010.03.20
class(클래스) ~ C++의 꽃 ~  (0) 2010.03.19
레퍼런스(Reference)  (0) 2010.03.18
new & delete  (0) 2010.03.17
const 상수화  (0) 2010.03.17
Posted by 안식의후크