[JAVA]/07. 객체지향

07. 필드 (Field) & 필드 접근제한자

76beny 2022. 4. 7. 15:53
목차

- 필드의 정의

-필드의 종류

- 필드의 특징

-필드의 접근제한자

-필드의 예약어 (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차 변형 등을 할 경우

민, 형사상 법적 조치 등 저작권법에 의거하여 처벌 받을 수 있습니다."