티스토리 뷰
객체 지향 언어가 아닌 C언어만 아는 상태라면 static const와 const의 차이점에 대해 잘 모를 수 있다.
static const는 객체 지향 언어에 해당하는 C++과 같은 프로그래밍 언어에서 자주 사용하는 상수 선언 방법이다. 그렇다고 일반적으로 C언어에서 사용하는 const를 사용하지 않는것은 아니다. const도 사용하고 static const도 사용한다.
이 두 상수선언방법에는 여러가지 차이점이 있는데, 가장 대표적인 차이점은 C++에서 const를 사용하면, 해당 클래스 내부에서만 인식할 수 있다는 점이다.
예를들어, People이라는 클래스에서 const int height = 180 을 선언했다면 이 height 멤버변수는 오직 People클래스 내부에서만 인식할 수 있다. 그럼 다른 외부 클래스에서도 height값을 상수로 인식하고 싶을 땐 static const키워드를 사용하면 된다. 이 키워드를 사용해 상수 선언을 하게 되면, 해당 클래스뿐만 아니라 외부 클래스에서도 상수로 인식할 수 있다.
참고: Do it! bada 모바일 프로그래밍 by 여인춘
static const는 객체 지향 언어에 해당하는 C++과 같은 프로그래밍 언어에서 자주 사용하는 상수 선언 방법이다. 그렇다고 일반적으로 C언어에서 사용하는 const를 사용하지 않는것은 아니다. const도 사용하고 static const도 사용한다.
이 두 상수선언방법에는 여러가지 차이점이 있는데, 가장 대표적인 차이점은 C++에서 const를 사용하면, 해당 클래스 내부에서만 인식할 수 있다는 점이다.
예를들어, People이라는 클래스에서 const int height = 180 을 선언했다면 이 height 멤버변수는 오직 People클래스 내부에서만 인식할 수 있다. 그럼 다른 외부 클래스에서도 height값을 상수로 인식하고 싶을 땐 static const키워드를 사용하면 된다. 이 키워드를 사용해 상수 선언을 하게 되면, 해당 클래스뿐만 아니라 외부 클래스에서도 상수로 인식할 수 있다.
참고: Do it! bada 모바일 프로그래밍 by 여인춘
'Programming Languages > C,C++' 카테고리의 다른 글
순수 가상 메소드(pure virtual method) (0) | 2011.07.24 |
---|---|
크로스 컴파일(Cross Compile) (0) | 2011.07.23 |
컴파일, 링크, 빌드 and 디버깅 (0) | 2011.07.23 |
TCHAR의 정의 (1) | 2011.05.01 |
Editplus, VisualC++ 컴파일러에서 어셈블리까지 (1) | 2011.04.26 |
댓글
01-03 00:52
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday