객체가 new 연산자를 통해 Heap메모리 영역에 할당될 때 객체 안에서 만들어지는 필드 초기화 + 생성시 필요한 기능 수행
생성자는 일종의 메소드로 전달된 초기값을 받아서 객체의 필드에 기록
생성자의 선언은 메소드 선언과 유사하나 반환 값이 없으며
생성자명을 클래스명과 똑같이 지정해주어야 함
[접근제한자] 클래스명(){}
[접근제한자] 클레스명(매개변수) {this.필드명 = 매개변수}
public Academy() {} // 기본 생성자
public Academy(int studentNo, String name) { //매개변수 있는 생성자
this.studentNo = studentNo;
this.name = name;
- 객체 생성 시 전달받은 값으로 객체를 초기화 하기 위해 사용
- 매개변수 생성자 작성 시 컴파일러가 기본 생성자를 자동으로 생성해주지 않음
- 상속에서 사용 시 반드시 기본 생성자를 작성
- 오버로딩을 이용하여 작성
한 클래스 내에서 동일한 이름의 메소드를 여러개 작성하는 기법
오버로딩(overloading) 작성규칙 <암기>
- 메소드 이름이 동일해야한다.
- 매개변수의 자료형, 개수, 순서가 달라야한다
- 리턴타입은 같아도 되고 달라도 된다
생성자, 같은 클래스의 다른 생성자를 호출할때 사용, 반드시 첫줄에 선언해야함
전달값이 있는데 결과가 없을수도 있고
전달값이 없는데 결과가 있을수도 있고
전달값, 결과값 둘다 없을 수도 있다
[접근제한자][예약어]반환형 메소드명([매개변수])
public void information() {
System.out.println(studentNo);
}
- getter
필드에 기록된 값을 읽어서 요청한 쪽으로 읽은 값을 넘기는 메소드public int getStudentNo() { return studentNo;
- setter
필드에 변경할 값을 전달 받아서 필드 값을 변경하는 메소드public void setStudentNo(int studentNo) { this.studentNo = studentNo;