[Java 무작정 따라하기]3. Java variable , 자바 변수란?

 Java 무작정 따라하기 

알기쉽게 알려주는 Java 변수 정의 및 종류,그리고 사용법

 

  • 변수가 뭐지? 한국어 적으로 접근 해 보면, 변하는 수 아닐까?
  • 변수라는걸 왜 사용하는거야?
  • 이러한 궁금증. 해결 해 봅시다.

 

변수란?

 

  • 중학생 때 배운 x = 2일 때 , (x+x)*x = ? 이란 문제를 한번쯤 보았을 것 같다.
  • x 는 2 도 될 수 있고 문제에 따라 3이 될 수도, 10이 될 수도 있다.
  • x 라는 공간에 여러가지 수를 담을 수 있다는 뜻.

 

  • 영어로 variable 이라고 하는 변수, 영어 variable의 뜻을 찾아본다면
  • variable : "변하기 쉬운", "변하게 할 수 있는" 이란 뜻으로
  • 즉, 변수는 변하는 수를 저장하는 메모리 공간 정도로 표현할 수 있다.

 

변수의 종류

 

  • 변수는 상황에 따라 크게 4가지 종류로 구분 할 수 있다.
  • 정적 변수
    • static이 붙은 Class 에서 선언 한 변수
    • static 변수 혹은 class 변수 라고도 한다.
    • 접근제어자로 public 이 붙으면 다른 Class에서도 공유하여 사용이 가능하다
    • 보통 final 키워드와 함께 사용하고 변수가 아닌 상수를 선언할 때 많이 사용한다.
  • 인스턴스 변수
    • static이 붙지 않은 Class 에서 선언 한 변수
    • Class 내에서 소유하고 사용하는 변수
  • 지역 변수
    • 함수 (메소드) 내에서 선언되어 사용되는 변수
    • 메소드 시작에 선언하고 메소드가 끝나면 해당 변수는 사라진다.
  • 매개 변수
    • 함수 (메소드)를 호출 할 때 전달하는 값을 저장하기 위해 사용하는 변수이다.
    • 파라미터 라고도 한다.
public class mingyu(){
	//상수 선언 및 초기화
	public static final string NAVER_CANT_CHANGE = "절대변하지않는상수";
    //정적 변수 선언 및 초기화
   	public static int can_change = 100;
    
    public static void test_variable(int n_number){
    	//지역 변수 선언 및 초기화
        //지역변수는 접근지정자를 사용하지 않는다.
        int this_is_variable = 10;
        
        // 매개변수로 넘겨받은 int형 n_number
        // 정적변수 can_change
        // 지역변수 this_is_variable 을 더한다음
        // 정적 변수에 넣어준다.
        can_change = can_change + n_number + this_is_variable;        
    }
    
    public static void main(String[] args) {
    	// 매개변수로 20의 값을 넘긴다.        
    	test_variable(20);
        
        // 콘솔에 100+20+10 = 130이 출력된다.
        System.out.println(can_change);
        
    }
    
    
}

 

변수의 사용 방법

 

  • (자료형) 변수명 으로 변수를 선언 할 수 있다.
  • 변수를 사용하기 위해서는 선언 하는것 뿐만 아니라 초기 지정 값을 넣어주어야 사용이 가능하다.
  • 변수를 선언하고, 초기값을 지정해 주는 것을 변수의 초기화 라고도 한다.
  • 변수를 선언과 동시에 초기화 해주는 것을 추천한다.
int number ; //int 자료형 변수의 선언
number = 1; //변수의 초기화

//double자료형 변수의 선언과 동시에 초기화
double d_number = 5.5 ; 

//문자열 변수 선언
String str_variable;
//문자열 변수 초기화
str_variable = "이건문자열";

 

 

내용이 유익하셨다면 구독 및 좋아요 클릭 부탁드려요 :)

오늘 하루도 즐거운 하루 보내세요!