[JAVA] 생성자 오버로딩(생성자 다중정의)

@욕심쟁이

·

2020. 8. 21. 16:16

반응형

생성자 오버로딩

- 메서드 오버로딩과 기본적인 규칙 및 동작이 동일함
- 객체생성시 다양한 타입 및 갯수의 파라미터를 작는 여러 생성자를 호출하여 다양한 초기화를 수행하는 용도

- 이클립스에서 자동생성 Alt+Shift+R -> O 

public class Ex2 {

	public static void main(String[] args) {
		
		Person2 ps = new Person2();
		
		Person2 ps2 = new Person2("홍길동");
		ps2.Print();

		Person2 ps3 = new Person2("강감찬",30);
		ps3.Print();
	}

}
class Person2{
	String name;
	int age;
	
	//1.기본 생성자 정의
	public Person2(){
		System.out.println("Person2()생성자 호출됨! 출력");
	}
	
	//2.이름(newName)을 전달받아 초기화 하는 생성자 정의
	//=> Person2(String)생성자 호출됨! 출력 및 이름 초기화
	public Person2(String newName){
		name = newName;
		System.out.println("Person2("+ name +","+ age +")생성자 호출됨! ");
	}

	
	//3.이름(newName) 나이(newAge)를 전달받아 초기화 하는 생성자 정의
	//=> Person2(String, int )생성자 호출됨! 출력 및 이름, 나이 초기화
	public Person2(String newName ,int newAge){
		name = newName;
		age = newAge;
		System.out.println("Person2("+ name +","+ age +")생성자 호출됨! ");
	}
    
	public void Print() {
		System.out.println("이름 : "+ name);
		System.out.println("나이 : "+ age);
		
	}
}
반응형