본문 바로가기
Programming Language/Java

[자바] 생성자, 참조 자료형

by ggyongi 2021. 10. 22.
반응형

생성자란?

클래스 생성할 때

Person person= new Person();

이때 Person()을 생성자라고 한다.

 

 

생성자의 역할

클래스를 처음 만들 때 멤버 변수나 상수를 초기화하는 것

 

 

디폴트 생성자

Person()와 같이 직접 작성하지 않았지만 자동으로 만들어지는 생성자를 디폴트 생성자라고 함

주의할 점은 디폴트 생성자는 클래스 내부에 생성자가 하나도 없을 경우에만 만들어진다는 점

 

생성자 오버로드

클래스에 둘 이상의 생성자가 제공되는 경우. 이때는 인스턴스를 만들 때 필요한 생성자를 골라 사용 가능하다.

public class Student {
	String name;
	int age;
	
	public Student() {}
	
	public Student(String pName, int pAge) {
		name = pName;
		age = pAge;
	}
}

위와 같이 다양하게 생성자를 작성 가능하다.

package first_project;

public class Hellojava {
	public static void main(String[] args) {

		Student student1 = new Student();
		student1.name = "Lukas";
		student1.age = 20;
			
		Student student2 = new Student("Tom", 20);	
	}
}

위는 두 가지 방법으로 인스턴스를 생성한 예시이다. 

 

 

 

참조 자료형이란?

기본 자료형(int, char, float 등)과 달리 클래스 자료형으로 선언

 

참조 자료형의 활용

package first_project;

public class Subject {
	String subjectName;
	int subjectScore;
}

   

package first_project;

public class Student {
	int studentId;
	String studentName;
	Subject korean;   //Subject 자료형을 이용하여 선언
	Subject math;
}

   

package first_project;

public class Hellojava {

	public static void main(String[] args) {

		Student student1 = new Student();
		student1.studentName = "lee";
		student1.studentId = 1;
		student1.korean = new Subject();
	}

}
 

비전공자 네카라 신입 취업 노하우

시행착오 끝에 얻어낸 취업 노하우가 모두 담긴 전자책!

kmong.com

댓글