view 내부에서 label, text 등을 선언하고 외부에서는 사용이 안되는데 extension등을 사용해서 접근을 시키고 싶을 때
다른 함수 혹은 클래스에 참조시키고 싶지 않을 때
fileprivate는 해당 파일 내부에서 접근을 시키고 싶을 때 사용을 한다. rxswift의 reactive extensions 같은 경우에 주로 사용된다고 하니 나중에 rxswift를 배울 때 해당 내용에 대해서 기억하도록 하자!
private 같은 경우에는 기본적으로 다른 함수 혹은 클래스에 해당 내용을 참조시키고 싶지 않을 때 사용된다.
장점 : 프로그래머의 코드는 언제나 남이 이용할 수가 있다. 또한, 해당 과정에서 남이 자신이 원하는 대로 코드를 활용한다는 보장은 없다. 그러니 private는 인터페이스, 자원 등을 단일화, 강제화 시킬 수 있으며 이러한 코딩 습관은 발생 가능한 버그의 수를 줄여준다.
단점 : 위에서 말했듯이 프로그래머의 코드는 재사용성을 생각하고 만들어 져야 한다. 위에서 말한거와 반대되는 의견일 수 있지만 자신의 코드를 다른 사람한테 혹은 다른 상황에서 재사용을 할 수 있게 만드는 것도 프로그래머한테 있어서는 중요한 역할이다. 그러니 모든 함수, 클래스 등에 생각없이 private을 쓰는 습관은 자칫하면 프로그래머한테 해당 코드의 재사용성에 대한 생각에 제한을 걸어 성장을 지양시킬 수가 있다.