생성자(Constructor)란?
자바의 객체 지향 프로그래밍에서 클래스의 생성자는 객체 생성 시 제일 먼저 호출되는 특수한 메서드입니다. 객체가 고유한 상태를 초기화하고 정상적인 작업을 수행항 수 있게 준비하는 매우 중요한 역할을 수행합니다. 생성자는 클래스로부터 객체를 생성할 때 new 연산자와 함께 호출되어 객체의 필드를 초기화하고, 메서드를 호출해 객체를 사용할 준비를 하는 특별한 블록입니다.
생성자는 왜 필요한가?
객체의 상태는 필드(변수)에 의해 결정됩니다. 필드에 특정 값을 설정함으로써 객체마다 다른 상태를 지닐 수 있습니다. 클래스 설계상에 초기값을 설정해주지 않으면, 모든 객체가 동일한 데이터를 갖게 될 위험이 있습니다. 따라서 생성 시점부터 원하는 초기값을 객체에 설정할 수 있도록 생성자가 필요합니다.
생성자의 사용법
아래의 예제는 Book 클래스에 대한 기본 생성자와 매개변수가 있는 생성자를 정의하고 있습니다.
public class Book{
private String title;
private String author;
private int pages;
//기본 생성자
public Book(){
this,title = "Unknown";
this.author = "Unknown";
this.pages = 0;
}
//매개변수가 있는 생성자
public Book(String title, String author, int pages){
this.title = title;
this.author = author;
this.pages = pages;
}
}
기본 생성자와, 매개변수가 있는 생성자의 호출 방법입니다.
//기본 생성자 호출
Book myBook = new Book():
//매개변수가 있는 생성자 호출
Book myBook = new Book("titleA", "authorB", 12);
생성자의 특징
명시 규칙. : 클래스 이름과 동일하게 하며, 리턴 타입이 없습니다. 즉, void를 사용하지 않습니다.
자동 호출 : 객체 생성 시 new 키워드로 생성자를 명시적으로 호출하지 않아도 자동으로 호출됩니다.
기본 생성자 : 사용자가 선언하지 않아도 자동으로 제공되는 생성자로, 특별한 초기화 없이 객체를 생성할 때 사용합니다.
오버로딩 : 매개변수를 다르게 하여 여러 생성자를 제공함으로써, 다양한 방법으로 객체를 초기화할 수 있게 합니다.
생성자의 종류
기본 생성자(Default Constructor) : 매배변수가 없으며, 특별한 데이터를 초기화하지 않을 경우 사용합니다.
매개변수가 있는 생성자(Paraneterized Constructor) : 객체를 생성함과 동시에 특정 값으로 초기화하고 싶을 때 사용합니다.
복사 생성자(Copy Constructor) : 다른 객체의 상태를 복사하여 새 객체를 초기화할 때 사용합니다.
자바 클래스의 생성자는 객체 지향의 근본적인 개념 중 하나이며, 객체 생성과 초기화의 역할을 담당합니다. 이해하고 올바르게 사용하는 것은 객체 지향 프로그래밍에 있어 매우 중요합니다.
'Web Programing > JAVA' 카테고리의 다른 글
서블릿에서 JSP로 데이터 넘기기 전달 받기 사용 request (0) | 2024.02.27 |
---|---|
자바 배열(Array) 선언 초기화 속성 방법 (0) | 2024.02.26 |
NullPointerException 원인 해결하기 (0) | 2024.02.24 |
오버로딩과 오버라이딩 차이 쉽게 이해하기 (0) | 2024.02.23 |
자바 상속(Inheritance)이란? 부모클래스 자식클래스 개념과 예시 (0) | 2024.02.22 |