인스턴스화 Java 프로그래밍의 보편적이고 간단한 개념을 정의하고 새로운 인스턴스를 생성하는 엄청난 단어입니다. 사물 프로그램에서 사용됩니다. 이 섹션에서는 다음 내용을 논의하겠습니다. Java의 인스턴스화란 무엇이며, 클래스를 인스턴스화하는 방법은 무엇입니까? 그리고 클래스의 인스턴스나 객체를 생성하는 방법은 무엇입니까?
인스턴스화
~ 안에 자바 , 인스턴스화 전화를 하라는 뜻이다. 건설자 생성하는 클래스의 사례 또는 물체 해당 클래스의 유형입니다. 즉, 클래스의 객체를 생성하는 것을 호출합니다. 인스턴스화 . 객체의 초기 메모리를 차지하고 참조를 반환합니다. Java의 객체 인스턴스화는 클래스에 대한 청사진을 제공합니다.
객체란 무엇입니까?
- 런타임 엔터티입니다.
- 여기에는 수업의 청사진이 포함되어 있습니다.
- 우리는 클래스의 객체를 얼마든지 생성할 수 있습니다.
- 다음과 같은 사용자 정의 데이터를 나타낼 수 있습니다. 벡터 , 목록 등
인스턴스화 구문
ClassName objName = new ClassName();
또는
ClassName cn; cn= new ClassName;
위의 내용을 예를 통해 이해해 보겠습니다.
인스턴스 생성
인스턴스를 만드는 방법에는 두 가지가 있습니다.
- 사용하여 새로운 예어
- 사용 정적 팩토리 메소드
새 키워드 사용
자바는 새로운 예어 클래스를 인스턴스화합니다.
참조 정의
//defines a reference (variable) that can hold an object of the DemoClass DemoClass dc;
인스턴스화
내 모니터 크기 어떻게 알아?
DemoClass dc = new DemoClass(); //instantiation
참조 변수를 정의하면 다음과 같이 위 클래스를 인스턴스화할 수도 있습니다.
//creates a DemoClass object (instantiate) //new keyword allocates memory space for the newly created object dc = new DemoClass();
우리는 새로운 키워드 뒤에 클래스 이름이 오면 해당 클래스의 인스턴스나 객체가 생성됩니다. 생성자 만들기 클래스의 이름은 다음과 같습니다. 인스턴스화 .
참고: 로컬 내부 클래스의 메서드를 호출하려면 해당 클래스를 인스턴스화해야 합니다.
정적 팩토리 방법 사용
클래스를 인스턴스화하는 또 다른 방법은 공전 팩토리 메소드 . 클래스는 다음을 반환하는 정적 메서드일 뿐인 공용 정적 팩토리 메서드를 제공할 수 있습니다. 사례 수업의. 항상 같은 것이 아니라는 점을 기억하세요. 팩토리 메소드 패턴 .
생성자 대신 사용할 수 있습니다. 생성자 대신 정적 팩터리 메서드를 제공하면 장단점이 있습니다. 그만큼 첫 번째 장점은 생성자와 달리 정적 팩터리 메서드에도 이름이 있다는 것입니다. 그만큼 두번째 장점은 생성자와 달리 호출될 때마다 새 개체를 만들 필요가 없다는 것입니다. 그만큼 제삼 장점은 생성자와 달리 반환 유형의 모든 하위 유형 객체를 반환할 수 있다는 것입니다. 그만큼 네번째 장점은 매개변수화된 유형 인스턴스 생성의 장황함을 줄여준다는 것입니다.
단점은 정적 팩터리 메서드만 제공하면 공용 생성자나 보호 생성자가 없는 클래스를 하위 클래스로 분류할 수 없다는 것입니다. 또 다른 단점은 다른 정적 메서드와 쉽게 구별할 수 없다는 것입니다.
정적 팩토리 메소드의 예를 살펴보겠습니다.
public final class Furniture { //.. private int price; private String description; private Furniture (int price, String description) { this.price = price; this.description = description; } public static Furniture getNewFurniture (int price, String description) { return new Furniture (price, description); } //.. }
마음속에 떠오르는 몇 가지 중요한 질문을 살펴보겠습니다.
추상 클래스를 인스턴스화할 수 있나요?
아니요, 인스턴스화할 수 없습니다. 추상 수업 . 그러나 하위 분류가 가능합니다. 추상 클래스가 하위 클래스로 분류되면 일반적으로 모든 추상 클래스에 대한 구현을 제공합니다. 행동 양식 부모 클래스에서.
인스턴스화와 초기화의 차이점은 무엇입니까?
인스턴스화와 초기화는 Java 프로그래밍에서 완전히 다른 개념입니다.
자바의 링크리스트
초기화: 변수에 값을 할당하는 것을 호출합니다. 초기화 . 예를 들어, 비용 = 100 . 가변비용의 초기값을 100으로 설정합니다.
인스턴스화: new 키워드를 사용하여 객체를 생성하는 것을 인스턴스화라고 합니다. 예를 들어, 자동차 ca = 새 자동차(). Car 클래스의 인스턴스를 생성합니다.