변수의 종류

멤버 변수 : 클래스 내부에서 선언

지역 변수 : 메서드 내부에서 선언, 매개변수도 지역 변수의 한 종류

 

변수의 값 초기화

- 멤버 변수(자동 초기화)

  - 개발자가 초기값을 지정할 수 있음

  - 초기값을 지정하지 않았을 경우

    - int -> 0

    - boolean -> false

    - 참조형 -> null

// 멤버 변수 초기화

class Test {
    int num;
    String str;
    boolean check;
    String[] strArr = new String[5];

    int[] numArr = new int[5];
}

public class Main {
    public static void main(String[] args) {
        Test test = new Test();
        System.out.println("test.num = " + test.num);  // 0
        System.out.println("test.str = " + test.str); // null
        System.out.println("test.check = " + test.check); // false
        System.out.println("test.check = " + test.strArr[0]); // null
        System.out.println("test.check = " + test.strArr[3]); // null
        System.out.println("test.check = " + test.numArr[0]); // 0
        System.out.println("test.check = " + test.numArr[3]); // 0
    }
}

 

- 지역 변수(수동 초기화)

  - 항상 직접 초기화해야 한다.

// 지역변수 초기화 안했을 경우

int num;
String str;
boolean check;
String[] strArr = new String[5];
int[] numArr = new int[5];

System.out.println("num = " + num); // error : variable num might not have been initialized
System.out.println("str = " + str);  // error : variable str might not have been initialized
System.out.println("check = " + check); // error : variable check might not have been initialized
System.out.println("check = " + strArr[0]); // null
System.out.println("check = " + strArr[3]); // null
System.out.println("check = " + numArr[0]); // 0
System.out.println("check = " + numArr[3]); // 0

 

 

'인강 > 자바(기본편)' 카테고리의 다른 글

다형성  (0) 2024.07.23
상속  (0) 2024.07.22
this, 생성자  (0) 2024.07.02
기본형 vs 참조형  (0) 2024.07.01
클래스와 데이터  (0) 2024.07.01

+ Recent posts