본문 바로가기

generic

(2)
java : Generic - 와일드카드 public void takeAnimals(ArrayList animals) { for(Animal animal : animals){ animal.eat(); } } 메소드에서 인자값으로 Generic (유형매개변수) 을 사용시에는 다형성이 허용되지 않습니다. 즉, 위에서 보는 것과 같은 메소드는 인자로 반드시 ArrayList 타입만 허용됩니다. 만약 Animal 을 상속받는 Human, Lion, Tiger 같은 클래스들만 모아두고 generic 을 각개로 선언했다면 저 메소드를 호출하면서 사용할 수 있는 파라미터가 되지 못합니다. (ArrayList, ArrayList, ArrayList 등을 파라미터로 쓰질 못한다는 것입니다. 세 클래스 모두 Animal을 extends 하고 있다 하더라도 말이죠..
java : 강력한 형 안정성 기술. generic 우선 generic 이란 개념을 사용할 때 저같은 초보자들을 대상으로 설명하자면. 자료구조의 컬렉션을 사용할 때 쓰이는 type 강제성 기술입니다. ArrayList al = new ArrayList(); 위와 같이 말이죠. 위처럼 선언한 ArrayList 자료구조는 String type의 객체만 배열의 멤버들로 사용할 수 있습니다. (멤버라는 표현이 옳은지는 모르겠네요. 요소, element가 더 정확한 표현이겠지만 편의상 멤버라고 할게요 ㅎㅎ;) 변수 al은 generic을 통해 String으로만 이루어진 자료구조라고 선언되어졌습니다. 이렇게 된다면 public class ArrayList extends AbstractList implements List, RandomAccess, Cloneable,..