Java의 Object 란 무엇이며 어떻게 사용합니까?



Java의 객체는 고유 한 속성과 동작을 가진 실제 엔티티입니다. Java의 객체에 대한 모든 내용과 여러 방법으로 객체를 생성하는 방법을 배웁니다.

자바는 . 즉, Java의 거의 모든 것이 객체로 취급됩니다. 따라서 Java로 프로그래밍하는 동안 Java에서 개체를 만드는 모든 가능한 방법을 알아야합니다. 하지만 사물에 대해 더 깊이 들어가기 전에 자바 클래스 그리고 객체가 그들과 어떻게 관련되어 있는지.

이 게시물에서는 Java로 객체를 생성하는 5 가지 방법을 다루고 방법을 이해하는 데 필요한 모든 필수 개념을 이해합니다.





  1. 'new'키워드를 사용하여 개체 만들기
  2. clone () 메서드를 사용하여 객체 만들기
  3. 클래스의 newInstance () 메서드를 사용하여 객체 만들기
  4. 역 직렬화를 사용하여 개체 만들기
  5. 생성자 클래스의 newInstance () 메서드를 사용하여 객체 생성

시작하자.



'new'키워드를 사용하여 개체 만들기

Java로 프로그래밍하는 동안 'new'키워드를 확실히 접했을 수 있습니다. 동적으로 할당 된 메모리 즉, 이러한 객체에 대한 메모리가 런타임에 할당되는 객체를 만드는 데 사용되는 키워드입니다. 그리고이 동적 할당은 객체를 만드는 동안 대부분의 시간에 필요합니다. 따라서이 방법은 다른 방법보다 더 자주 사용됩니다.

통사론 : ClassName ObjectName = 새로운 classConstructor ()



공용 클래스 ObjectCreation {String FirstString = 'Hello World'public static void main (String [] args) {ObjectCreation obj = new ObjectCreation () System.out.println (obj.FirstString)}}

산출- Hello World

Java에서 객체를 생성하는이 방법은 클래스에 1 개 이상의 클래스가있는 경우 필요한 클래스의 모든 생성자와 함께 사용할 수 있습니다. 건축업자 .

clone () 메서드를 사용하여 객체 만들기

만들려는 개체가 이미 존재하는 개체의 복사본이어야하는 경우 ? 이 경우 clone () 메서드를 사용할 수 있습니다. clone ()은 Object 클래스의 일부이지만 보호 된 메서드이므로 직접 사용할 수 없습니다.

clone () 메서드는 Cloneable 인터페이스를 구현하고 처리 한 후에 만 ​​사용할 수 있습니다.CloneNotSupportedException.

class Message는 Cloneable을 구현합니다. {String FirstString Message () {this.FirstString = 'Hello World'} public Object clone () throws CloneNotSupportedException {return super.clone ()}} public class ObjectCreation {public static void main (String [] args) throws CloneNotSupportedException {Message FirstObj = new Message () System.out.println (FirstObj.FirstString) Message SecondObj = (Message) FirstObj.clone () System.out.println (SecondObj.FirstString) SecondObj.FirstString = 'Welcome to the world of programming 'System.out.println (SecondObj.FirstString) System.out.println (FirstObj.FirstString)}}

산출-

Hello World

Hello World

프로그래밍의 세계에 오신 것을 환영합니다

Hello World

위의 프로그램에서 우리는 이미 존재하는 객체의 복사본을 만들었습니다. 둘 다 확인하려면 두 번째 개체의 'FirstString'값을 변경 한 다음 두 개체에 대한 값을 인쇄하는 것이 필수적이었습니다.

Class 클래스의 newInstance () 메서드를 사용하여 객체 생성

이 방법은 개체를 만드는 데 자주 사용되지 않습니다. 이 객체 생성 방법은 클래스 이름과 기본 생성자 본질적으로 공개됩니다. 이 방법을 사용하여 객체를 생성하려면 3 가지 예외를 처리해야합니다.

ClassNotFoundException- 이 예외는 JVM이 인수로 전달 된 클래스를 찾을 수없는 경우 발생합니다.

InstantiationException- 이 예외는 주어진 클래스에 기본 생성자가없는 경우 발생합니다.

IllegalAccessException- 이 예외는 지정된 항목에 대한 액세스 권한이없는 경우 발생합니다. 수업 .

이러한 예외 사항을 처리하면 바로 사용할 수 있습니다.

class ObjectCreation {String FirstString = 'Hello World'public static void main (String [] args) {try {Class Message = Class.forName ( 'ObjectCreation') ObjectCreation obj = (ObjectCreation) Message.newInstance () System.out.println (obj.FirstString)} catch (ClassNotFoundException e) {e.printStackTrace ()} catch (InstantiationException e) {e.printStackTrace ()} catch (IllegalAccessException e) {e.printStackTrace ()}}}

산출- Hello World

인터페이스와 클래스의 차이

역 직렬화를 사용하여 개체 만들기

Java에서 직렬화는 객체의 현재 상태를 바이트 스트림으로 변환하는 데 사용됩니다. 역 직렬화는 바이트 스트림을 사용하여 객체를 다시 만드는 것과 정반대입니다. 직렬화 프로세스를 위해 Serializable 인터페이스를 구현해야합니다. 이 메서드를 사용하여 객체를 생성하려면 예외 처리를 수행해야합니다.

ObjectInputStream objectInputStream = new ObjectInputStream (inputStream) 클래스 이름 객체 = (클래스 이름) objectInputStream.readObject ()

Constructor 클래스의 newInstance () 메서드를 사용하여 객체 생성

우리는 객체를 생성하는데 사용한 Class 클래스의 newInstance 메소드를 보았습니다. 마찬가지로 클래스 생성자는 객체를 만드는 데 사용할 수있는 newInstance () 메서드로도 구성됩니다. 다른 사람은이 메서드의 도움으로 기본 생성자를 호출 할 수도 있습니다. 매개 변수화 된 생성자 .

import java.lang.reflect. * public class ObjectCreation {private String FirstString = 'Hello World'ObjectCreation () {} public void changeMessage (String message) {this.FirstString = message} public static void main (String [] args) { try {생성자 생성자 = ObjectCreation.class.getDeclaredConstructor () ObjectCreation objectCreation = constructor.newInstance () objectCreation.changeMessage ( 'Welcome to the world of programming') System.out.println (objectCreation.FirstString)} catch (예외 e) { e.printStackTrace ()}}}

산출-

프로그래밍의 세계에 오신 것을 환영합니다

다음은 객체를 만드는 5 가지 방법입니다. 일부는 다른 것보다 더 자주 사용됩니다. 각 방법에는 고유 한 장단점이 있습니다. 결국 선택은 당신의 것입니다.

자바는 흥미로운 언어이지만 기본이 명확하지 않으면 까다로워집니다. 시작하려면 Java 기술과 관련된 모든 기술을 배우고 습득하십시오. 그리고 당신의 자바 개발자를 풀어보십시오.

질문이 있으십니까? 이 'Java의 객체'기사의 주석 섹션에서이를 언급 해 주시면 가능한 한 빨리 답변을 드리겠습니다.