Post

Variable

✅ 선언 위치에 따른 변수 종류

멤버변수 🟰 class 변수, instance 변수

class 변수 🟰 static

📍 선언 위치: 클래스 영역 ⏰ 생성 시기: 클래스가 메모리에 올라갈 때 ⚡️ 초기화: 선택적 ➖ 모든 인스턴스들이 공통된 값 가져야 할 때

instance 변수

📍 선언 위치: 클래스 영역 ⏰ 생성 시기: 인스턴스 생성될 떄 ⚡️ 초기화: 선택적 ➖ 인스턴스마다 다른 값 가질 때

local변수

📍 선언 위치: 클래스 영역 이외(메서드, 생성자 등) ⏰ 생성 시기: 변수 선언문이 수행되었을 때 ⚡️ 초기화: 사용하기 전에 반드시 초기화 필수 ➖ 선언 블록 { }내에서만 사용 가능

✅ 멤버변수 초기화 방법

✔️ explicit initialization

1
2
3
4
class Car{
    int door= 4;
    Engine e= new Engine();
}

✔️ constructor

✔️ initialization block 초기화 블럭

  • 인스턴스 초기화 블럭: 인스턴스 변수 초기화
  • 클래스 초기화 블럭: 클래스 변수 초기화
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
//constructor 1
    Car(){
        count++;
        serialNo= count++;
        color= "White";
        gear= "auto";
    }

//constructor 2
    Car(String color, String gearType){
        count++;  // 👎🏻 같은 코드 중복
        serialNo= count++;  // 👎🏻 같은 코드 중복
        this.color= color;
        this.gearType= gearType;
    }

// 👍🏻 initialization block 사용한 코드
{
            count++;
        serialNo= count++;
}
Car(){
        color= "White";
        gear= "auto";
    }
Car(String color, String gearType){
        this.color= color;
        this.gearType= gearType;
    }

This post is licensed under CC BY 4.0 by the author.