13 변수와 메서드

오현석·2022년 3월 21일
0

변수는 클래스 변수 , 인스턴스 변수, 지역 변수로 세 종류가 있다.
변수를 결정짓는 중요한 요소는 '변수가 선언된 위치'이다

  1. 인스턴스 변수 (instanc variable)
    클래스 영역에 선언되며 클래스의 인스턴스를 생성할 때 만들어 진다. 따라서 인스턴스 변수의 값을 읽거나
    저장하기 위해서는 먼저 인스턴스를 생성해야 한다
class aaa {
int a = 10;
String b = "인스턴스 변수" 
}

  1. 클래스 변수(class variable)
    클래스 변수는 인스턴스 변수 앞에 static(정적메모리)를 붙이기만 하면 된다
    클래스 변수는 모든 인스턴스가 공통된 저장공간(변수)를 공유하게 된다
    인스턴스를 생성하지 않고도 바로 사용할 수 있다
package belog;


class aaa {
	static int a = 10;
	int b = 10;
}

public class practice {

	public static void main(String[] args) {
	
		System.out.println(aaa.a);
		
		aaa aa = new aaa();
		System.out.println(aa.b);
	}

}

10
10


클래스 aaa 에서 선언된 인스턴스 변수 a와 b를 출력하는 예제이다
변수 a의 경우 aaa클래스 에서 바로 출력을 할 수 있지만, b의 경우 aa라는 인스턴스를 생성해야 출력이 가능하다


  1. 지역 변수
    메서드 내에서 선언되어 메서드 내에서만 사용이 가능하며, 메서드가 종료되었을시 소멸된다
    for문과 while문에 선언된 지역변수는 블록{ }내부에서만 사용이 가능하다
package belog;



public class practice {

	public static void main(String[] args) {
	
		int a = 10;
		int b = 20;
		
		for (int i = 0; i < 5; i++) {
			int c = 31;
		}
		
		a = 11;
		b = 21;
		c = 31; // 에러발생 - for문안에 선언된 변수 c는 for문 블록밖에서는 사용할 수 없다
	}

}
profile
지망생

0개의 댓글

관련 채용 정보