이전 걸음에서 오버로딩에 개념을 배우고 문제까지 풀어봤습니다. 오버로딩은 이전 걸음에서 마무리를 짓고 이제 다시 새로운 개념을 배우면 좋을 것 같습니다. 이번에 배울 내용은 많이 어려운 내용은 아니고 필요할 때 정의된 예약어를 사용을 하시면 됩니다.
이번에 배울 내용은 멤버 변수나 메소드 클래스에 접근에 대한 예약어입니다. 이 예약어는 접근 제한자로 불립니다. 접근 제한자는 누구를 접근하게 하고 접근을 못하게 하는지 정하는 제한자라고 생각을 하시면 됩니다. 이번 글을 통해서 접근 제한자에 대해서 알아 두시면 좋을 것 같습니다.
접근 제한자에 무엇인지 설명을 하고 접근 제한자 각각public, protected, default, priavet 대해 따로 추가적으로 설명을 하겠습니다. 마지막으로는 총 정리를 해서 간략하게 이해를 도와줄 수 있도록 하겠습니다. 이 글을 끝까지 읽는다면 접근 제한자를 이해를 하실 수 있다고 생각합니다.
접근 제한자란?
접근 제한자는 클래스, 메소드, 멤버 변수 앞에 써서 사용을 합니다. 그 접근 제한자가 있으면 그 접근 제한자에 맞게 사용을 할 수 있는 범위가 지정이 되게 됩니다. 범위는 Public, Protected, Default, Private으로 나뉘게 됩니다. 원하는 범위에 맞춰서 사용을 한다면 제어를 하는 것이 용이해 집니다.
※ 접근 제한자는 위에 말씀 드린 곳에 들어가고 메소드 변수 또는 지역 변수 같은 경우에는 메소드의 의해서 정해지기 때문에 따로 정하지는 않습니다.
접근 제한자 4가지
Public
pubilc이 붙으면 누구나 사용이 가능하기 때문에 누구든 접근해서 객체, 메소드, 멤버변수를 사용을 할 수 있습니다. public을 사용을 하면 개발을 할 때 편하지만 보안에 문제가 있을 수 있으니 상황에 맞춰서 사용을 하시면 됩니다.
Protected
protected 같은 경우에는 상속이 들어가는데 부모의 것을 자식만 사용을 할 수가 있습니다. 그 나머지에서 접근을 할 수가 없습니다. 한마디로 자식만 사용이 가능하다고 생각을 하시면 됩니다.
Default
default 같은 경우에는 같은 패키지에서는 자유롭게 사용이 가능한 접근 제한자 입니다. 그리고 default는 예약어는 아니고 접근 제한자를 쓰지 않으면 default가 된다고 보시면 됩니다. protected보다 밑에서 설명을 하는 것은 protected 같은 경우 같은 패키지가 아니어도 자식이면 사용이 가능하지만 default는 같은 패키지가 아니면 사용을 할 수 없습니다.
Private
private은 위에 사진처럼 나만 사용이 가능 한 것입니다. 다른 누구도 가져다가 사용을 할 수 없는 것을 private이라고 합니다. 어떤 상황도 사용을 할 수 없습니다. private 같은 경우에는 보안 상 장점이 있지만 공유를 하는 부분에서는 어려운 부분이 존재 하는 것을 인지하고 구현을 하시면 됩니다.