seong

21 생성자,디폴트 생성자 본문

자바/자바 실습

21 생성자,디폴트 생성자

hyeonseong 2022. 8. 2. 16:11

생성자란?

  • 클래스 안에 선언되어 객체가 생성될 때 필드에 초기값을 제공하고 필요한 초기화 절차를 실행 하는것이다.

특징

  • 생성자의 이름 앞에 반드시 public가 존재 해야한다.
  • 하나의 클래스 안에 생성자를 여러번 중복이 가능하다.

소스코드를 보면서 이해하는게 훨씬 이해가 잘된다.

  1. Car라는 객체를 생성 하고
  2. 필드에 color, speed, gear를 선언해주었다.
  3. 생성자 하나를 만들고 매개 변수로 color,speed,gear를 생성 해주었다.
  4. main에서 heap메모리에 car의 메모리 공간을 할당해준다. => Car car = new Car("red",10,2)
  5. 생성자의 매개 변수에 red, 10, 2가 할당된 후 필드에 초기화 시켜준다.
this.color는 필드에 있는 private String color를 가르킨다.

1.생성자 자동 생성하는 방법

  • 빨간 박스 친 부분을 자동으로 생성 해볼 것이다. 
  • 먼저 빨간 부분을 모두 지워준다.

2. 코드가 없는 줄에 오른쪽 마우스 클릭 -> Source -> Constructor using Fields 클릭

3.체크 박스 체크 후  Generate

4. 생성자 자동 생성됨.

자동 생성은 굉장히 편리 하다. 

그래도 지금은 원리가 어떻게 되는지, 공부 해야하니까.. 이후에 적응이 되면 사용하자

 

디폴트 생성자(default constructor)

  • 클래스 내에서 생성자가 하나도 없을 경우 컴파일러가 자동적으로 빈 생성자를 만든다 이러한 것을 디폴트 생성자 라고한다.

아래의 코드는 생성자가 하나도 없기 때문에 컴파일러가 임의로 디폴트 생성자를 만들어준다.

 

매개변수가 있는 생성자를 한개 만들었지만, main부분은 인자가 비어있는 디폴트 생성자의 객체를 생성했다.

디폴트 생성자는 정의 하지 않은 상태에서 디폴트 생성자의 객체를 생성하면 오류가 난다.

 

생성자를 만들어 주고 main에서 객체 인자를 제대로 받은경우

이 코드에서 //디폴트 생성자 생성 은 무시 ,,, 지우지 않고 캡쳐 해버렸다

 

'자바 > 자바 실습' 카테고리의 다른 글

23 다형성, 상속  (0) 2022.08.08
22 메소드 (Method)  (0) 2022.08.03
PowerJAVA - CHAPTER06 PROGRAMMING 1~4번  (0) 2022.08.01
20 버블(Bubble)정렬  (0) 2022.08.01
19 객체 지향,절차지향  (0) 2022.08.01