반응형

폴리텍 5

[Java9 프로그래밍] 16. 스트림 활용과 Optional

스트림(Stream)이란? filter(중간연산) : predicate를 인자로 받아서 true인 요소만을 반환 스트림 API의 활용 - 필터링/슬라이싱 distinct(중간 연산) : 유일한 값을 반환한다. limit (중간 연산) : 지정된 숫자만큼 반환한다. => 처음 3개까지만 뽑아서 새로운 스트림 만들어라. => 최종 연산에는 우리가 사용할 데이터 타입으로 리턴해준다. 스트림 API의 활용 - 매핑 map (중간 연산) : 스트림의 T 객체를 U로 변환. 파라미터로 Function를 사용. => map은 기존의 스트림에서 엘레먼트의 수는 그대로 유지하되 엘레먼트의 성격이 달라짐. 그 전엔 Dish라는 스트림이었는데 map 연산을 거치면 map의 파라미터로 들어오는 함수가 각각의 엘레먼트에 어플라..

Programming/Java 2020.03.30

[Java9 프로그래밍] 15. 스트림

스트림이란? 스트림(Stream)의 정의 Java8부터 추가된 컬렉션(배열 포함)의 저장 요소(Element)를 하나씩 참조해서 람다식(함수적-스타일, functional-style)으로 처리할 수 있도록 해주는 반복자 => 기존엔 포문을 돌려서 words라는 String 컬렉션을 처리할 때 반복문을 사용해서 엘레먼트를 하나씩 접근해서 처리했었음. => Stream 방식을 사용하면 word를 스트림으로 바꾼 후 (words.stream()) filter 함수를 적용해 파라미터로 바로 람다식이 들어간다. 필터링한 후 카운트를 해주게 된다. => words의 엘레먼트가 굉장히 많을 경우 parallelStream을 통해 병렬 처리가 가능하다. 병렬 처리는 cpu의 코어를 이야기한다. 컬렉션을 4개로 쪼개서 ..

Programming/Java 2020.03.30

[Java9 프로그래밍] 14. 제네릭과 컬렉션

제네릭 다양한 타입에도 동작하는 메소드와 클래스 작성이 필요할 때가 있음 ArrayList는 임의의 클래스 T를 요소로 저장 - ArrayList의 클래스 : 제네릭 클래스 - T : 타입 파라미터 제네릭의 타입 파라미터(T)는 기본 타입은 지원하지 않음 제네릭 클래스 타입 파라미터를 한 개 이상 받는 클래스 키/값 쌍을 저장하는 클래스 class Entry { private K key; private V value; public Entry(K key, V value) { this.key = key; this.value = value; } public K get Key() { return this.key; } public V getValue() { return this.value; } } 클래스 뒤 안에..

Programming/Java 2020.03.29

[Java9 프로그래밍] 11. 인터페이스

인터페이스 선언 서비스 공급자(서버)와 사용자(클라이언트) 간의 계약을 표현하는 메커니즘 인터페이스 구성 필드, member variable 인터페이스에서 정의된 모든 필드는 final static이 생략된 상수로 강주된다. 메소드 추상 메소드 : 반드시 구현 클래스에서 구현 필요 디폴트 메소드 : 구현클래스에서 구현 필요 없음(디폴트로 사용한다는 의미) 정적 메소드 : static 메소드, 객체 없이 바로 호출 가능 => 원래는 추상메소드만 가능했으나 java8에 와서는 디폴트 메소드와 정적 메소드가 추가되고 java9에 와서 private 메소드까지 추가 가능해짐. public interface shoppingService { // fields double TAX_RATE = 0.005; // abs..

Programming/Java 2020.03.21

[Java9 프로그래밍] 10. 상속

상속 - 클래스 확장 기존의 클래스들을 효율적으로 재사용하여 프로그래밍을 하는것이 중요하다. 여러 클래스들을 재사용하는 방안으로는 상속 결합 슈퍼클래스(상속을 주는 부모클래스)와 서브클래스(상속을 받는 자식클래스) Employee 클래스의 몇 가지 기능을 보유하면서 관리자가 어떻게 다른지 명시 extends를 통해 슈퍼클래스를 상속받는다. public class Manager extends Employee { 추가된 필드 추가된 메소드 또는 오버라이딩된 메소드 } => Employee 클래스에 있는 모든 필드와 메소드를 Manager 클래스에 가져온다. 서브 클래스 메소드 정의와 상속 Manager 클래스에 상여금 인스턴스 변수와 메소드 추가 public class Manager extends Emplo..

Programming/Java 2020.03.21
반응형