관리 메뉴

커리까지

생성자 본문

자바

생성자

목표는 커리 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
Comments