Java에서 객체 인스턴스화
Hiten Kanwar
2023년10월12일
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