혜야의 코딩스토리

[자바/Java] 생성자 활용 프로그램_인적사항 본문

꿈 : 멋진 개발자 🧸/Java

[자바/Java] 생성자 활용 프로그램_인적사항

hyeya_ 2022. 5. 4. 12:22
public class Person {
	//멤버변수
	private String name;
	private int height;
	private int weight;
	
	public Person() {//기본 생성자
		this("고길동",170,60); //this()생성자 호출은 첫줄에 써야 함.
	}
	
	public Person(String name) { //매개변수가 1개인 생성자
		this(name,190,100);//나와 이름이 같은 Person생성자 중
						   //매개변수 개수와 타입이 맞는 생성자를 호출
	}
	
	public Person(String name, int height) {//매개변수가 2개인 생성자
		this(name,height,70); 
	
	}
	
	public Person(String name, int height, int weight) { //매개변수가 3개인 생성자
		this.name = name; //지역변수로 들어온 값을 멤버변수에 저장함
		this.height = height;
		this.weight = weight;
	}
	
	public void showInfo() {
		System.out.println("=== 신상 정보 ===");
		System.out.println("이름 : "+name);
		System.out.println("신장 : "+height);
		System.out.println("체중 : "+weight);
	}
}

 

public class PersonUse {

	public static void main(String[] args) {
		Person p1 = new Person(); //객체 생성과 동시에 기본 생성자 호출
		System.out.println(p1); //각 객체는 각각 다른 주소값에 생성된다. 
		p1.showInfo();
		
		Person p2 = new Person("김상범"); //객체 생성과 동시에 매개변수가 1개인 생성자 호출
		System.out.println(p2); //각 객체는 각각 다른 주소값에 생성된다
		p2.showInfo();
	
		Person p3 = new Person("박찬호",185); //객체 생성과 동시에 매개변수가 2개인 생성자 호출
		p3.showInfo();
		
		Person p4 = new Person("박지성", 175,72);//객체 생성과 동시에 매개변수가 3개인 생성자 호출
		p4.showInfo();
	}

}

 

객체의 타입은 같지만 참조변수가 다르므로 주소값이 다르다

 

public class Member {
	private String name;//이름
	private String userid;//아이디
	private int price;//구매금액
	private String grade;//등급
	
	public Member() {}//기본 생성자
					  //생성자를 만들 땐 기본생성자를 함께 만드는 습관을 들이기
	
	public Member(String name, String userid, int price) { //매개변수가 3개인 생성자 
		this.name = name;
		this.userid = userid;
		this.price = price;
		if(price>=100000) {
			grade = "gold";
		}else if(price>=50000) {
			grade = "silver";
		}else {
			grade = "bronze";
		}
	}

	public void showInfo() {
		System.out.println("이름\t아이디\t구매금액\t등급");
		System.out.println(name+"\t"+userid+"\t"+price+"\t"+grade);
	}
}

 

public class MemberUse {

	public static void main(String[] args) {
		Member m = new Member("홍길동", "hong", 120000);
		//객체 생성과 동시에 매개변수가 3개인 생성자 호출
		m.showInfo();
		
	}

}