07. 필드 (Field) & 필드 접근제한자
- 필드의 정의
-필드의 종류
- 필드의 특징
-필드의 접근제한자
-필드의 예약어 (static, final, static final)
필드 (Field)
■ 객체의 데이터가 저장되는 곳
■ 변수와 비슷하지만 생성자나 메소드 외부에 선언되어 클래스 전체에서 사용됨
■ 생성자와 메소드 내부에 선언된 변수는 로컬 변수(지역변수)라 부름
■ 필드표현식
[접근제한자] [예약어] class 클래스명 {
[접근제한자] [예약어] 자료형 변수명 [= 초기값];
}
■ 필드 예시
public class Member {
public int temp1;
protected int temp2;
int temp3; // 접근제한자 생략 시 default
private int temp4; // 캡슐화 원칙으로 private 사용
}
필드 종류
■ 클래스변수 : 클래스 영역에 static키워드(예약어)를 가짐.
■ 멤버변수(인스턴스 변수) : 클래스 영역에 선언.
필드 특징
■ 객체가 생성될 때 만들어지고, 객체가 소멸할 때 같이 소멸됨
■ 필드는 기본타입, 또는 참조타입 변수로 생성 가능
■ 선언 시 초기값을 넣을 수 있음
■ 클래스 내부에서 필드 사용 시 이름만 불러서 사용
■ 클래스 외부에서 필드 사용 시 객체명.필드명 으로 사용
필드 접근제한자
구분 | 해당내부클래스 | 같은패키지내 | 후손클래스내 | 전체 | |
+ | public | ○ | ○ | ○ | ○ |
# | protected | ○ | ○ | ○ | |
~ | (default) | ○ | ○ | ||
- | private | ○ |
필드 예약어 _ Static (정적필드)
■ 같은 타입의 여러 객체가 공유할 목적의 필드에 사용
■ 프로그램 실행 시에 정적 메모리 영역에 자동 할당
■ 같은 타입의 모든 객체가 꼭 필요한 공통적인 속성을 가진 변수에 사용
■ 표현식
public class VariableExam {
public static int num;
}
필드 예약어 _ Final (상수)
■ 필드가 가진 초기값 수정 불가능
■ 초기값은 필드를 선언할 때나, 생성자 에서만 설정 가능
■ 하나의 값만 계속 저장해야 하는 변수에 사용하는 예약어
■ 표현식
public class VariableExam {
public final int NUM = 100;
}
필드 예약어 _ Static Final
■ 정적필드(static)면서 상수(final)로 고정된 값
■ 한번 초기값이 저장되면 변경할 수 없음
■ 관례적으로 상수이름은 모두 대문자로 지정
여러 단어가 연결되는 경우 _ 로 구분
■ 표현식
public class VariableExam {
public static final int NUM = 100;
}
"본 인터넷 사이트 내의 모든 이미지, 문구, 콘텐츠, 내용 등에 대한 저작권은 76beny에게 있습니다.
이를 무단으로 도용, 복사, 전재, 재배포, 2차 변형 등을 할 경우
민, 형사상 법적 조치 등 저작권법에 의거하여 처벌 받을 수 있습니다."