# 생성자란
무엇인가요?
      
      
      
      
    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