혹시 영상을 보고도 이해가 안되시는 분은 velog.io/@lshjh4848/%ED%81%B4%EB%9E%98%EC%8A%A4%EC%99%80-%EC%83%9D%EC%84%B1%EC%9E%90 여기를 참고해 보세요. 저도 여기 안내보고 확실히 이해했어요. 알고보니 사실 우리가 처음에 배웠던 내용이더라구요~
클래스와 이름이 동일한 매쏘드를 만들면 다른 매쏘드보다 먼저 로직이 실행되어 초기화작업이 된다. 인스턴스를 생성할때 new 한건 사실 클래스가 아니라 생성자다. 클래쓰가 있으면 생성자는 똑같은 이름의 매써드를 만들고 똑같은 이름의 매써드를 사용자가 이미 만들었다면 그걸 실행시킨다.
public Calculator는 생성자로 클래스를 객체화할 때 호출됩니다. public static Calculator는 정적 생성자를 말하시는 것 같은데 정적 생성자는 public과 같은 접근 한정자를 사용하지 않는 것으로 알고 있습니다. 정적 생성자는 첫 번째 인스턴스가 만들어지거나 정적 멤버가 참조되기 전에 자동으로 호출됩니다. 정적 생성자는 제가 평소에 써본 적이 없어서 자세한 설명은 못 드리겠습니다. public void Calculator는 외부에서 접근 가능한 메소드입니다. 하지만 Calculator라는 클래스 안에 동일한 이름의 메소드를 작성할 수 없는 것으로 알고 있습니다. 클래스와 동일한 이름의 메소드를 작성하려면 public Calculator로 작성하시면 생성자로 객체가 만들어질 때 메소드와 같은 기능을 할 수 있습니다.