Computer/C/C++
구조체, 클래스
고양이는생선을좋아해
2013. 5. 19. 23:42
- 서로 밀접하게 관련된 여러 값이 모여서 동실 대상의 정보가 될 때는
따로 분리하여 저장하는 것보다 관련된 값들을 하나의 단위로 묶어서
관리 하는 것이 편하다.
구조체
C에서의 구조체
typedef struct
{
자료형 변수1
자료형 변수2
....
자료형 변수n
}구조체명;
struct 구조체명 변수명; // 선언
C++에서의 구조체
struct 구조체명
{
자료형 변수1
자료형 변수2
....
자료형 변수n
};
구조체명 변수명; // 선언
클래스
class 클래스명
{
접근지정자:
자료형 변수1
자료형 변수2
....
자료형 변수n
접근지정자:
생성자
소멸자
함수1
함수2
....
};
접근지정자 = Private, Public, Protected.
* 구조체와 클래스 차이점
크게 사용법의 차이는 없으나 c++의 클래스를 c의 구조체의 확장판으로 보면된다.
구조체의 멤버는 기본적으로 외부에 개방되는 public 속성을 가지게 되지만 클래스의 멤버는 명시적인 지정없이는 외부와 단절되는 private 속성을 가지게 된다.
C++의 키워드로 struct를 계속 남겨두는 이유는 C코드와 호환성을 유지하기 위한 것이다.