상세 컨텐츠

본문 제목

생성자

JAVA

by 본투비곰손 2022. 7. 12. 23:14

본문

728x90

생성자

객체를 사용할때 항상 사용

생성자 기본 문법 <class_name>([<argument_list]) {[<statments]}

객체를 생성할 때 new키워드를 함께 사용 new Student();

생성자는 일반 함수처럼 기능을 호출하는 것이 아니라 객체를 생성하기 위해 new와 함께 호출된다.

객체가 생성될 때 변수나 상수를 초기화 하거나 다른 초기화 기능을 수행하는 메서드를 호출 한다.

생성자는 반환값이 없고 클래스의 이름과 동일하다.

대부분의 생성자는 외부에서 접근가능(public)하지만, 필요에의해 private(외부에서 접근 불가)로 선언되는 경우도 있다.

 

기본생성자

클래스에는 반드시 하나이상의 생성자가 존재

클래스에서 생성자를 구현하지 않아도 new키워드와 함께 생성자를 호출 할 수 있다.

클래스에 생성자가 하나도 없는경우 컴파일러가 생성자 코드를 넣어 준다. (초기화 하기위해서 사용)

public Student(){} 과 같이매개변수가 없음, 구현부가 없음

 

지역변수는 초기화 되지 않지만 멤버변수는 생성시 초기화됨

 

package ch06;

public class Student {
	
	public int studentNumber;
	public String studentName;
	public int grade;
	
	public Student() {} // 디폴트 생성자를 사용하여 초기화
	
	public Student(int studentNumber,String studentName, int grade) { 
    //this를 사용하여 생성자 정의 this.studentName는 멤버변수를 의미하고 studentName는 파라미터 값이다.
		this.studentName = studentName;
		this.studentNumber = studentNumber;
		this.grade = grade; 
	}
	
	public String showStudentInfo() {
		
		return studentName + "학생의 학번은" + studentNumber + "이고"+grade+"학년 입니다.";
	}

}
package ch06;

public class StudentTest {

	public static void main(String[] args) {
		
		Student studentLee = new Student(); // 생성자가 이미 생성이 되었을경우 사용안됨 new 사용가능함
         //사용하려면 클래스에 public Student(){} 입력하면된다.(생성자 오버로딩) 
        
		System.out.println(studentLee.showStudentInfo());
		
		Student studentkim = new Student(1423,"Kim", 5);
		System.out.println(studentkim.showStudentInfo());
	}

}
728x90

관련글 더보기