강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

dhkdxo12님의 프로필 이미지
dhkdxo12

작성한 질문수

(2025) 일주일만에 합격하는 정보처리기사 실기

정적 변수, 정적 메서드 (static) v2

생성자와 메서드

해결된 질문

작성

·

29

0

정적 변수, 정적 메서드(static) v2

14:03

지금까지 자바 강의 들으면서 솔직히 잘 이해가 되지 않는 용어가 있는데

클래스 내에 생성자와 메서드가 있는 것은 이해가 되는데 구체적으로 생성자(클래스 네임과 같은 거), 메서드(클래스 네임과 다른거) 이렇게 이해하고 있습니다.

역할적으로 클래스 내에서 생성자와 메서드 기능 차이가 뭔지 궁금합니다.

답변 2

0

주말코딩님의 프로필 이미지
주말코딩
지식공유자

생성자는 말 그대로 객체를 생성할 때 파라미터를 여러 개 넣거나 할 때 보조로 클래스에 있는 각 필드를 초기화해주는 메서드입니다.

 

메서드는 뭐든 할 수 있죠. 출력을 해도 되고, 다른 클래스에서 객체를 만들어도 되고... C언어에서 함수 개념이라서 개발자가 로직을 작성하면 작성하는 대로 다 할 수 있습니다.

 

그게 객체 안의 변수(혹은 공간)와 관련이 있으면 인스턴스 메서드가 되는 것이고, 앞에 static이 붙으면 클래스와 관련이 있는 정적 메서드가 되는 것입니다.

0

김춘수의 '꽃' 시 내용 중

내가 그의 이름을 불러주었을 때,

그는 나에게로 와서

꽃이 되었다

라는 부분이 있는 데.. 이름을 불러주었을 때는 생성자를 호출하였을 때

꽃이 되었다는 객체 인스턴스가 되었다와 같은 비슷한 의미로 봤을 때

생성자를 클래스 이름과 같은 이름으로 하는 것은 이름을 불러주는 new 연산자로 생성자를 호출하여 인스턴스를 생성하기 위한 역할을 하는 일종의 생성자 메서드(간혹 생성자도 메서드를 붙이는 경우 있습니다.)이고, 그냥 메서드라 부르는 것은 이런 객체를 기능, 동작 부여하고 제어하기 위한 역할을 하는 것이라 봅니다.

생성자와 메서드 차이는 생성자는 아예 반환 타입이 없습니다.

메서드는 반환 타입을 설정해야 합니다. 반환 값이 없으면 void 라도..

그리고 호출 시점도 다릅니다. 생성자는 객체 생성 시 단 한번 호출,

메서드는 객체가 생성되고 나서 필요할 때 마다 호출하여 실행합니다.


dhkdxo12님의 프로필 이미지
dhkdxo12

작성한 질문수

질문하기