본문 바로가기
프로그래밍/Java

[실전 자바-기본편] 생성자

by Dean30 2024. 2. 8.
728x90

this

  • 매개변수의 이름과 멤버 변수의 이름이 같은 경우 this를 사용해서 둘을 명확하게 구분해야 함
  • this는 인스턴스 자신을 가리킴
  • this는 생략할 수 있음. 가까운 지역변수(매개변수도 지역변수다)를 먼저 찾고 없으면 그 다음으로 멤버 변수를 찾음
    • 멤버 변수도 없으면 오류 발생
    • 타입스크립트와 다른점 ! ts는 가까운 지역변수가 없을 경우 멤버변수 스코프까지 올라가지 않는다. 그냥 에러

 

 

생성자

  • 대부분 객체 지향 언어는 객체를 생성하자 마자 즉시 필요한 기능을 수행할 수 있도록 생성자라는 기능을 제공
  • 자바에서는 클래스와 같은 이름으로 생성자 사용
  • 반환 타입 없음
  • new 키워드를 사용해서 객체를 생성할 때 마지막 괄호 ()도 포함해야 하는 이유가 바로 이 생성자 때문
    • 객체를 생성하면서 동시에 생성자를 호출한다는 의미를 포함
  • 제약이 생김
    • 초기화를 빠뜨리지 않을 수 있음
  • 기본 생성자
    • 매개변수가 없는 생성자 = 기본 생성자
    • 클래스에 생성자가 하나도 없으면, 자바 컴파일러가 매개변수가 없고, 작동하는 코드가 없는 기본 생성자를 자동 생성
  • 오버로딩이 됨 (자바스크립트와 다름 !)
    • this() : this가 자기 자신의 참조값을 가리키고 ()가 생성자 호출이므로 자기 자신의 생성자를 호출 !!
    • 생성자 코드의 첫줄에만 작성할 수 있음

 

728x90

댓글