자바의 정석 - 기초편

생성자, 기본 생성자

ODaram 2022. 8. 8. 17:19

생성자 ( constructor)

 ( = iv 초기화 메서드)

 - 인스턴스가 생성될 때마다 호출되는 '인스턴스 (=객체) 초기화 메서드

                                                                   = iv 초기화

 

  - 이름이 클래스 이름과 같아야한다
     Class Card {   // 클래스 이름 = 생성자 이름

         ... 

         Card () {   // 매개변수 없는 생성자

                // 인스턴스 초기화 작업

          }                                                                                                       => 생성자 오버로딩 

          Card (String kind, int number) { // 매개변수 있는 생성자

                // 인스턴스 초기화 작업

           }

      }

  - 리턴값이 없다. (void  안 붙힘)     -> 반환값이 없기 때문에

  - 모든 클래스는 반드시 생성자를 가져야 한다. (1개 이상의 생성자)

 

기본 생성자 (default constructor)

  - 매개 변수가 없는 생성자

  - 생성자가 하나도 없을 때, 컴파일러가 자동 추가

     클래스이름 () {}   // 기본 생성자,    직접 작성해주어야함!

      Point() {}             // Point 클래스의 기본 생성자

 

 

매개변수가 있는 생성자

                              생성자를 만들었기 때문에 Car c = new Car("white", ... 와 같이 한 줄로 쓸 수 있음

                            

 

 

                                          1.  참조변수 생성

                                          2.  new 연산자가 객체를 생성함 (Class를 보고 적힌대로)

                                          3. 생성자 호출 하면서 객체를 초기화 함 (iv 초기화 : c.color , c.gearType ... )

                                          4. 객체와 참조변수 연결을 위해 대입 연산자가 객체의 주소를 저장함     
                                               객체의 주소는 new 연산자의 반환값임