디폴트 생성자(없어도 호출됨 - 컴파일러가 자동으로만들어준다) - 초기화 용도
생성자를 수동으로 만든다면 디폴트 생성자를 만들어 주지 않는다.

package ch04;

// 상태와 행동
public class Person {

	String name;
	String job;
	int age;
	char gender;
	String bloodType;

	// 디폴트 생성자(없어도 호출됨 - 컴파일러가 자동으로만들어준다) - 초기화 용도
	// 생성자를 수동으로 만든다면 디폴트 생성자를 만들어 주지 않는다.
	// 매개변수가 없다
	public Person() { // 함수와 비슷하게 생겼지만 첫글자가 대문자며 클래스이름과 같다.

	}

	// 오버로딩(함수명이 같아도 매개변수가 다르면 다른 함수로 인식한다)
	public Person(String name, String job, int age, char gender, String bloodType) {
		this.name = name;
		this.job = job;
		this.age = age;
		this.gender = gender;
		this.bloodType = bloodType;
	}

}
package ch04;

public class PersonApp {
	public static void main(String[] args) {
		Person p1 = new Person(); // 인스턴스화
		p1.name = "최승희"; // 변수에 값넣기는 문법적으로는 가능하지만 현실적이지 않다. 이렇게 짜면 좋지 않다.
		p1.job = "의사";
		p1.gender = '여';
		p1.bloodType = "AB";
		p1.age = 45;

		Person p2 = new Person();
		p2.name = "이미녀";
		p2.job = "골프선수";
		p2.gender = '여';
		p2.bloodType = "O";
		p2.age = 28;

		Person p3 = new Person();
		p3.name = "김미남";
		p3.job = "교수";
		p3.gender = '남';
		p3.bloodType = "AB";
		p3.age = 47;

		System.out.println(p3.name);
		System.out.println(p3.job);
		System.out.println(p3.gender);
		System.out.println(p3.age);
		System.out.println(p3.bloodType);

		Person p4 = new Person(
			"홍길동",
			"학생",
			33,
			'남',
			"O"
		);
		
		System.out.println(p4.name);

	}
}

'Programming Language > Java' 카테고리의 다른 글

자바 public, private 비교  (0) 2020.03.27
자바 생성자 자동 생성하는법  (0) 2020.03.27
자바 final과 static 변수 이해하기  (0) 2020.03.27
200323 // STACK, 표현식, DAEMON  (0) 2020.03.23
이클립스 run 설정  (0) 2020.03.23

+ Recent posts