생성자란 무엇인지 알아보자
안녕하세요.
고코더 입니다.
오늘은 생성자를 배워보려고 합니다. 이전에 new를 사용해서 생성자를 객체로 만드는 방법을 알아보았는데요. 오늘은 생성자가 무엇인지 자세히 알아보려고 합니다.
- 생성자는 객체로 생성 가능
- 기본 생성자는 자동으로 추가
- 생성자 이름은 클래스명과 같다.
- 리턴 값이 없다.
- 여러개의 생성자가 존재할 수 있다.
● 1. 생성자를 객체로
NEW라는 키워드를 사용해서 생성자를 객체로 만듭니다. 그래서 생성자를 생성한다고 하면 new 부터 나오는 메소드를 말합니다.
1 | GocoderClass gc= new GocoderClass(); | cs |
● 2. 기본 생성자는 자동으로 추가된다.
자바에서 클래스에서 직접 생성잘를 작성하지 않아도 컴파일러는 자동으로 생성자를 코드에 추가합니다. 그래서 클래스에서 직접 만들지 않아도 자바에서 알아서 코드를 작성합니다.
1 2 3 | public class GocoderClass { // public GocoderClass() {} //만약 기본 생성자를 생성하지 않으면 컴파일러가 자동으로 생성 } | cs |
● 3. 생성자는 클래스 이름과 같다.
생성자는 클래스 이름과 같아야 합니다. 이유는 자바가 그렇게 정의했기 때문입니다. 그렇기 때문에 다른 컴파일 언어보다. 조금 더 쉽다고 할 수 있습니다.
1 2 3 4 5 | public class GocoderClass { // 클래스명 public GocoderClass() {} } GocoderClass gc= new GocoderClass(); // 기본 생성자 명은 같다. | cs |
● 4. 리턴 값이 없다.
생성자와 메소드의 가장 큰 차이로는 이 리턴 값이 없다는 것입니다. 리턴이 있으면 보통 메소드로 구분합니다. 메소드명이 클래스명과 동일하고 리턴 자료형 없다는 생성자입니다.
1 2 3 4 | public class GocoderClass { public GocoderClass() {} // return? // 리턴이 없어야 한다. } | cs |
● 5. 여러개의 생성자가 존재한다.
매개변수에 따라서 여러개의 생성자가 생겨 날 수 있습니다. 생성자를 오버로딩 해서 사용할 수 있습니다. 이를 통해 기본 생성자 이외에 여러 생성자를 생성할 수 있습니다.
1 2 3 4 5 6 7 | public class GocoderClass { // 클래스명 public GocoderClass() {} public GocoderClass(int a, string b) {} } GocoderClass gc= new GocoderClass(); // 기본 생성자 명은 같다. GocoderClass gc2= new GocoderClass(1,"b"); // 기본 생성자 명은 같다 | cs |
마무리
생성자 이해가 되죠?
'IT_Developers > JAVA' 카테고리의 다른 글
JAVA - 스태틱(Static) 이란? / 예제소스 (0) | 2020.03.16 |
---|---|
JAVA - 클래스(Class)란? / 예제소스 / 비유 (0) | 2020.03.16 |
JAVA 메모리 - 스태틱(static), 스택(stack), 힙(heap) 이란? (1) | 2020.03.14 |
JAVA - new 생성자란? / 인스턴스 생성 (0) | 2020.03.14 |
JAVA 기본 접근제어자 - private 이란 / 접근 권한 / 예제 (0) | 2020.03.13 |
댓글