해결된 질문
작성
·
29
답변 2
0
생성자는 말 그대로 객체를 생성할 때 파라미터를 여러 개 넣거나 할 때 보조로 클래스에 있는 각 필드를 초기화해주는 메서드입니다.
메서드는 뭐든 할 수 있죠. 출력을 해도 되고, 다른 클래스에서 객체를 만들어도 되고... C언어에서 함수 개념이라서 개발자가 로직을 작성하면 작성하는 대로 다 할 수 있습니다.
그게 객체 안의 변수(혹은 공간)와 관련이 있으면 인스턴스 메서드가 되는 것이고, 앞에 static이 붙으면 클래스와 관련이 있는 정적 메서드가 되는 것입니다.
0
김춘수의 '꽃' 시 내용 중
내가 그의 이름을 불러주었을 때,
그는 나에게로 와서
꽃이 되었다
라는 부분이 있는 데.. 이름을 불러주었을 때는 생성자를 호출하였을 때
꽃이 되었다는 객체 인스턴스가 되었다와 같은 비슷한 의미로 봤을 때
생성자를 클래스 이름과 같은 이름으로 하는 것은 이름을 불러주는 new 연산자로 생성자를 호출하여 인스턴스를 생성하기 위한 역할을 하는 일종의 생성자 메서드(간혹 생성자도 메서드를 붙이는 경우 있습니다.)이고, 그냥 메서드라 부르는 것은 이런 객체를 기능, 동작 부여하고 제어하기 위한 역할을 하는 것이라 봅니다.
생성자와 메서드 차이는 생성자는 아예 반환 타입이 없습니다.
메서드는 반환 타입을 설정해야 합니다. 반환 값이 없으면 void 라도..
그리고 호출 시점도 다릅니다. 생성자는 객체 생성 시 단 한번 호출,
메서드는 객체가 생성되고 나서 필요할 때 마다 호출하여 실행합니다.