[JAVA] 생성자와 함수의 차이

정은아·2022년 7월 17일
1
post-thumbnail

생성자는 뭐고 함수는 또 뭘까? 명칭이 너무 많다!

생성자란 객체가 만들어 질 떄 자동으로 호출되는 메소드이고
일반적인 메소드와 몇가지 차이점이 있습니다.

첫째는 생성자는 메소드의 반환 자료형을 표시하지 않습니다.
둘째는 생성자는 객체가 생성될 떄 자동으로 호출됩니다.
셋째는 생성자는 이름은 클래스의 이름과 같습니다.

이러한 생성자의 사용 용도는 객체의 초기화 과정을 처리하기 위함입니다.
생성자는 객체가 생성될 떄 한번만 수용하는 특수한 메소드 입니다.

생성자 호출은 new 키워드가 수행 되면서 호출합니다.
만약 클래스를 정의할 때 생성자를 만들지 않으면 객체 생송시
자바에서 자동으로 생성자를 만들어 줍니다.

일반적으로 클래스와 이름이 같으면 생성자, 다르면 함수라고 보면 편합니다.
예를 들어 보겠습니다.

class Overloading
{
public Overloading() {
}
//Method overloading
void display()
{
System.out.println("값 없음 !!!");
}

여기서 public Overloading은 생성자입니다. 클래스와 이름이 같기 때문입니다.

그렇다면 함수는 어떨까요? 예를 들어보겠습니다.

class StaticMethod
{
static int kor;
static int eng;
static int math;

static double average()
{
int total = kor + eng + math;

return(total / 3.0);
}
}

여기서 static double average()는 함수입니다.
클래스와 이름이 다르기 때문입니다. 간편하죠?

저는 생성자와 함수 구분이 어려워 이렇게 판단합니다. 감사합니다.

profile
꾸준함의 가치를 믿는 개발자

0개의 댓글