코드 그라데이션
[Java] 클래스 배열(객체배열) 생성 예제 본문
예제 1.
객체에 대한 참조값을 요소로 가지는 객체 배열을 생성하는 코드를 구현하시오.
반복문을 사용하여 객체를 생성하시오.
class Person01 {
// Field
private String name;
private int age;
// Constructor
Person01() {
}
Person01( 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 ObjArray01 {
public static void main(String[] args) {
// [1] : 객체 생성
int[] ar1 = {1, 2, 3, 4, 5};
char[] ar2 = {'A', 'B', 'C', 'D', 'E'};
Person01[] ps = new Person01[5];
ps[0] = new Person01("홍길동", 20);
ps[1] = new Person01("박길동", 21);
ps[2] = new Person01("김길동", 22);
ps[3] = new Person01("장길동", 23);
ps[4] = new Person01("고길동", 24);
// [2] : 출력
for (int i = 0; i < ps.length; i++) {
// System.out.print( pa[i].name + "\t\t" );//private이므로 안 됨.
System.out.println(ps[i].getName());
}
System.out.println();
}
}
예제 2.
반복문(for문)을 사용하여 객체 배열을 생성하고 출력하시오.
class Person02 {
// Field
private String name;
private int age;
// Constructor
Person02() {
}
Person02(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 ObjArray02 {
public static void main(String[] args) {
// [1] : 객체 생성
Person02[] p; // Person 타입의 객체 배열 변수 pa 선언.
p = new Person02[5]; // Person 객체의 참조값을 원소로 가지는 배열 공간을 5개 생성 --> 5명 객체 생성할테니 주소 저장해라.
// [2] : 반복문(for)을 돌면서 Person() 객체 생성
for( int i=0; i < p.length; i++ ) {
p[i] = new Person02( i+"번 후보자", i+20 ); // i만 입력하면 안되나 문자열을 붙이면 문자열로 전달.
// [2-1] : getter, setter 메서드 사용해서 출력
System.out.println( p[i].getName() + " --> 나이 : " + p[i].getAge() );
// [2-2] : 배열 인덱스 사용해서 출력 --> 단, 이렇게 쓰려면 private 선언을 삭제하고 써야함.
// System.out.println( pa[i].name + "의 나이는 " + pa[i].age + "살 입니다." );
// [2-3] : printf()
// System.out.printf( "%s의 나이는 %d살 입니다.%n", pa[i].name, pa[i].age );
}
}
}
728x90
'Java, SpringBoot 추가 공부' 카테고리의 다른 글
boolean과 Boolean의 차이 (0) | 2023.11.30 |
---|---|
.orElseThrow에 대해 (0) | 2023.07.18 |
[Java] 프로그램, 프로세스, Thread (0) | 2023.05.05 |
[Java] toString() 에 대해 (0) | 2023.05.04 |
[Java] 날짜, 시간 관련 함수 (0) | 2023.05.04 |
Comments