[Java] 제네릭 - 와일드 카드
·
Java
이전의 포스팅에서 자바 제네릭의 기초와 간단한 사용방법에 대해 알아 봤습니다. 이번 포스팅에서는, 자바5에 제네릭과 함께 추가된 와일드 카드에 대해 다뤄 보겠습니다. 제네릭의 등장 이전, 자바는 컬렉션에서 내부적으로 객체들을 Object로 관리하고 있었습니다. Object를 사용함으로써 하나의 컬렉션 안에 여러 객체들을 저장할 수 있는 유연성이 있었지만, 이와 동시에 타입 안정성을 떨어뜨려 런타임 에러가 빈번히 발생하는 문제가 있었습니다. 제네릭이 등장하며 이런 런타임 에러를 미연에 방지할 수 있었지만, 이와 동시에 컬렉션에는 연관된 타입만 삽입할 수 있게 되었습니다. 즉, 제네릭은 자바의 타입 안전성은 높였지만, 유연성은 떨어뜨렸습니다. 문제 제기 Java5 이전의 컬렉션은 모두 동일하게 Object를..
[Java] 제네릭의 기초
·
Java
본 포스팅에서 제네릭이란 무엇인지, 왜 필요한지에 대해 다루며, 이를 활용하는 기초적인 방법에 대해서 다루겠습니다. 제네릭의 고급 내용인 와일드 카드 및, Upper Bound, LoweBound에 대한 설명은 다음 포스팅을 참조해주시기 바랍니다 :) Generic 이란? 제네릭이란 타입의 일반화를 말합니다. " 타입의 일반화 " 란 어떤 클래스를 작성할때, 클래스 내부에서 타입을 지정하는것이 아닌, 클래스를 사용하는 외부에서 타입을 지정할 수 있게끔 한다는 것입니다. " 외부에서의 지정 " 란 사용자가 정의된 클래스를 사용할때, 즉 인스턴스를 생성하거나 클래스의 제네릭 메소드를 사용 할때 타입을 지정한다는 의미입니다. 이번 포스팅에서는 한가지 질문과 함께 제네릭의 필요성과 이점에 대해 설명드리겠습니다...