자바는 접근 제한자를 통해 캡슐화 특징을 가지고 있습니다. 이번 글에서는 접근 제한자의 종류과 규칙에 대해서 알아보겠습니다.
접근 제한자(Access Modigier)
자바에서 접근 제한자는 클래스, 메서드, 변수 등 멤버에 대한 접근 권한을 설정할 수 있는 키워드입니다. 이를 통해 캡슐화(encapsulation)의 원칙에 따라 클래스 내부의 구현을 감추고 외부로부터의 접근을 제어할 수 있습니다.
접근 제한자의 종류
public : 어디에서나 접근 가능합니다. 가장 높은 접근 수준을 가지며 인터페이스 등 외부에 공개되는 클래스 멤버에 사용됩니다.
protected : 같은 패키지 내, 또는 다른 패키지의 자식 클래스에서만 접근 가능합니다. 상속을 사용할 때 주로 사용됩니다.
default : 아무런 접근 제한자를 명시하지 않으면 적용되며, 같은 패키지 내에서만 접근이 가능합니다.
private : 클래스 내부에서만 접근이 가능하며, 클래스 외부에서는 접근할 수 없습니다. 내부 구현을 감추기 위해 사용됩니다.
접근 제한자 예시
자바의 접근 제한자를 사용한 예시 코드입니다.
package com.example;
public class AccessExample {
public int publicField; //어다서든 접근 가능
protected int portectedFieid; //같은 패키지 또는 서브클래스에서 접근 가능
int defaultField; //같은 패키지 내에서만 접근 가능
private int privateField; //동일 클래스 안에서만 접근 가능
public void publicMethod(){
//public 메서드 : 어디서든 호출가능
}
protected void protectedMethod(){
//protected 메서드 : 같은 패키지 또는 상속박은 클래스에서만 호출 가능
}
void defaultMethod(){
//Default 메서드 : 같은 패키지 내에서만 호출 가능
}
private void privateMethod(){
//private 메서드 : 같은 클래스 내부에서만 호출 가능
}
};
접근 제한자와 캡슐화
접근 제한자는 캡슐을 강화하는 중요한 역할을 합니다. 중요한 데이터를 private으로 선언하여 클래스 외부에서 임의로 변경하는 것을 방지하고, 데이터에 안정하게 접근할 수 있는 public 메서드를 제공함으로써 데이터 무결성을 유지할 수 있습니다. 이러한 방식은 클래스의 사용 방법을 명확히 하고, 내부의 변경 사항이 외부에 미치는 영향을 최소화하도록 돕습니다.
접근제한자의 적절한 사용은 소프트웨어의 유지 보수성, 확장성을 크게 향상시키며, 개발자 간 협업 과정에서 코드의 의도를 분명히 전달하는 데에도 도움이 됩니다. 따라서, 자바의 접근 제한자 사용은 좋은 객체지향 디자인 및 보안 관행의 일부분으로 간주됩니다. 설계 단계에서 접근 제한자를 통한 접근 범위를 신중히 고려하는 것이 중요합니다.
'Web Programing > JAVA' 카테고리의 다른 글
오버로딩과 오버라이딩 차이 쉽게 이해하기 (0) | 2024.02.23 |
---|---|
자바 상속(Inheritance)이란? 부모클래스 자식클래스 개념과 예시 (0) | 2024.02.22 |
매개변수(Parameter)와 인자(Argument) 이해 (0) | 2024.02.20 |
지역변수와 전역변수 이해하기 예시 (0) | 2024.02.19 |
예외 처리 try-catch의 사용 방법과 예시 (0) | 2024.02.18 |