본문 바로가기
자바 한계단

필드부 복습

by juneMiller 2021. 9. 24.

/*
 * 클래스 == "필드" + 생성자 + 메소드   의 조합
 * 
 * >> 변수구분
 * 
 * - 전역변수 : 클래스 영역에 바로 선언하는 변수 --> 클래스 내에서면 어디서든 사용 가능
 * - 지역변수 : 클래스 영역안의 어떤 특정한 구역 ({})에 선언하는 변수  --> 그 지역에서만 사용 가능
 *           메소드, 제어문(if, for) 등등 
 *           
 * 1. 전역변수
 * -  멤버변수 (인스턴스 변수)
 *    생성 시점 : new 연산자를 통해서 객체 생성 시 멤버변수 --> 메모리 할당
 *    소멸 시점 : 객체 소멸 시 같이 소멸
 *    
 * -  클래스변수 (static 변수) : static이라는 예약어가 붙은 변수
 *    생성 시점 : 프로그램 실행(해당 객체 생성이 안되도)과 동시에 무조건 static 메모리 영역에 할당
 *    소멸 시점 : 프로그램이 종료될 때 소멸
 *    >> 클래스변수는 어떤걸 의미하냐면 프로그램 실행과 동시에 메모리에 올려놓고 공유하면서 쓸 목적으로 선언하는거임!!
 * 
 * 2. 지역변수
 *    생성 시점 : 특정한 구역({}) 실행(호출)시 메모리 영역에 할당 (ex. 메소드 실행시)
 *    소멸 시점 : 특정한 구역({}) 종료 시 소멸 (ex. 메소드 종료시)
 *    
 */

//변수선언 위치에 따른 구분을 보기 위한 클래스 ( 전역, 지역, 매개)
public class FieldTest1 {
	//멤버변수(인스턴스변수) == 필드부

	private int global; // 전역변수인 --> 멤버
	
	public FieldTest1() { 
		//기본 생성자
	}
	
	public void test(int num) { //test 메소드 영역 시작
		//지역 변수 (특정 구역 즉, 메소드 영역내에서 작성하는 변수)
		int local = 10; // 요런게 지역변수// 지역안에서 만쓰기에 접근 제한자를 쓰지 않아요.
		
		//num -> 매개변수 (메소드 괄호 안에 작성하는 변수 ), 일종의 지역변수, 이메소드 영역내에서만 사용
		
		//멤버변수 출력 - > 전역변수는 클래스 전역에서 사용가능하고// 미초기화시 JVM 이 기본값으로 초기화 한다
		System.out.println(global); // 자료형 기본값 : 0 run 실행하면 0 이 나오는...
		
		
		//지역변수 출력 -> 지역변수는 반드시 초기화를 해야 한다
		System.out.println(local); ///위에 세팅한 값으로 출력 10 이 된다. 
		
		//매개변수 출력 - > 매개변수는 메소드 호출시 반드시 값이 전달 되어야 한다.
		System.out.println(num); //run 에서 넣은 값을 호출받아 출력
		
		
		
	}//test메소드 끝 --> 
	//지역변수 모두 소멸
}

'자바 한계단' 카테고리의 다른 글

자바 구성멤버 [메소드]  (0) 2021.09.27
자바 생성자 복습  (0) 2021.09.26
클래스 복습  (0) 2021.09.24
자바 객체 지향 프로그래밍  (0) 2021.09.24
자바 공부 이차 배열 복습  (0) 2021.09.24