C에서 함수는 중첩선언이 허용되지 않고 원칙적으로 함수의 기억 클래스는 static 또는 extern으로 주어진다. static 함수는 정의된 파일에서만 가시적이고, extern 함수는 프로그램을 구성하는 모든 파일에서 가시적이다. 함수의 디폴트 클래스는 extern이기 때문에 static 일 경우에만 static으로 서술한다.
static 함수는 원시프로그램 파일 안에서만 참조될 수 있으므로 비공개 함수로 사용될 수 있다. 즉, 다른 프로그램 파일에 같은 이름의 함수가 작성될 수 있음을 의미한다. extern 함수는 모든 프로그램 파일로부터 호출될 수 있다.
static add(int x, int y)
{ return(x+y); }
--
이상
http://pllab.kangwon.ac.kr/lecture/cppsrc/c/cchap147.htm
에서 가져온 글입니다.
cpp에서는 아시다시피 함수의 중첩정의가 허용되지요.
인수의 타입이나 갯수로 구분하는 거. 어려운말로 뭐라그러던거 같은데 기억은 안나구요 --;;
그리고 아시다시피
윗글에서, 클래스는 c에서 구조체의 확장인 cpp의 클래스를 말하는게 아니겠지요.
auto나 register, extern, typedef같은걸
Storage Class Specifier라고 합니다.
Storage Class는 변수와 함수가 저장되는 장소를 말합니다.
고로 Storage Class Specifier는 이 장소들을 구분해주겠지요.