코드 그라데이션

[Java] 클래스 배열(객체배열) 생성 예제 본문

Java, SpringBoot 추가 공부

[Java] 클래스 배열(객체배열) 생성 예제

완벽한 장면 2023. 5. 6. 00:31

예제 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