생성자

coding by 스플릿·2021년 12월 23일
0

Java1

목록 보기
24/44

인스턴스가 생성될 때 호출되는 인스턴스 (변수) 초기화 메서드

  • 생성자도 메서드 중 하나이며 인스턴스를 만드는 역할은 연산자 new 가 하는 것이고 생성자는 인스턴스 변수 초기화에 사용되는 것이다.

  • 생성자의 이름은 클래스의 이름과 같고 리턴 값이 없다
    ( void가 원래 붙어야하지만 생략가능)

  • 클래스에는 반드시 하나이상의 생성자가 있어야한다.
    생성자가 하나도 없을 시에는 컴파일러가 기본 생성자를 추가한다.
class Main {
    public static void main(String[] args) {
        Example e = new Example(); //error
        Example e1 = new Example(1,3); //이렇게 써야함
        System.out.println(e1.i); //출력 : 1
        System.out.println(e1.j); //출력 : 3
    }
}
class Example{
    int i;
    int j;
    Example(int a, int b){ i = a ; j = b; };
}
  • public 클래스의 경우는 기본 생성자로 public 클래스이름( ){ }이 추가된다.

    생성자에서 다른 생성자 호출하기

    생성자끼리도 서로 호출 할 수 있는데 그 조건으로는

    1. 생성자의 이름으로 this를 사용해야 함.
      • this() : 생성자
      • this : 객체 자신을 가리키는 참조변수
    2. 반드시 첫 줄에서만 호출이 가능함.
    class Main {
        public static void main(String[] args) {
            Example e1 = new Example();
            System.out.println(e1.i);
            System.out.println(e1.j);
        }
    }
    class Example{
        int i;
        int j;
        Example(){this(1,2);};
        Example(int a){this(a,3);};
        Example(int a, int b){ i = a ; j = b; };
    }

0개의 댓글