자바 정복 일기 - 접근 제한자와 static/final

Bex·2023년 8월 12일
0

1. 접근 제한자

접근 제한자(Access Modifier)란?

  • 말 그대로 클래스 및 인터페이스 그리고 이들이 가지고 있는 멤버의 접근을 제한하기 위해 사용되는 것

1) 접근 제한자 종류

public 접근 제한자

  • 단어 뜻 그대로 외부 클래스가 자유롭게 사용할 수 있도록 함

protected 접근 제한자

  • 같은 패키지 또는 자식 클래스에서 사용할 수 있도록 함

private 접근 제한자

  • 단어 뜻 그대로 개인적인 것이라 외부에서 사용될 수 없도록 제한함

default 접근 제한자

  • 위의 세가지 접근 제한자를 적용하지 않을 때 가지는 접근 제한
  • 같은 패키지에 소속된 클래스에서만 사용 가능

2) 정리

접근제한적용 대상접근할 수 없는 클래스
public클래스, 필드, 생성자, 메소드없음
protected필드, 생성자, 메소드자식 클래스가 아닌 다른 패키지에 소속된 클래스
default클래스, 필드, 생성자, 메소드다른 패키지에 소속된 클래스
private필드, 생성자, 메소드모든 위부 클래스

2. static/final

1) static

  • 객체 생성 없이 사용할 수 있는 필드와 메소드를 생성하고자 할 때 사용
  • 공용데이터에 해당하거나 인스턴스 필드를 포함하지 않는 메소드를 선언하고자 할 때 이용

2) final

  • 해당 변수는 값이 저장되면 최종적인 값이 되므로, 수정이 불가능하다는 의미를 가짐
  • 주로 상수로 변수를 사용하기 위해 사용하거나 오버라이딩을 막기 위해 사용

3) static final

  • 클래스 자체에 존재하는 단 하나의 상수(클래스자체로 존재하여 접근 가능하고 불변하다)
  • 따라서 클래스의 선언과 동시에 바드시 초기화가 필요한 클래스 상수

정리

종류특징
static객체마다 가질 필요가 없는 공용으로 사용하는 필드 혹은 인스턴스 필드를 포함하지 않는 메소드
final한 번 값이 정해지고 나면 값을 바꿀 수 없는 필드
static final모든 영역에서 고정된 값으로 사용하는 상수
profile
초보 개발자의 코딩 일기

0개의 댓글