# 생성자란
무엇인가요?
sehongpark님의 답변
## 답변
생성자란, 클래스로부터 **인스턴스**를 **생성**하는 **메소드**입니다.
## 생성자의 역할
생성자는 크게 2가지의 역할을 수행합니다.
1. **인스턴스 생성**
2. 인스턴스의 **필드 초기화**
## 생성자와 메소드의 차이
생성자의 구조는 메소드와 같지만, 아래와 같은 차이가 있습니다.
- 반환 타입 없음
- 클래스와 같은 이름을 지님
## 코드 예
```
public class Main {
public static void main(String[] args) {
/* 생성자A 호출 -> Pizza{name: null, price: 0} 생성 */
Pizza p1 = new Pizza();
/* 생성자B 호출 -> Pizza{name: "페퍼로니피자", price: 9900} 생성 및 필드 초기화 */
Pizza p2 = new Pizza("페퍼로니피자", 9900);
}
}
class Pizza {
String name;
int price;
/* 생성자 A */
Pizza() {
}
/* 생성자 B */
Pizza(String s, int i) {
name = s;
price = i;
}
}
```
## 참고자료
---
1. https://goo.gl/1iwJ7F