java 100예제 #5

·2022년 1월 16일
0

JAVA

목록 보기
5/14

객체 배열

참조형 타입으로 객체들의 주소값을 배열로 저장할 수 있다.

getter, setter 복습 겸 객체 배열 사용 예시

class Person1 {
	private String name;
	private int age;
	
	Person1(){}
	Person1(String name, int age){
		this.name =name;
		this.age =age;		
	}
	
	
	public void setName(String name) {this.name =name;} 
    //다른 값으로 설정하는 getter
	public String getName() {return name;} 
    //들어가 있는 값을 가져가서 사용하는 setter
	
	public void setAge(int age) {this.age =age;}
	public int getAge() {return age;}
}


public class ex2 {
	public static void main(String[] args) {
		//객체 배열 선언
		Person1[] pa = new Person1[3];
		pa[0] = new Person1("만두",20);
		pa[1] = new Person1("돌짱",20);
		pa[2] = new Person1("홍길동",20);

		
		for(int i =0 ; i<pa.length;i++){
			System.out.print(pa[i] + " / ");
            //객체의 주소값을 출력
			System.out.print(pa[i].getName());
            //private인 name필드이므로 getName을 이용하여 출력한다.
			System.out.println();
		}
	}
}

<위에서 사용한 class Person1을 이용한 또다른 class ex2 예시>
for문을 사용하여 객체 배열에 값을 넣을 수 있다.
Person1의 필드에 private 접근 제한이 없다면 pa[i].name의 방식으로 name값을 불러올 수 있다.

public class ex2 {
	public static void main(String[] args) {
		//객체 배열
		Person1[] pa = new Person1[10];
		
		for(int i =0 ; i<pa.length;i++){
			pa[i] = new Person1(i +"번 후보자 ", i+20);
			
			System.out.println(pa[i].getName() + " -->  " + pa[i].getAge());
			
			
			//private 선언이 없다면?
			//System.out.println(pa[i].name + " --> " + pa[i].age);
			//System.out.printf("%s의 나이는 %d살 입니다.%n",pa[i].name, pa[i].age);
			
		}
	}

}

0개의 댓글

관련 채용 정보