Iterable, Iterator, ListIterator
·
자바
컬렉션 프레임워크에서, Iterator 를 사용해서 객체를 순회하고 값을 확인할 수 있다. 예시를 보자. Set set = new HashSet();set.add(1);set.add(2);set.add(3);Iterator iterator = set.iterator();while (iterator.hasNext()) { System.out.println(iterator.next());}// 결과는 1 2 3 순서대로 출력.  Iterator 는 뭐고, iterator() 메소드는 어떻게 호출되는걸까? Iterable 인터페이스 자바에서 Iterator 인터페이스는 컬렉션의 요소를 순차적으로 접근하는 방법을 제공하는 인터페이스이다. 아래 도식도를 보자.  컬렉션 인터페이스는 Iterable 인터페이스..
[Spring] @Bean 메소드 파라미터 자동주입
·
자바
@Configuration 어노테이션이 선언된 클래스내에서,@Bean 어노테이션이 선언된 메소드는 다른 빈에 의존하여 자신을 초기화 할 수 있다. 이 때, 다른 빈이 파라미터로 들어올 때, 자동주입이 가능하다. 예시로 확인해보자. 1. 타입 자동주입   들어오는 파라미터의 타입이 선언된 빈이 하나라면, 해당 빈을 자동으로 주입해준다.  2. 이름 자동주입  만약 위와 같이 BeanA 라는 인스턴스 2개가 빈으로 등록되어 있다면? 이 때는 타입으로만 판단하기에 모호하기에 이름이 같은 빈을 주입해준다. ※ Bean 의 이름?@Bean 어노테이션이 달린 메소드의 기본 이름은 메소드명이 된다. 위 같은 경우에는 bean1, bean2 가 된다.그 외에도 개발자가 원하는 이름을 설정 하기 위해선 @Bean(nam..
[Java] 자바 제네릭, Generic 문법
·
자바
기존 프로젝트를 리팩토링 하다가 제네릭 문법을 만났다. 어떤 의미로 사용하는지는 알지만, 제대로 알고 사용한게 아니라서 다시 보는데도 너무 헷갈렸다. 생각해보니 제네릭을 책으로 제대로 공부한 적이 없어서.. 책장에 있는 책을 참고해서 제네릭 클래스와 메소드 정도를 가볍게 정리해보려 한다. 제네릭의 의미와 필요성 제네릭의 뜻은 '일반화' 이다. 그리고 자바에서 말하는 일반화의 대상은 자료형을 의미한다. 간단히 말하면 특정 클래스나 메소드를 사용하는데에 있어서 자료형의 구속에서 벗어날 수 있는 것이다. 자바는 객체지향 언어이니 클래스를 기준으로 설명해보겠다. 클래스가 총3개가 있다고 해보자, '사과' , '오렌지' , '박스' 이다. 이 때 현실적으로 박스에는 사과나 오렌지, 어떤게 들어가도 큰 상관이 없어..