20210804) 생성자 - 디폴트 생성자

0

JAVA

목록 보기
66/71

디폴트 생성자는 생성자가 없을 때 적용
생성자가 있으면 더 이상 디폴트 생성자는 적용 안 됨

Person

package default_constructor;

public class Person {
	
	public Person() {
		System.out.println("디폴트 생성자로 생성됨");
		name = "모름";
		age = 0;
	}
	
	public Person(String name){
		System.out.println("person이 생성됨");
	}
	
	@Override
	public String toString() {
		return "헬로우";
	}
}


App

package default_constructor;

public class App {

	public static void main(String[] args) {

		Person p1 = new Person();
		System.out.println(p1);
		
	}

}

Person의 생성자를 수정

	public Person(String name){
		System.out.println("person이 생성됨");
		this.name = name;
		age = 0;
	}
    
    
    @Override
	public String toString() {
		return "Person [name=" + name + ", age=" + age + "]";
	}

생성자가 매개변수 String name이 있으므로 없는 생성자는 에러

Person person = new Person("홍길동");

Person이 생성됨!
홍길동

Person
age추가하고
여러 개의 생성자 만들기

package default_constructor;

public class Person {
	
	private String name;
	private int age;
	
	public Person() {
		System.out.println("디폴트 생성자로 생성됨");
		name = "모름";
		age = 0;
	}
	
	public Person(String name){
		System.out.println("person이 생성됨");
		this.name = name;
		age = 0;
	}
	
	public Person(String name, int age) {
		System.out.println("person이 생성됨");
		this.name = name;
		this.age = age;
	}

	@Override
	public String toString() {
		return "Person [name=" + name + ", age=" + age + "]";
	}
}

App
여러 개의 생성자를 하나씩 사용해서 출력

package default_constructor;

public class App {

	public static void main(String[] args) {

		Person p1 = new Person();
		System.out.println(p1);
		
		Person p2 = new Person("펭수");
		System.out.println(p2);
		
		Person p3 = new Person("라이언", 27);
		System.out.println(p3);
		
	}

}

0개의 댓글

관련 채용 정보