생성자

지윤·2021년 1월 20일
0

Java

목록 보기
5/21

생성자(Constructor)

인스턴드(변수) 초기화 메서드로 인스턴스가 생성될 때마다 호출된다.

  • 생성자도 오버로딩 개념
  • 메서드 이름이 클래스 이름과 같아야 한다.
  • 리턴값이 없다. void도 사용 X
  • 모든 클래스는 반드시 생성자를 가져야 한다.

기본 생성자

  • 매개변수가 없는 생성자
  • 생성자가 하나도 없을 때만, 컴파일러가 자동으로 추가
  • 항상 작성하는 습관을 들이는 것이 좋음

생성자 this()

  • 생성자에서 같은 클래스에 있는 다른 생성자를 호출할 때 사용
  • 첫번째 줄에서만 호출 가능
  • 코드 중복 제거를 위해 사용
class Car2{
	String color;
    	String gearType;
    	int door;
    
    Car2(){
    	this("w", "auto", 4);
    }
    
    Car2(Stirng color){
    	this(color, "auto", 4);
    }

    Car2(Stirng color, String gearType, int door){
    	this.color = color;
        this.gearType = gearType;
        this.door = door;
    }

}

참조변수 this

  • 인스턴스(객체) 자신을 가리키는 참조변수로 인스턴스의 주소가 저장되어 있다.
  • 생략 가능(원래 인스턴스 변수의 진짜 이름은 this.인스턴스 명)
  • 생성자와 인스턴스 메서드(생성자 포함)에서만 사용 가능
  • 지역변수와 인스턴스 변수의 이름이 같을 때 구분하기 위해 사용하며, 이때는 생략 불가
  • 생성자 this()와 비슷하게 생겼을 뿐 완전히 다른 개념
  • static 메서드에서는 사용 불가능, this는 객체 자신을 의미하는데 객체가 없기 때문
profile
헬로🙋‍♀️

0개의 댓글