Step12_UtilClass (ArrayList 활용 객체 배열, Member, MemberDto)
언어별 객체 배열 작성 예시
in javascript | in java |
let names=[]; names.push("kim"); names.push("lee"); names.push("park"); |
List<String> names=new ArrayList<>(); names.add("kim"); names.add("lee"); names.add("park"); |
let nums=[]; nums.push("10"); nums.push("20"); nums.push("30"); |
List<Integer> nums=new ArrayList<>(); nums.add("10"); nums.add("20"); nums.add("30"); |
ArrayList는 배열의 재할당, 추가, 삭제 등 요소의 이동을 용이하게 해줄 뿐만 아니라 객체 배열을 관리하기에도 효율적이다. 아래의 Member 와 MemberDto(setter getter 메소드 활용) 예제를 보며 ArrayList를 활용한 객체 배열을 학습해보자.
MainClass07, Member (ArrayList 클래스 활용)
기본 생성자도 필요하다면 정의할수 있다.
생성자는 다중정의가 가능하다
따라서 어떤 객체를 생성하는 방법이 여러 가지가 될수도 있다는 것이다.
Member 에서 public Member() {}를 작성했기 때문에 MainClass07에서 Member m1=new Member(); 처럼 인자를 아무것도 받지 않는 형태의 객체 생성이 가능했다.
Member class 의 형식 처럼 class를 만든다면 ArrayList 한칸에 다양한 정보를 담는 것이 가능하다.
1. ArrayList<Member> members=new ArrayList<Member>();
2. List<Member> members=new ArrayList<Member>();
주로 사용하는 메소드는 List에 담겨있기 때문에 ArrayList type대신 List type을 주로 사용한다.
MainClass08, MemberDto (setter, getter 활용하기)
MainClass08에서 MemberDto 클래스를 만들어 사용한 코드는 MainClass07에서 Member 클래스를 만들어 사용한 방식과 유사하다. 차이점이 있다면 setter getter 메소드를 만들어 두고 사용한 것이다.
지금은 굳이 setter getter 메소드를 사용하지 않은 Member가 편리해 보이지만 추후에 비교적 복잡한 작업을 할때 setter getter 메소드를 사용하면 자동화되어 편리한 부분이 있다고 한다.