Java에서 new는 newInstance()가 객체 생성에 사용되는 메서드인 연산자입니다. 생성될 객체의 유형을 알고 있으면 new 연산자를 사용할 수 있지만 처음에 생성될 객체의 유형을 모르고 런타임에 전달되는 경우 newInstance() 메서드가 사용됩니다.
일반적으로 new 연산자는 객체를 생성하는 데 사용되지만 런타임에 생성될 객체 유형을 결정하려는 경우 new 연산자를 사용할 수 있는 방법이 없습니다. 이 경우 우리는 newInstance() 메서드 .
우리가 논의하자 새로운 운영자 . Java에서 객체 생성은 나열된 3단계, 즉 객체 인스턴스화와 객체 초기화로 이루어집니다. 생성자 호출 .
Datatype variable;
new 키워드를 사용하면 컴파일러는 변수를 객체로 해석합니다.
Datatype object = new Constructor();
예:
Java// Java Program to Illustrate new Operator // Importing required classes import java.util.*; // Main class class GFG { // Main drive method public static void main(String[] args) { // List al; // Ny now al is just a variable // Now creating object using new operator List<Integer> al = new ArrayList<>(); // Adding elements to above List al.add(1); al.add(4); al.add(3); // Printing elements of List System.out.print(al); } }
산출
[1 4 3]
메모: 변수가 아닌 객체를 호출하려는 경우에도 생성자와 함께 사용할 수 있습니다.
리눅스 폴더 이름 바꾸기
이제 Class 클래스 내부의 java.lang 패키지에 있는 newInstance() 메서드를 생각해 보겠습니다. 이미 논의한 것처럼 원격 소스에서 클래스를 로드하는 데 사용됩니다.
나중에 실행을 위해 Java 프로그램을 사용하여 데이터베이스에 연결하는 시나리오를 생각해 보세요. 를 통해 더욱 명확하게 설명할 수 있다. JDBC 예. 거기서 우리가 사용한 것을 기억하세요. 클래스.for이름() 메소드를 사용하여 레지스터를 동적으로 로드했으며 그 위에 newInstance() 메소드를 사용하여 동적으로 객체를 생성했습니다.
예:
Java// Java Program to Demonstrate Working of newInstance() // Method present inside java.lang.Class // Class 1 // Class 2 class A { int a; } class B { int b; } // Class 3 // Main class public class GFG { // Method 1 // To create an instance of class whose name is // passed as a string 'c'. public static void fun(String c) throws InstantiationException IllegalAccessException ClassNotFoundException { // Creating an object of type 'c' Object obj = Class.forName(c).newInstance(); // Printing the type of object created System.out.println('Object created for class:' + obj.getClass().getName()); } // Method 2 // Main driver method public static void main(String[] args) throws InstantiationException IllegalAccessException ClassNotFoundException { // Calling above method over 'A' fun('A'); } }
산출:

출력 설명: 이름() 방법 클래스 '를 반환합니다. 수업' 우리가 호출하는 객체 새로운 인스턴스() 명령줄 인수로 전달하는 해당 클래스의 개체를 반환하는 메서드입니다.
- 전달된 클래스가 존재하지 않는 경우 ClassNotFoundException 발생합니다.
관련 기사: 자바에서의 리플렉션