Published 2022. 10. 26. 16:33

필드표현식 

[접근제한자] [예약어] class 클래스명{
                [접근제한자] [예약어] 자료형 변수명 [=초기값];
}

1. 변수선언 위치에 따른 구분 

 >>변수 구분
  - 전역변수 : 클래스영역 안에 바로 선언한 변수 => 클래스 내에서 어디서든 전역으로 사용가능
  - 지역변수  :클래스 영역내의 어떤 특정한 구역({})에 선언된 변수 => 선언된 해당 그지역에서만 사용가능
            *특정한 구역 : 메소드 {},제어문(if,for)등등
 
 
  1. 전역변수
 -  멤버변수 == 인스턴스변수
   생성시점 : new 연산자를 통해서 객체 생성시
   소멸시점 : 객체 소멸시 같이 소멸
 
  - 클래스 변수 == static변수
   생성시점 : 프로그램 실행과 동시에 무조건 메모리영역(static)에 할당
   소멸시점 : 프로그램 종료될때 소멸
 
 
  2. 지역변수
   생성시점: 지역변수가 속해있는 특정한 구역({}) 실행(호출)시 메모리 영역에 할당
   소멸시점: 특정한 구역([])종료시 소멸
 
public class FieldTest1 { //클래스 영역 시작
	private int global; // 전역변수 
	
	public void test(int num) {//메소드 영역 시작
		//매개변수 == 지역변수 
	  int local = 100; 	//지역변수 
		
	  //멤버변수 : 이 객체 생성시 JVM이 기본값으로라도 초기화 
	  System.out.println(global); 
	  //매개변수 : 이 메소드 호출시 반드시 값이 전달되어 올 것이기 때문에 초기화 
	  System.out.println(num);
	  //지역변수 : 내가 초기화를 직접하지않으면 텅 빈상태, 출력 불가 
	  System.out.println(local);
	  
	  
	  
	  FieldTest2 ft2 = new FieldTest2();
	  System.out.println(ft2.pub);
	  System.out.println(ft2.pro); 
	  System.out.println(ft2.def); 
	 //System.out.println(ft2.pri); x
	
	
	 }//메소드 영역 끝​
  }//메소드 영역 끝



2. 필드에서 사용가능한 접근제한자 4가지

 *  public    => 어디서든(같은패키지, 다른패키지 모두) 접근 가능 
 * protected => 같은 패키지 내 접근가능, 다른 패키지일 경우 상속구조*에서 접근가능 
 * default   => 같은 패키지에서만 접근가능, 다른 패키지 절대 불가능
 * private   => only 해당 클래스에서만 접근 가능 

>>>위에서 부터 아래로 내려갈 수록 접근 범위가 좁아짐 
public String pub ="public";
protected String pro = "protected";
String def = "default";
private String pri = "private";
public static String sta = "static_FieldTest2";
 
 

3. 상수 필드

접근제한자 [예약어] 자료형 변수명;
-static은 공유의 개념
-static이 붙은 것은 프로그램 실행과 동시에 메모리의 static 영역에 올라감 
-프로그램 실행시 딱 한번 메모리상에 올려두고 여기저기서 가져다 쓸 수있음
-final은 상수의 개념 (한번 지정된 값 변경 불가)

*상수 필드 (static final) : 프로그램 시작시 값이 저장되면 더이상 변경되지 않고 공유하면서 사용할 목적

public final static String STAFIN = "static final";

 

'JAVA' 카테고리의 다른 글

6_6. 객체 _ 메소드  (0) 2022.10.27
6_5. 객체_ 생성자  (0) 2022.10.27
6_3. 객체 _클래스 선언부  (0) 2022.10.26
6_2 . 객체 캡슐화 (setter/getter)  (0) 2022.10.26
6_1. 객체란  (0) 2022.10.26
복사했습니다!