JAVA의 Class (4) Generic type
Updated:
Key point
- JAVA에서 String 비교시 ‘==’ 사용 불가 (숫자는 가능)
- Generic type은 일종의 타입 제약을 거는 것
1. Generic type
제네릭(Generic) 은 클래스 / 인터페이스 / 메서드 등의 타입을 파라미터로 사용할 수 있게 해주는 역할을 한다. 이를 통해 비제네릭 타입의 코드에서 발생하는 불필요한 타입 변환 또는 오류를 잡아낼 수 있게 된다. 해당 포스팅에서는 ArrayList에 넣을 객체를 특정 클래스로 제한하는 generic 선언을 예로 들겠다.
코드는 이전의 코드와 이어지니 참고하도록 하자.
JAVA의 Class (연습) 학생정보 클래스로 구현
아래 코드를 보면 ArrayList 새로운 객체를 선언할 때
// Generic type
// 특정 타입만 들어갈 수 있도록 제약을 거는 것
ArrayList <StudentInfo> studentsGen = new ArrayList();
studentsGen.add(Kim);
studentsGen.add(Park);
2. 객체의 for 문법
컨테이너에 저장된 객체를 모두 체크 또는 젒근해야 하는 경우 아래와 같이 for 문을 사용한다.
// for each : 컨테이너 및 객체 존재 시에만 사용
for( StudentInfo x : studentsGen) {
String x_name = x.getName();
//**java는 글자를 '=='로 비교할 수 없어서 String의 메소드 사용해야함!
if (x_name.equals("김씨")) {
System.out.println("김씨 찾았다!");
x.putInfo();
}