인스턴스 변수와 Java의 `new` 키워드: 완전 가이드

발행: (2026년 2월 11일 오후 01:39 GMT+9)
4 분 소요
원문: Dev.to

Source: Dev.to

인스턴스 변수

인스턴스 변수는 클래스 내부에 선언되지만 메서드, 생성자 또는 블록 밖에 위치합니다. 이는 클래스의 각 특정 객체(인스턴스)에 속하며, 각 객체가 자체 복사본을 갖게 됩니다.

  • 클래스 내부에 선언되며 메서드 밖에 위치합니다.
  • 각 객체는 별도의 복사본을 가집니다.
  • 기본값을 받습니다 (int0, 객체는 null, booleanfalse).
  • 객체 레퍼런스를 통해 접근할 수 있습니다.
  • 힙 메모리에 저장됩니다.
class Student {
    int marks;   // instance variable

    void display() {
        System.out.println("Marks: " + marks);
    }

    public static void main(String[] args) {
        Student s1 = new Student();
        Student s2 = new Student();

        s1.marks = 85;
        s2.marks = 90;

        s1.display(); // Marks: 85
        s2.display(); // Marks: 90
    }
}

위 예제에서 marks는 인스턴스 변수입니다. 객체 s1s2는 각각 자신의 값을 유지합니다.

new 키워드

new 키워드는 클래스의 새로운 객체를 생성합니다. 사용될 때 Java는:

  1. 힙에 객체용 메모리를 할당합니다.
  2. 인스턴스 변수를 기본값으로 초기화합니다.
  3. 클래스 생성자를 호출합니다.
  4. 새로 생성된 객체에 대한 레퍼런스를 반환합니다.
Student s = new Student();   // creates a new Student object
  • Student – 클래스 이름.
  • s – 새 객체를 가리키는 레퍼런스 변수.
  • new Student() – 메모리를 할당하고 생성자를 호출합니다.

new를 인스턴스 변수와 함께 사용하기

인스턴스 변수는 new를 사용해 객체가 생성된 후에야 존재합니다. 객체가 없으면 접근할 수 없습니다.

Student s = new Student(); // object created
s.marks = 75;              // instance variable accessed

요약

  • 인스턴스 변수는 각 객체에 특화된 데이터를 저장하며 힙 메모리에 존재합니다.
  • new 키워드는 해당 메모리를 할당하고, 변수를 초기화하며, 생성자를 호출하고, 객체에 대한 레퍼런스를 제공하는 역할을 합니다.

생성자, 상속, 전반적인 객체 지향 설계와 같은 보다 고급 Java 주제로 넘어가기 전에 이 기본 개념들을 이해하는 것이 필수적입니다.

0 조회
Back to Blog

관련 글

더 보기 »

Java 상속

Inheritance란 무엇인가? Inheritance는 하나의 class가 다른 class의 states와 behaviors를 가져오는 메커니즘이다. 이는 is‑a relationship를 나타내며, 의미는 ...

왜 0.1 + 0.2가 코드에서 0.3이 되지 않을까

markdown Floating‑Point Surprise python print 0.1 + 0.2 당신은 0.3이 나오길 기대합니다. 하지만 실제로는 0.30000000000000004가 나옵니다. 당신의 계산기는 0.3이라고 말하고, Excel도 0.3이라고 말합니다. Yo...

제네릭이란 무엇인가?

Generics는 Java 5에서 도입된 기능으로, 다양한 데이터 타입과 함께 작동하는 classes, interfaces 및 methods를 만들 수 있게 합니다. 이들은…