본문 바로가기
언어/JAVA

생성자 오버로딩

by step 1 2021. 4. 13.
반응형
  • 생성자를 구현해서 사용할 수 있음
  • 클래스에 생성자를 따로 구현하면 기본 생성자는 제공되지 않음
  • 생성자를 호출하는 코드에서 여러 생성자 중 필요에 따라 호출해서 사용할 수 있음

예제

Student.java

package ch09;

public class Student {

	int studentId;
	String studentName;
	
	Subject korea;
	Subject math;
	
	Student(int studentId, String studentName){
		this.studentId = studentId;
		this.studentName = studentName;
		
		korea = new Subject();
		math = new Subject();
	}
	
	public void setKoreaSubject(String name, int score) {
		korea.subjectName = name;
		korea.score = score;
	}
	
	public void setMathSubject(String name, int score) {
		math.subjectName = name;
		math.score = score;
	}
	
	public void showScoreInfo() {
		
		int total = korea.score + math.score;
		System.out.println(studentName + "학생의 총점은 " +  total + "점 입니다");
	}
}

 

Subject.java

package ch09;

public class Subject {

	String subjectName;
	int score;
	int subjectId;
	
	
}

 

SubjectTest.java

package ch09;

public class SubjectTest {

	public static void main(String[] args) {
		
		Student studentLee = new Student(100, "Lee");
		studentLee.setKoreaSubject("국어", 100);
		studentLee.setMathSubject("수학", 99);
		
		Student studentKim = new Student(200, "Kim");
		studentKim.setKoreaSubject("국어", 50);
		studentKim.setMathSubject("수학", 69);
		
		studentLee.showScoreInfo();
		studentKim.showScoreInfo();
	}
}

결과

반응형

'언어 > JAVA' 카테고리의 다른 글

캡슐화  (0) 2021.04.14
접근 제어 지시자, get() / set() 메서드, 정보은닉  (0) 2021.04.13
생성자  (0) 2021.04.12
인스턴스, 힙 메모리, 용어 정리  (0) 2021.04.12
메서드(함수)  (0) 2021.04.12