-
객체 배열: 동일한 기본 자료형 변수 여러 개를 배열로 사용하듯이, 참조 자료형 변수 여러 개를 배열로 사용하는 것.
학생 클래스 Student를 만들고 멤버 변수로 studentID, name을 선언. showStudentInfo() 메소드를 만들어 studentID와 name 값을 출력. StudentArray 클래스에서 Student 3명의 배열을 만들고 Student를 생성하여 저장한 후 for문을 사용하여 Student 정보를 출력해 보겠다.
12345678910111213public class Student {int studentID;String name;public Student(int studentID, String name) {this.studentID = studentID;this.name = name;}public void showStudentInfo() {System.out.println( studentID + "," + name);}}cs 12345678910111213public class StudentArray{public static void main(String[] args) {ArrayList<Student> students = new ArrayList<Student>();students.add(new Student(1001, "James"));students.add(new Student(1002, "Tomas"));students.add(new Student(1003, "Edward"));for(int i =0; i<students.size(); i++) {students.get(i).showStudentInfo();}}cs add() 메소드를 사용하면 확실히 깔끔하다. 배열 길이와 상관없이 객체 추가가 가능하다는 것도 큰 장점.
size() 메소드는 배열에 유효한 값이 저장된 요소 개수를 반환하는 메소드다. 다음에는 꼭 활용해 보기***
아래는 내가 푼 방법.
더보기1234567891011121314151617181920212223242526public class Student {private String studentID;private String name;public Student() {}public Student(String studentID, String name) {this.studentID = studentID;this.name = name;}public String getStudentID() {return studentID;}public void setStudentID(String studentID) {this.studentID = studentID;}public String getName() {return name;}public void setName(String name) {this.name = name;}public void showStudentInfo() {System.out.println(studentID+", "+name);}}cs 프로그래머가 생성자를 직접 추가했으므로 디폴트 생성자가 자동으로 만들어지지 않기 때문에 직접 선언해 줘야 한다.
ID랑 이름 모두 접근 제어자 private를 사용해 외부 클래스의 접근을 막았다.
123456789101112public class StudentArray {public static void main(String[] args) {Student[] StuArr = new Student[3];StuArr[0] = new Student("1001", "James");StuArr[1] = new Student("1002", "Tomas");StuArr[2] = new Student("1003", "Edward");for(int i=0; i<StuArr.length; i++) {StuArr[i].showStudentInfo();}}}cs ArrayList는 굉장히 자주 사용하는 유용한 클래스니까 잘 활용할 수 있도록 하기!
'혼자 있는 방 > Java' 카테고리의 다른 글
추상 클래스(abstract class) (0) 2021.06.02 상속과 다형성(inheritance&polymorphism) (0) 2021.06.02 객체 간 협력 (0) 2021.05.30 중간 복습(Review) (0) 2021.05.06 DemensionArray(2차원 배열) (1) 2021.05.04 댓글