반응형
Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
Tags
- Java
- vscode
- html
- 인텔리제이
- date
- input
- list
- 자바스크립트
- CSS
- Eclipse
- math
- HashMap
- Visual Studio Code
- json
- replace
- string
- IntelliJ
- js
- 문자열
- CMD
- Array
- 자바
- 배열
- 정규식
- table
- 이클립스
- 이탈리아
- javascript
- map
- ArrayList
Archives
- Today
- Total
어제 오늘 내일
[Java] 생성자(Constructor)란? 본문
Java에서 객체를 만들 때 가장 먼저 실행되는 것이 생성자(Constructor)입니다. 생성자는 객체의 초기 상태를 설정하는 특별한 메서드로, 클래스와 동일한 이름을 가지고 있으며 반환 타입이 없습니다. 이 글에서는 생성자의 기본 개념과 사용법을 간단하게 정리합니다.
1. 생성자(Constructor)의 기본 개념
생성자는 객체가 생성될 때 자동으로 호출되는 초기화 메서드입니다.
클래스 이름과 동일한 이름을 사용하며, 반환 타입을 명시하지 않는다는 점이 일반 메서드와의 가장 큰 차이입니다.
예제:
public class Person {
String name;
public Person() {
System.out.println("생성자가 호출되었습니다!");
}
}
설명
- Person()이 생성자
- 객체를 만들 때 자동으로 실행됨
2. 기본 생성자(Default Constructor)
클래스 내부에 생성자를 따로 정의하지 않으면, Java는 자동으로 “매개변수가 없는 기본 생성자”를 만들어 줍니다.
public class Car {
// 생성자를 작성하지 않아도 자동으로 기본 생성자가 제공됨
}
사용 예:
Car car = new Car(); // 기본 생성자 호출
3. 매개변수가 있는 생성자(Parameterized Constructor)
객체 생성과 동시에 값을 초기화하고 싶다면 매개변수가 있는 생성자를 정의할 수 있습니다.
public class Person {
String name;
public Person(String name) {
this.name = name;
}
}
Person p = new Person("Tom");
설명
- 생성자에 값을 전달하여 객체의 초기 상태를 지정할 수 있음
4. 생성자를 여러 개 만들 수 있다 (오버로딩)
같은 이름(클래스 이름)이지만 매개변수가 다른 생성자를 여러 개 정의할 수 있습니다. 이를 생성자 오버로딩이라고 합니다.
public class Person {
String name;
int age;
public Person() {
}
public Person(String name) {
this.name = name;
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
설명
- 상황에 따라 다양한 형태로 객체를 생성할 수 있음
5. 생성자에서 다른 생성자를 호출 (this())
생성자 내부에서 this()를 사용하면 같은 클래스의 다른 생성자를 호출할 수 있습니다.
public class Person {
String name;
int age;
public Person() {
this("Unknown", 0); // 다른 생성자 호출
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
설명
- 중복 코드를 줄이고 일관된 초기화를 할 수 있음
6. 생성자를 사용하는 이유
- 객체의 초기 상태를 설정할 수 있음
- 필수 값을 전달하도록 강제할 수 있음
- 초기화 로직을 명확하게 구성할 수 있음
생성자를 이해하면 객체 지향 프로그래밍에서 클래스를 더욱 정확하고 안정적으로 설계할 수 있습니다.
반응형
'IT > Java' 카테고리의 다른 글
| [Java] 생성자 오버로딩 (Constructor Overloading) (1) | 2025.12.16 |
|---|---|
| [Java] 자바 new 없이 객체 생성 (0) | 2025.12.15 |
| Java `new` 연산자 이해하기: 객체 생성의 기본 사용법 (0) | 2025.12.15 |
| [Java Math] hypot() 메소드 – 직각삼각형의 빗변 계산 (0) | 2025.12.14 |
| [Java Math] toDegrees(), toRadians() – 각도 변환하기 (0) | 2025.12.14 |
Comments
