본문 바로가기
개발/자바

생성자, this

by kakk789 2021. 12. 26.

생성자(Constructor)

  • 클래스 이름과 같은 이름을 가진 메소드
  • 객체 생성 시 자동 수행됨
생성자는 호출문에 의해 동작하는 것이 아니고, 객체 생성 시 자동 수행되기 떄문에 return의 개념이 없다
그래서 리턴 타입을 쓸 필요가 없다.
public  클래스명( ) {
     초기화 할 값들;
}

기본 생성자

  • 매개변수를 갖지 않는 생성자를 말하며 Java는 사용자가 생성자를 하나도 만들지 않으면 기본 생성자를 제공
  • 만약 사용자가 생성자를 한개라도 만들기 시작하면 자바는 더이상 기본 생성자를 제공하지 않음

생성자의 중복(Overloading)

  • 생성자를 여러개 만들 수 있음
  • 조건은 매개변수의 개수나 자료형이 다른 경우 중복해서 사용 가능하다.

아래 코드 예시는 모두 동작 가능한 생성자

	public Person(String n, int a){
		name = n;
		age = a;
	}
	
	public Person(){
		name = "매개변수 한개도 없음";
		age = 0;
	}
	
	public Person(String n){

	}
	
	public Person(int  n){

	}
  • 같은 클래스 내애서 매개변수와 멤버변수의 이름이 같을 경우 구분짓기 어렵기 때문에 멤버 자신을 구별하기 위한 용도로 this 를 붙여서 자기 자신임을 표현

this( )

  •  생성자가 중복 정의되어 있을 경우 생성자 안에서 또 다른 생성자를 요구할 때에 사용하는 명령
주의사항 
- 반드시 생성자의 첫번째 문장에 와야한다. (바로 아래 그림 확인)
- 해당 그림은 에러이다. this()가 첫번째 문장에 오지 않았기 때문이다.

비정상 동작 화면(에러)

정상동작 화면

 

 

반응형

'개발 > 자바' 카테고리의 다른 글

자바 상속  (0) 2021.12.27
매개변수(parameter), 인자(argument) 차이점  (0) 2021.12.26
클래스, 인스턴스  (0) 2021.12.26
클래스 자동 생성 방법 (Refactor)  (0) 2021.12.25
이클립스 폰트 변경  (0) 2021.12.25

댓글