JAVA/★객체지향

초기화와 생성자

SEOKIHOUSE 2023. 3. 10. 15:58

생성자: 클래스가 생성될 때 같은 이름 생성자가 먼저 실행되도록 약속 ->가장먼저 해야할 작업(초기화작업)

생성자가 없다면 클래스와 같은 이름의 메서드(내부적으로 calculator라는)를 자동으로 만들어줌

 

calculator라는 메서드가 존재하지 않음 ->자바가 자동으로 만들어줌(calculator 인스턴스가 매개변수가 없을 경우에만)

Calculator c1 = New Calculator(); ----> 자동으로 만들어줌

Calculator c1 = New Calculator(10,20); ----> 자동으로 생성자를 안만들어줌 -매개변수때문에 다른곳에서

                                                                       동작하려면 기본 형식인 public Calculator()  {} 가 있어야한다 

잉? 그럼 왜 여기선??

----->여기서 없어도 동작하는 이유는 이 파일내에서만 동작하도록 했기 때문에(제일 위의 스샷참고)

      ---->extend 쓰거나 다른 파일에서 쓰려면 기본 형식이 있어야한당

       --->상속받을 때 calculator의 기본생성자를 받아야하는데 명시적(매개변수)으로 만들어놔서 기본생성자를 만들어야함