자바
생성자
목표는 커리
2021. 7. 2. 04:42
728x90
SMALL
생성자
- 생성자를 하나도 제공하지 않으면 기본 생성자 제공
- new 키워드와 함께 사용 됨
- 객체를 생성할 때만 사용
- 반환값이 없고 클래스 이름과 동일
- 외부에서 접근하지 않으려고 private로 선언할 수 있음
기본 생성자
- public Std()
- 클래스에 적어도 하나 이상의 생성자가 존재햐야 함
- 생성자와 동일하게 반환값이 없음
public class Student {
public int studentNumber;
public String studentName;
public int grade;
public String showStudentInfo() {
return studentName + "학생의 번호는 : " + studentNumber + "이고 학년은 : " + grade + "입니다.";
}
}
- 멤버변수는 만들어질 때 초기화 됨
public class StudentTest {
public static void main(String[] args) {
Student studentrrr = new Student();
System.out.println(studentrrr.showStudentInfo());
}
}
>
null학생의 번호는 : 0이고 학년은 : 0입니다.
- 값을 입력한게 아무것도 없기 때문에 null 값과 0이 들어감
public class Student {
public int studentNumber;
public String studentName;
public int grade;
public Student(int studentNumber, String studentName, int grade) {
this.studentNumber = studentNumber;
this.studentName = studentName;
this.grade = grade;
}
public String showStudentInfo() {
return studentName + "학생의 번호는 : " + studentNumber + "이고 학년은 : " + grade + "입니다.";
}
}
- this.~ = ~라고 해줘야 실제 해당 클래스에 있는 변수에 값이 대입이 됨
public class Student {
public int studentNumber;
public String studentName;
public int grade;
public Student() {}
public Student(int studentNumber, String studentName, int grade) {
this.studentNumber = studentNumber;
this.studentName = studentName;
this.grade = grade;
}
public String showStudentInfo() {
return studentName + "학생의 번호는 : " + studentNumber + "이고 학년은 : " + grade + "입니다.";
}
}
- 디폴트 생성자는 없으면 만들어야 함
- 이건 프로그램마다 다름
728x90
LIST