Programming2011. 7. 15. 04:27
 상상나래(WPF 기반 프리젠테이션 프로그램, 2011년 04-06까지 삼성소프트웨어 멤버십 창의과제로 진행)를 개발할 때 가장 힘들었던 점이 바로 Object-Oriented Analysis & Design 이었다.
절차지향만 하다가 객체지향을 처음 들어오게 되니, 접근을 어떻게 해야하는지, 구조를 짜는 방법 부터가 너무나 색다르고, 프로젝트의 규모도 큰 편이라 상당한 고민을 했었다.

 그러다 static 변수의 장점만 보고 static을 살짝(?) 남발했다.
 다 짜 놓으니 static 을 볼 때마다 왜이리 쪽팔린지,

 그런데 써야 할 때는 static을 쓰는 것이 맞다.

한빛미디어에서 나온 '뇌를 자극하는 c++'책을 보면
클래스 자체에 관련된 정보라든지 전체 객체와 관련된 정보를 보관하고 다루는데, 사용하라고 나와있다.
예를들어 지금까지 생성한 전체 객체의 수를 관리하는 멤버 변수와 멤버 함수, 혹은 모든 객체가 공통적으로 참조해야하는 정보나 그 정보를 관리하는 함수.

다시한번 예를 들면,
모든 객체를 학생이라고 하면,
학생들이 공통적으로 사용하는 청소도구, 출입구 등은 모든 학생들이 똑같이 공유해야하므로 정적 맴버로 선언해야 한다고 나와있다.

후자의 예는 조금 어긋난 면도 있는 것 같지만, 아무튼 static은 적절할 때 사용해야 합니다 
Posted by 슈퍼 점프