생성자

김민혁·2022년 1월 19일
0
  • 객체를 생성할 때 호출(자동 호출)하는 메서드 비슷한 것
    • new 키워드와 함께 호출하는 것
    • 일반 멤버 변수의 초기화나 객체 생성 시 실행돼야 하는 작업 정리
    • 생성자는 상속되지 않는다.
  • 작성 규칙
    • 메서드와 비슷하나 리턴 타입이 없고 이름은 클래스 이름과 동일
      제한자 클래스명(타입 변수명, 타입 변수명...)
      {
      // 멤버 변수 초기화 작업
      }

기본 생성자(default constructor)

  • 기본 생성자의 형태는 파라미터가 없고 구현부가 비어있는 형태
  • 생성자 코드가 없으면 컴파일러가 기본 생성자 제공

파라미터가 있는 생성자

  • 생성자의 목적이 일반 멤버 변수의 초기화 -> 생성자 호출 시 값을 넘겨줘서 초기화
  • 파라미터가 있는 생성자를 만들면 기본 생성자는 추가되지 않는다.

this

  • 참조 변수로써 객체 자신을 가리킴
    • 참조변수를 통해 객체의 멤버에 접근했던 것처럼 this를 이용해 자신의 멤버에 접근 가능
  • 용도
    • 로컬 변수와 멤버 변수의 이름이 동일할 경우 멤버 변수임을 명시적으로 나타냄
    • 명시적으로 멤버임을 나타낼 경우 사용
    • this는 객체에 대한 참조이므로 static 영역에서는 this 사용 불가하다.
    • 한 생성자에서 다른 생성자를 호출할 때 사용
    • 반드시 첫줄에서만 호출이 가능

복사 생성자

public Person(Person person) {
		this.name = person.name;
	}// 복사 생성자
profile
학생

0개의 댓글