본문 바로가기

Backend/Java

[인프런] 반복문, for문, 객체 배열

예제로 공부하는 Java 100 문제풀이 Part.3

 

class Person{
	// Field
	private String name;
	private int age;
	
	// Constructor
	Person(){}
	Person(String name, int age){
		this.name = name;
		this.age = age;
	}
	// Method
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
}

public class Java100_Ex36 {
	public static void main(String[] args) {
		// [1]: 객체 생성
		Person[] pa;
		pa = new Person[5];
		
		// [2]: 반복문(for)을 돌면서 Person() 객체 생성
		for(int i=0; i<pa.length; i++) {
			pa[i] = new Person(i+"번 후보자", i+20);
			// [2-1]: getter, setter 메서드 사용해서 출력
			System.out.println(pa[i].getName()+" --> 나이: "+pa[i].getAge());
			
			// [2-2]: 배열 인덱스 사용해서 출력 --> 단, 이렇게 쓰려면 private 선언을 삭제하고 써야함.
			// System.out.println(pa[i].name+" --> 나이: "+pa[i].getAge());
			
			// [2-3]: printf()
			// System.out.printf("%s --> 나이: %d%n", pa[i].getName(), pa[i].getAge());
		}
	}
}

private 사용할 때
printf에서 pa[i].name 사용 불가
pa[i].getName() 사용 가능