-
package Example2;
public class Book {
String title;
int price;
int number;
// 클래스 명을 Book으로 하고 멤버 변수를 선언한다,
public Book(String title, int price, int number){
this.title = title;
this.price = price;
this.number = number;
}
// 사용자 정의 생성자를 만들어서 매개변수에 넣는다. 이미 직접 생성자를 만들었기에 자동으로 디폴트 생성자가 생성되지 않고 만약 필요할 경우 직접 디폴트 생성자를 만들어줘야한다 . //
public Book(Book copy) {
title = copy.title;
price = copy.price;
number = copy.number;
}
// 복제 생성자를 만들어서 copy. 멤버변수로 입력한다. //
public void print() {
System.out.println("책 이름: " + title);
System.out.println("책 가격: " + price);
System.out.println("책 번호: " + number);
}
public class MyBook {
public static void main(Stirng[] args) {
Book bookA = new Book ("수학익힘책", 20000);
bookA.print();
Book bookB = new Book(bookA);
// 복제 생성자는 new 생성자의 매개변수에 넣어서 복제를 한다.//
bookB.title = "수학 익힘책 고난이도";
bookB.print();
}
}
}
즉, 복제 생성자를 사용하여 매개변수에 다른 생성자를 넣어서 copy.멤버변수로 값을 복제하여 쉽게 print할 수 있다.
'자바 > 자바 키포인트' 카테고리의 다른 글
[자바] instanceof 다운캐스팅의 정의와 하위 클래스의 메서드를 사용하는 간단한 예시 (0) 2022.11.20 [자바] 상위 클래스의 생성자를 호출하는 super() 메서드 연습하기 (0) 2022.11.20 [자바] 스트림과 자바의 입출력에 대한 개념과 기본용어 정리하기 (0) 2022.11.20 [자바] 예외처리 구문에서 throws문 개념 정리하기 (0) 2022.11.17 [자바] 예외 처리 방법에 대한 try-catch문의 개념과 다양한 부가 문법 정리하기 (0) 2022.11.17 댓글