<private 멤버는 언제 왜 써야 하는가?>

괜히 private 키워드를 남발하다가 개발을 딜레이시키는 경우가 있었다.

private는 어떤 변수/메서드에 사용해야 하는걸까?

우선 나쁜 예로서, 변수를 private로 선언하고 get/set 메서드로 public 변수처럼 사용하는 경우는 불필요하게 private 키워드를 사용한 경우이다

private 키워드의 필요성을 알아보자. 데이터에 access하는 코드가 프로그램 여기저기에 분산되어 있을경우 유지보수가 어려워지게 된다

그러므로 변수를 private로 선언하고 data에 access하는 코드를 class 내의 method에서만 관리함으로써 유지보수를 편리하게 만드는 것이다

unittest, design pattern과 마찬가지로 private 키워드의 필요성 또한 프로젝트 규모와 비례하게 된다


<프로젝트 규모의 기준은?>

프로젝트 규모를 따질필요 없이, 우선 변수를 public으로 선언하여 사용하면 된다.

이때 변수에 access하는 코드가, 특히 중복코드가 많아진다면 해당 변수는 private 키워드로 바꿔주면 되는 것이다. 간단.

중복코드는 유지보수를 어렵게 만드므로, 프로젝트 규모보다는 중복코드가 많아질 때 private 키워드를 사용하면 된다.


<정리>

method보다는 변수 위주로 private 키워드의 필요성에 대해 설명했다

private 키워드는 data access 중복코드를 제거하고, 유지보수를 편리하게 만들수 있다

OOP가 나온 배경이 그렇듯, private 키워드 또한 프로젝트 규모가 커져야 비로소 필요성이 생긴다

일단은 굳이 private 키워드를 사용할지 고민하지말고, public으로 선언하여 사용하다가

중복코드가 많아질 때 private 키워드로 교체하는 식으로 사용하자

한마디로 요약하면, data access 중복코드가 많아질 때가 private 키워드가 필요할 때라는 것으로 글을 마무리한다


'Language' 카테고리의 다른 글

[C/C++] gcc option (추천 옵션)  (0) 2017.12.18
[C] 2D 배열 포인터 example (Pointer to 2D array)  (0) 2017.12.18
[OOP] [Design Pattern] State Pattern  (0) 2017.12.11
cmake 변수 설정방법  (0) 2017.12.07
cmake clean command  (0) 2017.12.06

WRITTEN BY
hojongs
블로그 옮겼습니다 https://hojongs.github.io/