프로그래밍

c언어/c++ static

업글 2020. 10. 19. 23:05

안녕하세요 업글입니다. c언어 static 키워드에 대해서 설명드리겠습니다.

기초적인 문법에 대한 내용이 아닌 어떤 장점이 있는지에 대해 중점적으로 설명드리겠습니다.

 

c언어 static 키워드의 기초 개념에 안다고 가정하고 설명드리니

모르시는 분은 구글링을 통해서 기초 개념에 대해서 공부하신 후 읽어보는 것을 추천드립니다.

 

static은 정보은닉을 위해 사용됩니다.

여기서 정보은닉이란 c언어가 아닌 주로 객체지향의 특징으로 설명하는 것을 많이 보셨을거라 생각됩니다.

객체지향에서 정보은닉이란 변수나 함수를 객체 내부에서만 사용하는 것입니다.

c언어 관점에서 보면 변수나 함수를 일정 범위(함수 or 파일)에서만 사용하는 것입니다.

 

c언어에서 static은 크게 3가지 경우에 사용할 수 있습니다.

 

첫번째, 지역변수의 앞에 static 키워드를 붙이는 경우

지역변수의 사용범위(함수 내부)에서만 사용가능하며

함수가 종료되도 메모리가 소멸되지 않아 값을 유지 함.

 -> 함수 내부에서 값을 유지하며 정보은닉

 

두번째, 전역변수의 앞에 static 키워드를 붙이는 경우

현재 파일에서만 사용가능

 -> 현재 파일에서 정보은닉

 

세번째, 함수 앞에 static 키워드를 붙이는 경우

현재 파일에서만 사용가능

 -> 현재 파일에서 정보은닉

 

c언에의 static을 사용하면 아래와 같은 장점을 얻을 수 있습니다.

변수나 함수가 일정 범위에서만 사용 됨을 알수있기 때문에 코드의 가독성이 높아지며

코드 수정 시에도 다른 코드에 영향을 주지 않기 때문에 코드 수정에 용이한 장점이 있습니다.

 

static을 사용할 수 있는 경우에는 꼭 사용하는 것을 추천드립니다.

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

쓰레드(Thread)에 대한 생각  (0) 2020.11.12
c언어/c++ int 크기  (0) 2020.11.11
c언어/c++ const  (0) 2020.10.21
주석에 대한 생각  (0) 2020.10.19
c언어/c++ enum  (0) 2020.10.14