Java에서 객체 인스턴스화

Hiten Kanwar 2023년10월12일
Java에서 객체 인스턴스화

Java에서 객체는 클래스의 인스턴스라고 합니다. 예를 들어 car라는 클래스를 가정하고 SportsCar, SedanCar, StationWagon 등이 이 클래스의 객체로 간주될 수 있습니다.

이 자습서에서는 Java에서 개체를 인스턴스화하는 방법에 대해 설명합니다.

new 키워드를 사용하여 Java에서 클래스의 인스턴스를 만들 수 있습니다. 객체는 메소드가 아니라 클래스의 인스턴스이기 때문에 Java에서 메소드를 인스턴스화하지 않는다는 것을 기억하십시오. 메서드는 클래스가 소유한 동작일 뿐입니다.

한 클래스의 개체를 생성하여 다른 클래스를 통해 해당 공용 메서드에 액세스할 수 있습니다. 아래 코드와 같이 첫 번째 클래스에서 두 번째 클래스의 인스턴스를 만든 다음 첫 번째 클래스에서 두 번째 클래스 메서드를 사용합니다.

// creating a class named first
public class First {
  public static void main(String[] args) {
    Second myTest = new Second(1, 2); // instantiating an object of class second
    int sum = myTest.sum(); // using the method sum from class second
    System.out.println(sum);
  }
}
// creating a class named second
class Second {
  int a;
  int b;
  Second(int a, int b) {
    this.a = a;
    this.b = b;
  }
  public int sum() {
    return a + b;
  }
}

출력:

3

같은 클래스의 다른 메서드에 있는 한 클래스의 메서드에 액세스하려는 경우 메서드가 static으로 선언된 경우 개체를 인스턴스화할 필요가 없습니다.

예를 들어,

public class Testing {
  private static int sample(int a, int b) {
    return a + b;
  }
  public static void main(String[] args) {
    int c = sample(1, 2); // method called
    System.out.println(c);
  }
}

출력:

3

위의 예에서 sample() 메소드를 호출할 수 있습니다. 두 메소드가 같은 클래스이고 sample()static으로 선언되어 있으므로 객체가 필요하지 않습니다.

그러나 아래 그림과 같이 두 메서드가 동일한 클래스인 경우에도 객체 인스턴스화를 수행할 수 있습니다. 메서드가 static으로 선언되지 않은 경우 수행됩니다.

아래 코드를 참조하십시오.

public class Testing {
  private int Sample() {
    int a = 1;
    int b = 2;
    int c = a + b;
    return c;
  }
  public static void main(String[] args) {
    Testing myTest = new Testing();
    int result = myTest.Sample();
    System.out.println(result);
  }
}

출력:

3

관련 문장 - Java Object