-
[자바] 생성자의 개념과 생성자를 사용하는 이유안드로이드 스튜디오/JAVA 자바 2022. 10. 3. 22:29
생성자에 대한 개념을 정리하고자 합니다.
생성자는 기본으로 생성되는 기본 생성자가 있으며, 생성자를 선언하지 않을 경우, 이 생성자가 사용될 수 있습니다.
우리가 생성자를 사용하는 이유는 생성자를 통해 코드를 간결하고 쉽게 표현할 수 있기 때문입니다.
Date date = new Date(); 을 통해 date를 선언한 수 있으며, 이는 new Date()까지 와야 선언이 끝납니다. 이걸 초기화라고 할 수 있습니다. 인스턴스의 초기화가 되는 것인데요. 클래스를 클래스 안에 선언함으로써 인스턴스화라고 볼 수 있습니다.
아직까지도 이 인스턴스화와 초기화, 객체 생성, 변수 등의 개념들이 헷갈리지만 점차 정리되고 있는 느낌입니다. (???)
다시 생성자로 돌아가서 생성자는 기존 클래스의 이름과 동일해야하며, 참조변수 값들을 넣어줄 수 있습니다.
public Date() {
this.year = year;
this.month = month;
}
등의 생성자를 생성할 수 있으며 이는 다른 클래스에서 인스턴스화를 하게되면,
Date date = new Date(); -> 소괄호 안에, year, month의 값이 들어가 하는 것입니다. 그렇다면 생성자가 생성된 클래스를 통쨰로 확인해야 합니다. 그럼 멤버변수와 함께 클래스 이름까지 확인할 수 있습니다.
public class Date() {
int year;
int month;
public Date() {
this.year = year;
this.month = month;
}
// 생성자 부분.
}
그렇다면 위의 객체생성으로 다시 돌아가보면, 인스턴스화를 시킨다면 Date() 소괄호 안에, int year + int month 를 뜻하는 변수타입을 int 로 가지는 값을 넣어줘야 합니다. 예를 들어서, Date date = new Date(); 에서 Date date = new Date(2022, 10); 으로 해줘야 합니다. 그렇지 않으면
Date date = new Date();
date.month = 10;
date.year = 2022;
등등의 값들을 하나씩 입력해줘야합니다. 물론 사용하고자 하는 -> 즉 인스턴스화 시킨 혹은 객체를 생성한 클래스마다 전부 new Date()로 도배한다음 값들을 하나씩 입력해줘야합니다.
현재까지 이해한 내용은 여기까지 입니다. Constructor 지끈지끈합니다.
반응형'안드로이드 스튜디오 > JAVA 자바' 카테고리의 다른 글
채팅 시스템 개요 (2) 2023.05.03 AWS EC2의 Mysql과 인텔리제이 JDBC 라이브러리 (0) 2023.05.02 안드로이드 LayoutInflater (0) 2021.12.13 카멜 케이스 파스칼 케이스 (0) 2021.12.12 자바 변수와 데이터(1) (0) 2021.12.06