본문 바로가기
Web Programing/JAVA

자바 접근 제한자의 종류와 특징 예시

by 기록하는 초보 2024. 2. 21.
반응형

자바는 접근 제한자를 통해 캡슐화 특징을 가지고 있습니다. 이번 글에서는 접근 제한자의 종류과 규칙에 대해서 알아보겠습니다.

 

접근 제한자(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 메서드를 제공함으로써 데이터 무결성을 유지할 수 있습니다. 이러한 방식은 클래스의 사용 방법을 명확히 하고, 내부의 변경 사항이 외부에 미치는 영향을 최소화하도록 돕습니다.

 

접근제한자의 적절한 사용은 소프트웨어의 유지 보수성, 확장성을 크게 향상시키며, 개발자 간 협업 과정에서 코드의 의도를 분명히 전달하는 데에도 도움이 됩니다. 따라서, 자바의 접근 제한자 사용은 좋은 객체지향 디자인 및 보안 관행의 일부분으로 간주됩니다. 설계 단계에서 접근 제한자를 통한 접근 범위를 신중히 고려하는 것이 중요합니다.

반응형