프로그래밍/Java / / 2022. 8. 28. 16:13

[자바 - Java] 생성자 (오버로딩-overloading, 오버라이딩-overriding)

이번엔 메모리 다음으로 생성자에 대해서 알아봅시다 :)


1. 생성자(Constructor)

 

1) 객체를 생성할 때만 호출하는 특수한 메서드이다.

2) new 연산자가 객체의 생성자를 이용하여 객체를 생성해준다.

3) 생성자명은 클래스 명하고 똑같다.

4) 메서드이지만 반환형이 없는 형태이다.

5) 클래스를 정의할 때 생성자를 기술하지 않으면 매개변수가 없는 생성자가 자동으로 만들어진다. 그리고 디폴트 생성자라고 한다.

6) 객체가 생성될 때 변수나 상수를 초기화하거나 다른 초기화 기능을 수행하는 메서드를 호출한다.

7) 대부분의 생성자는 외부에서 접근 가능하지만, 필요에 의해 private으로 선언되는 경우도 있다.

 


2. 기본 생성자 (default constructor)

 

1) 생성자명은 클래스명하고 같다.

2) 메서드이지만 반환형이 없다.

3) 매개변수가 없다.

4) 특별히 수행하는 기능 없다. 구현부가 없다.

5) 프로그래머가 굳이 정의하지 않아도 컴파일러가 클래스명만 보고 자동으로 만들어줄 수 있다.

6) 클래스에는 반드시 적어도 하나 이상의 생성자가 존재해야 한다.

7) 클래스에 생성자를 구현하지 않아도 new 키워드와 함께 생성자를 호출할 수 있다.


 

3. 생성자 만들기

 

컴파일러가 제공해 주는 기본 생성자 외에 필요에 의해서 생성자를 직접 구현할 수 있다.


 

4. 여러 가지 생성자를 정의 : 생성자 오버 로딩(overloading)

 

1) 생성자를 호출하는 코드에서 여러 생성자 중 필요에 따라 호출해서 사용할 수 있음.

2) 오버로딩 -  new : 새로운 메서드라고 생각하면 된다.

3) 매개변수 개수나 자료형은 다르다.

4) 메서드명은 같다.

5) 리턴 타입과 변수명은 상관없다.

6) 하나의 클래스 내에 매개변수 개수나 자료형이 다른 동일한 이름의 메서드를 여러 개 정의하는 것이다.

7) 기능적으로 보면 동일하거나 유사한 일을 수행하는 메서드가 전달받는 매개변수에 따라 각기 다른 연산하는 경우에 유용하다. cf)  toString 오버라이딩(overriding) : 재정의하는 것이다. change, modify의 개념으로 이해하면 된다.

 


프로그램 다운로드 없이 컴퓨터 자동 종료 및 예약 종료 간단하게 하기

 

프로그램 다운로드 없이 컴퓨터 자동 종료 및 예약 종료 간단하게 하기

컴퓨터를 이용하다가 급한 용무로 자리를 비워야 하는데 지금 바로 끄면 안 되거나 파일을 다운로드하거나 업데이트를 하는 중 일 때, 아니면 침대에 누워 영화를 보다가 잠드는 경우가 있는데

ozizo.tistory.com

서울시 이사비 지원금 최대 40만원! (신청자격, 신청기간, 신청방법)

 

서울시 이사비 지원금 최대 40만원! (신청자격, 신청기간, 신청방법)

이사비 지원금 정책에 대해서 소개해보려고 합니다 :) 유용하게 사용하셨으면 좋겠습니다. 청년 이사비 지원이란? * 이사가 잦은 청년의 주거비 부담의 경감하기 위해 이사지를 지원합니다. * 이

ozizo.tistory.com

 

LIST
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유