z2soo's Blog

JAVA의 Class (4) Generic type 본문

Programming/JAVA

JAVA의 Class (4) Generic type

z2soo 2022. 12. 27. 16:46
반응형

Key point

1. JAVA에서 String 비교시 '==' 사용 불가 (숫자는 가능)
2. Generic type은 일종의 타입 제약을 거는 것

 

Generic type

제네릭(Generic) 은 클래스 / 인터페이스 / 메서드 등의 타입을 파라미터로 사용할 수 있게 해주는 역할을 한다. 이를 통해 비제네릭 타입의 코드에서 발생하는 불필요한 타입 변환 또는 오류를 잡아낼 수 있게 된다. 해당 포스팅에서는 ArrayList에 넣을 객체를 특정 클래스로 제한하는 generic 선언을 예로 들겠다. 

 

코드는 이전의 코드와 이어지니 참고하도록 하자. 

 

JAVA의 Class (연습) 학생정보 클래스로 구현

To-Do 1. 학생 정보를 클래스로 구현한다. 2. 국어, 영어, 수학 점수 저장 3. 국어, 영어, 수학 점수 합산하여 저장 - 하나의 성적이라도 음수면 합산하지 말고 오류처리 4. 합산된 성적으로 평균 점수

z2soo.tistory.com

 

아래 코드를 보면 ArrayList 새로운 객체를 선언할 때 <studentInfo>라는 Generic type을 선언해주었다. 

이 경우  stydentGen 컨테이너에는 studentIndo 라는 타입의 객체만 저장될 수 있다. 

// Generic type
// 특정 타입만 들어갈 수 있도록 제약을 거는 것
	ArrayList <StudentInfo> studentsGen = new ArrayList();
		
	studentsGen.add(Kim);
	studentsGen.add(Park);

 

객체의 for 문법

컨테이너에 저장된 객체를 모두 체크 또는 젒근해야 하는 경우 아래와 같이 for 문을 사용한다. 

// for each : 컨테이너 및 객체 존재 시에만 사용
	for( StudentInfo x : studentsGen) {
		String x_name = x.getName();
        //**java는 글자를 '=='로 비교할 수 없어서 String의 메소드 사용해야함!
		if (x_name.equals("김씨")) {
			System.out.println("김씨 찾았다!");
			x.putInfo();
		}

 

Eclipse Screen

반응형
Comments