Java 73

제네릭

무엇이든 담을 수 있는 제네릭 제네릭 자료형 정의 -클래스에서 사용하는 변수의 자료형이 여러개일 수 있고, 그 기능(메서드)이 동일한 경우 클래스의 자료형을 특정하지 않고 추후 해당 클래스를 사용할 수 있게 선언 -컬렉션 프레임워크에서 사용 됨 제네릭 타입을 사용하지 않는 예제 -재료가 powder인 경우 public class ThreeDPrinter1 { private Powder material; public void setMaterial(Powder material) { this.material = material; } public Powder getMaterial() { return material; } } -재료가 Plastic인 경우 public class ThreeDPrinter2 { pr..

Map 인터페이스 구현 클래스

HashMap 클래스 활용하기 -가장 많이 사용되는 Map 인터페이스 기반 클래스 -key-value를 쌍으로 관리하는 메서드를 구현 함 -검색을 위한 자료 구조 -key를 이용해 값을 저장하고, key를 이용해 값을 꺼내오는 방식 - hash 알고리즘으로 구현 됨 -key가 되는 객체는 중복될 수 없고 객체의 유일성 비교를 위한 equals()와 hashCode() 메서드를 구현해야 함 {1001=Kim, 1002=Lee, 1003=Park, 1004=Hong} @Getter @Setter public class Member { // 멤버 변수 선언 private int memberId; private String memberName; // 생성자 초기화 public Member(int memberId..

Set 인터페이스 구현 클래스

HashSet 클래스 -Set 인터페이스를 구현한 클래스 -멤버의 중복 여부를 체크하기 위해 인스턴스의 동일성을 확인해야 함 -동일성 구현을 위해 필요에 따라 equals()와 hashCode() 메서드를 재정의 함 import lombok.Getter; import lombok.Setter; @Getter @Setter public class Member { // 멤버 변수 선언 private int memberId; private String memberName; // 생성자 초기화 public Member(int memberId, String memberName) { this.memberId = memberId; this.memberName = memberName; } @Override public..

Iterator

컬렉션 요소를 순회하는 Iterator 요소의 순회란? -컬렉션 프레임워크에 저장된 요소들을 하나씩 차례로 참조하는 것 -순서가 있는 List 인터페이스의 경우는 Iterator를 사용하지 않고 get(i) 메서드를 활용할 수 있음 -Set 인터페이스의 경우 get(i) 메서드가 제공되지 않으므로 Iterator를 활용하여 객체를 순회 함 Iterator 사용하기 -boolean hasNext() : 이후에 요소가 더 있는지를 체크하는 메서드, 요소가 있다면 true 반환 -E next() : 다음에 있는 요소를 반환 Iterator iterator명 = 컬렉션.iterator(); MemberArrayList.java의 removeMember() 메서드를 Iterator를 활용해 구현 public bo..

List 인터페이스 구현 클래스

멤버십 관리하기 -Member 클래스를 만들고, 아이디와 이름을 멤버 변수로 선언 -Member 클래스로 생성된 인스턴스들을 관리하는 클래스를 컬렉션 프레임워크 클래스들을 활용해 구현한다. ArrayList 활용하기 -멤버를 순차적으로 관리 함 @Getter @Setter public class Member { // 멤버 변수 선언 private int memberId; private String memberName; // 생성자 초기화 public Member(int memberId, String memberName) { this.memberId = memberId; this.memberName = memberName; } @Override public String toString() { // toSt..