■ 생성자
- 생성자 기본 문법 : 클래스이름(매개변수){statement}
- 객체를 생성할 때 new 키워드와 함께 사용, ex) new Student(~~~);
- 생성자는 일반 함수처럼 기능을 호출하는 것이 아니고 객체를 생성하기 위해 new와 함께 호출됨
- 생성자는 반환값이 없고, 클래스 이름과 동일
- 대부분의 생성자는 외부에서 접근 가능하지만, 필요에 의해 private으로 선언되는 경우도 있음
- 객체가 생성될 때 변수나 상수를 초기화하거나 다른 초기화 기능을 수행하는 메서드를 호출함
Student studentKim = new Student();
System.out.println(studentKim.showStudentInfo());
//"null학생의 학번은 0이고, 0학년입니다."가 출력
//값을 부여하지 않은 변수에 대해 초기화
기본 생성자(default constructor)
- 클래스에는 반드시 하나 이상의 생성자가 존재
- 클래스에 생성자를 구현하지 않아도 new 키워드와 함께 생성자를 호출할 수 있음
- 클래스에 생성자가 하나도 없는 경우 컴파일러가 매개변수, 구현부가 없는 생성자 코드를 넣어줌
-> public Student(){}
생성자 오버로딩(overloading)
- 생성자를 호출하는 코드(client 코드)에서 여러 생성자 중 필요에 따라 호출해서 사용할 수 있음
■ 참조 자료형
- 변수의 자료형

- 클래스형으로 변수를 선언하며 메모리의 크기는 각 클래스에 따라 다름
- String 클래스를 제외하고, 참조자료형을 사용할 때는 해당 변수를 생성해야 함