필드(Field)
클래스를 구성하는 요소 중 하나로 클래스 내부지만 메소드 밖 영역에 정의한다.
어떠한 데이터를 저장하기 위한 역할(변수)
변수 구분
- 전역변수 : 클래스 영역에 바로 선언하는 변수(public static)
- 지역변수 : 클래스 영역 내의 특정구역({ }) => 메소드, for문 등등...
for(int i=0; 조건식; 증감식;){} => 초기식에서 선언된 i도 지역변수
1) 전역변수
- 멤버 변수(인스턴스 변수, 필드)
생성 시점 : new 키워드를 사용하면 해당객체를 생성하는 순간 메모리 영역에 할당 => heap영역
소멸 시점 : 객체가 소멸될 때
- 클래스 변수(static 변수)
생성 시점 : 프로그램 실행과 동시에 => 해당 객체가 생성이 안돼도 무조건 프로그램 실행과 동시에 할당됨
소멸 시점 : 프로그램이 끝날 때 소멸
2) 지역변수
생성 시점 : 특정한 구역({ }) 실행시 메모리 영역에 할당
소멸 시점 : 특정한 구역({ }) 종료시 소멸
- 필드에서 사용가능한 접근제한자 4가지
(+)public : 어디서든(같은 패키지, 다른패키지 모두) 접근 가능하게 하고싶다.
(#)protected : 같은 패키지면 무조건 접근가능, 다른 패키지면 상속구조인 클래스에서만 접근가능
(~)default : 오로지 같은 패키지에서만 접근가능, 생략 가능
(-)private : 오직 해당 클래스 안에서만 접근가능
=> 위에서부터 아래로 내려갈수록 접근할 수 있는 범위가 좁아진다.
=> +, #, ~, - : 클래스 다이어그램 표기방법.
- 상수 필드(static field)
public static final 자료형 상수필드이름 = 값;
=> 한번 지정된 값을 고정해서 쓴다. 그래서 무조건 초기화 해줘야함
=> 예약어 순서는 상관없음 public final static으로 써도 됨
static : 공유의 개념(재사용성)
final : 한번 지정해놓고 변경하지 않겠다(상수선언)
값이 변경되어서는 안되는 고정적인 값을 메모리상(static)에 올려놓고 공유할 목적으로 사용
(프로그램이 시작과 동시에 메모리 영역에 할당, 값이 변하지도 않음)
메소드(Method)
접근제한자 예약어 반환형 메소드이름(매개변수의 자료형 매개변수이름) {
수행할 코드;
return 반환값;
}
1. 매개변수와 반환값 둘다 없는 메소드
2. 매개변수는 없고, 반환값은 있는 메소드
3. 매개변수는 있고, 반환값은 없는 메소드
4. 매개변수와 반환값 둘다 있는 메소드
'Programming > JAVA' 카테고리의 다른 글
[JAVA] 상속 / 오버라이딩 / 관련 예제 (1) | 2023.12.27 |
---|---|
[JAVA] 객체 배열 (0) | 2023.12.27 |
[JAVA] 객체지향 프로그래밍 / setter, getter / 캡슐화 encapsulation (0) | 2023.12.22 |
[JAVA] 배열(Array) / ArrayIndexOutofBoundsException / arraycopy() / copyOf() / clone() / 관련 예제 (0) | 2023.12.22 |
[JAVA] break / continue 예제 (0) | 2023.12.22 |