[JAVA] 접근 지정자(Access Modifier)

정은아·2022년 7월 30일
접근 지정자(Access Modifier)

 : 객체지향 프로그래밍은 캡슐화가 중요 합니다.
   클래스 외부에서 클래스 내부로 쉽게 접근하지 못하게 함으로써 클래스 정보를 보호할 수 있습니다.
   이처럼 클래스와 클래스의 멤버(변수, 메소드)에 대한 접근 정도를 지정할 때 
   사용하는 것이 접근지정자 입니다.
   
   자바에서 많이 사용하는 접근 지정자는 아래와 같습니다.
   
   수정자 		클래스내부 		같은 패키지		서브 클래스	다른 클래스
   								(같은 폴더)
   public			O				O				O			O
   	
   protected		O				O				O			X
   
   default			O				O				X			X
 (안쓰는게 default)
   private			O				X				X			X
   
   
 클래스 변수
  
  : 클래스 변수는 static 키워드를 사용하여 선언하고 전역변수의 개념을
    포함하고 있습니다. 전역 변수라는 의미는 객체가 메모리에서 완전히
    사라지기 전까지 여러개의 객체 참조 변수에서 값을 공유 할 수 있습니다.
    그렇기 때문에 클래스 변수는 객체 사이의 통신이나 공용 데이터를
    처리할 때 사용하고, 객체 참조 변수 없이 직접 클래스 이름을 통해 접근해서
    사용할 수 있습니다. 클래스 변수는 같은 클래스의 인스턴스 변수에서 값을
    공유합니다. 또한 '클래스.클래스변수이름' 으로 직접 값을
    불러올 수 있습니다.
    
    Math.random();
    
 종단 변수
  : 종단 변수는 final 키워드를 사용해 변수를 상수로 만드는 것을 의미합니다.
    변수를 선언할 때 final 키워드를 변수 앞에 붙여서 사용합니다.
    종단 변수는 단 한번만 초기화 될 수 있습니다.
    값을 변경할 수 없습니다. 상수는 변하지 않는 값이기 때문에
    변수를 상수로 만든다는 의미는 값을 변경할 수 없다는 뜻입니다.
    종단 변수는 관례상 대문자를 사용합니다.
    
 멤버 변수
  : 자바의 멤버 변수는 4가지 종류가 있습니다.
    객체 속성변수와 객체 참조변수는 객체에서 사용하는 객체변수입니다.
    클래스 변수는 전역 변수의 역할을 하며 종단 변수는 상수를 만들 때
    사용합니다.
    
    				- 객체 속성 변수 (필드)
    				- 객체 참조 변수
    멤버 변수  -		- 클래스 변수 (static)
    				- 종단 변수 (final)
    				
    	멤버 변수를 선언하는 방법은 일반적인 변수 선언과 동일합니다.
    	멤버 변수를 초기화하지 않으면 default 값을 갖습니다.
    	
 		
 	public 				int a;			=> 일반 멤버변수 a선언
 	private		final	int B = 7;		=> 상수 B선언
 	protected	static	int c = 88;		=> 클래스 변수 c선언
    
profile
꾸준함의 가치를 믿는 개발자

0개의 댓글