EEALL@ONCE
☕ 생성자 본문
728x90
생성자(constructor)는 객체 지향 프로그래밍 언어에서 클래스의 인스턴스를 초기화하는 특별한 종류의 메소드입니다. 생성자는 클래스의 인스턴스가 생성될 때 자동으로 호출되며, 주로 다음의 목적으로 사용됩니다:
- 인스턴스 초기화: 객체가 생성될 때 필드 값을 초기화하는 데 사용됩니다. 이것은 객체의 상태를 설정하고, 필수 인스턴스 변수를 초기화하는 역할을 합니다.
- 매개변수 전달: 생성자는 호출될 때 매개변수를 전달받아 객체를 원하는 상태로 설정할 수 있습니다. 이를 통해 객체의 속성을 외부에서 지정할 수 있습니다.
- 오브젝트 초기화 로직 수행: 객체가 생성될 때 특정한 초기화 로직을 실행할 수 있습니다. 예를 들어, 파일을 열거나 네트워크 연결을 설정하는 등의 작업을 수행할 수 있습니다.
Java에서 생성자는 다음과 같이 선언됩니다:
public class MyClass {
// 기본 생성자 (파라미터 없는 생성자)
public MyClass() {
// 초기화 로직을 여기에 작성
}
// 매개변수를 받는 생성자
public MyClass(int parameter1, String parameter2) {
// 초기화 로직을 수행하고 매개변수로 전달받은 값을 필드에 할당
}
}
기본 생성자는 클래스가 아무 생성자를 정의하지 않았을 때 자동으로 생성되며, 매개변수를 받는 생성자는 클래스 작성자가 직접 정의해야 합니다.
예제 코드를 보겠습니다.
package Constructor;
public class EeACmpny {
int no;
String name;
// ⭐ 생성자(constructor) : 인스턴스를 만드는 메소드
// ⭐ this : 생성될 인스턴스를 가리킴
public EeACmpny(int no, String name) {
this.no = no;
this.name = name;
}
// `this` - 만들어질 인스턴스를 가리킴
//- 메소드 내에서 같은 이름의 변수나 인자가 없다면 식별자는 `this` 의 필드를 가리킴
//- 같은 이름의 변수나 인자가 있다면 덮어씌워짐
//- 자동생성
// - 윈도우: `alt` + `insert`
// - 맥: `command` + `N`
String intro(){
EeACmpny thisStore =this;
return "%d호 %s 점입니다.".formatted(no,name);
}
//String intro(): 이 메소드는 no와 name 필드의 값을 문자열로 반환합니다.
// %d호 %s 점입니다. 문자열에 no와 name 값을 포맷하여 반환합니다.
}
package Constructor;
public class Main {
public static void main(String[] args) {
EeACmpny store1 = new EeACmpny(1,"뉴욕");
int storeNo = store1.no;
String store1Name = store1.name;
String store1Intro =store1.intro();
}
}
728x90
'언어💻 > 자바☕' 카테고리의 다른 글
☕ FUNCTIONAL INTERFACE : @FunctionalInterface (0) | 2023.11.20 |
---|---|
☕ final 클래스 / 메소드 / 필드 (0) | 2023.11.14 |
☕ formatted : 포멧함수 (0) | 2023.10.27 |
☕ 클레스를 다른 클레스에서 받아서 사용하기 (2) | 2023.10.24 |
☕참조형(Reference Type)이 뭘까? (0) | 2023.10.17 |