Java로 객체를 생성하는 방법에는 5 가지가 있습니다.
1. new키워드 사용 → 생성자 호출
Employee emp1 = new Employee();
2.newInstance()Class → 생성자의 메소드를 사용하여 호출
Employee emp2 = (Employee) Class.forName("org.programming.mitra.exercises.Employee")
.newInstance();
다음과 같이 쓸 수도 있습니다
Employee emp2 = Employee.class.newInstance();
3.newInstance()Constructor → 생성자의 메소드를 사용하여 호출
Constructor<Employee> constructor = Employee.class.getConstructor();
Employee emp3 = constructor.newInstance();
4. clone()메소드 사용 → 생성자 호출 없음
Employee emp4 = (Employee) emp3.clone();
deserialization 사용 → 생성자 호출 없음
ObjectInputStream in = new ObjectInputStream(new FileInputStream("data.obj"));
Employee emp5 = (Employee) in.readObject();
처음 세 개의 메소드 new키워드와 둘 다 newInstance()생성자 호출을 포함하지만 나중에 두 개의 복제 및 역 직렬화 메소드는 생성자를 호출하지 않고 오브젝트를 작성합니다.
위의 모든 메소드에는 서로 다른 바이트 코드가 있습니다. 예 를 들어 Java로 객체를 작성하는 다른 방법 읽기 예 및 더 자세한 설명, 예를 들어 이러한 모든 메소드의 바이트 코드 변환.
그러나 배열이나 문자열 객체를 만드는 것도 객체를 만드는 방법이라고 주장 할 수 있지만 이러한 것들은 일부 클래스에만 더 구체적이며 JVM에 의해 직접 처리되지만 우리는이 5 가지 방법을 사용하여 모든 클래스의 객체를 만들 수 있습니다.