본문 바로가기

Java40

컬렉션 프레임워크(Collection Framework) S*프레임워크[ Framework ]소프트웨어 어플리케이션이나 솔루션의 개발을 수월하게 하기 위해 소프트웨어의 구체적 기능들에 해당하는 부분의 설계와 구현을 재사용 가능하도록 협업화된 형태로 제공하는 소프트웨어 환경을 말한다.소프트웨어 프레임워크는 지원 프로그램, 컴파일러, 코드 라이브러리, 도구 세트, API 등과 같이 프로젝트나 솔루션 개발을 가능하게 하는 여러 가지 서로 다른 컴포넌트들을 포함한다. 사용방법을 미리 정해놓은 라이브러리. 컬렉션(Collection) java.util 패키지에 컬렌션과 관련된 인터페이스와 클래스들이 포함돼있다. List 인터페이스 구현 클래스 : ArrayList / Vector / LinkedList Set 인터페이스 구현 클래스 : HashSet / TreeSet .. 2019. 4. 19.
로컬 객체의 로컬 변수, 매개 변수 사용 로컬객체(로컬 클래스, 익명 객체, 람다식)의 로컬변수, 매개변수 사용 로컬 객체는 메서드 실행이 끝나고 힙 메모리에 존재해서 계속 사용될 수 있다. 매개변수나 로컬변수는 메서드 실행이 끝나면 스택 메모리에서 사라지기 때문에 로컬 객체에서 사용할 경우 문제가 발생한다.자바는 이 문제를 해결하기 위해 컴파일 시 로컬 객체 내에서 사용하는 매개변수나 로컬변수의 값을 로컬 객체 내부에 복사해두고 사용한다.매개변수나 로컬변수의 값이 변경되면 로컬객체에 복사해 둔 값과 달라지는 문제가 발생하므로 매개변수나 로컬변수를 final로 선언하여 수정을 막는다.(자바 8부터는 매개변수, 로컬변수에 final 선언을 하지 않아도 로컬 객체에 쓰는 순간 자동으로 final 특성을 갖게 한다. )final 특성(초기화 한번만 .. 2019. 4. 19.
java.util.function 빈번하게 사용하는 functional interface (람다식으로 구현할 수 있는 함수적 인터페이스) 제공이 함수적 인터페이스(추상메서드 하나만 가지는 인터페이스)들은 매개타입으로 많이 사용한다. 함수적 인터페이스는 크게 Consumer, Supplier, Function, Operator, Predicate로 구분, 구분 기준은 추상메서드의 매개값과 리턴값 유무 Consumer : 매개값만 받고 리턴은 X Supplier : 매개값은 안받고 리턴값만 줌 Function : 매개값도 받고 리턴값도 줌, 주로 매개값을 리턴값으로 매핑(타입 변환)하는 기능을 함 // Mapping?? 2권 뒤쪽에서 공부할 내용 Operator : 매개값 o 리턴값 o, 주로 매개값 연산하여 연산결과 리턴 Predicate.. 2019. 4. 18.
람다식(Lambda Expression) 람다식(Lambda Expression) 익명함수를 생성하기 위한 식, 객체 지향보다는 함수지향객체지향언어인 자바에서 람다식 수용한 이유 : 컬렉션의 요소를 필터링하거나 매핑해서 원하는 결과를 쉽게 집계할 수 있다.형태는 매개변수를 가진 코드 블록이며, 인터페이스 변수에 대입된다. (=인터페이스의 익명구현객체를 생성한다.) Runnable runnable = ()-> {}; // 람다식 자체로 객체 생성이 되기때문에 new 키워드 쓸 필요 X람다식은 단순히 메소드를 선언하는 것이 아니라 이 메소드를 가지고 있는 객체를 생성해 낸다.(익명구현객체처럼 바이트 코드파일로 생성되는지 확인해보기) Runnable runnable = ()-> {}; // 람다식 자체로 객체 생성이 되기때문에 new 키워드 쓸 필요.. 2019. 4. 18.