오늘도 역시 강의 따라 치다가 에러가 나서 개념을 정리해 봅니다.
참 자바는 정리할것들이 많네요.
생성자란
자바 클래스를 보다가 보면 클래스 이름과 메소드의 이름이 동일한 것을 볼 수 있습니다.
public class Article {
// 기본 생성자
public Article() {
// 생성자의 내용을 필요에 맞게 초기화하거나 빈 상태로 둘 수 있습니다.
}
// 기타 멤버 변수와 메서드들...
}
이게 생성자입니다.
특징
- 클래스명과 메서드명이 같다.
- 리턴 타입을 정의하지 않는다(void도 사용하지 않는다.).
인스턴스를 생성할때 new 클래스명 으로 만들잖아요. 이때 호출 되는 것이 생성자 입니다.
Article article = new Article();
초기화
객체 생성 후 객체의 초기화를 하는 역할 수행 - 객체를 생성함과 동시에 기억공간이 만들어졌으니 데이터를 저장할수있다. 저장하는 행위를 초기화(initialize)라고 한다.
public class BookVO {
private String title;
private int price;
private String company;
private int page;
//초기화
public BookVO(String title, int price, String company, int page){
this.title = title;
this.price = price;
this.company = company;
this.page = page
}
}
BookVO b = new BookVO("자바", 17000, "Kyu", 530); // 초기값
기타
생성자는 평소에는 작성을 안해도 문제가 없지만
@Entity // public or protected 생성자가 반드시 필요하다
public class Article {
protected Article() {
}
}
@Entity 애노테이션처럼 특정 상황에서는 public or protected 생성자가 있어야 한다.
에러: Class 'Article' should have [public, protected] no-arg constructor
Reference
'java > 공부' 카테고리의 다른 글
java Pattern Matching (0) | 2023.08.03 |
---|---|
Java Map이란(Hash Map) (0) | 2023.07.27 |
[java/자바] Set - HashSet (0) | 2023.07.26 |
java에서 List와 ArrayList 차이점 (0) | 2023.07.19 |
java void란? (0) | 2023.07.16 |