본문 바로가기

국비지원교육16

스트림2 Null을 간접적으로 다루기위해서 1.null을 직접 다루는 것은 위험 nullpointException 2.null 체크 , if는 필수 코드가 지저분 String str = " "; 한단계 더 거쳐서 가는 객체 생성 Null로 초기화 하면 nullpointException이 많이 나옴 그러니 비어 있는 상태로 초기화하는게 좋음 예제 nullpointException 발생 막기 위해서 배열을 빈 배열로 초기화 성능때문에 사용하는 기본형을 감싸는 래퍼클래스 0으로 초기화와 비어있음으로 초기화 했을시 구별하는 법 OptionalInt.of(0) --> value = 0, ispresent = true; OptionalInt.empty(); --> value = 0, ispresent = false; 예제 .. 2023. 2. 24.
스트림 1 스트림 --> 데이터의 연속적인 흐름(강 = 흐르는 물) 만드는법 스트림 만들기 중간연산 n번 최종 연산 1번 스트림은 데이터 소스(원본)을 건드리지 않고 일기만 한다 지연된 연산 - 무한 스트림을 중복제거를 하는게 말이 안되는데 가능하게 하는 이유가 지연된 연산때문 반복문을 내부 반복 처리 멀티스레드로 병렬스트림이 가능 - parallel() sequential() (반대어 한번에 처리 default는 스퀀셜) FP -> 빅데이터 처리를 위한 함수형 프로그래밍의 큰작업을 한번에가 아닌 여러 개로 나눠서 수행 데이터 소스가 기본형일때 비효율을 제거하기 위해 기본형 스트림을 사용한다 예제 List를 Stream으로 변환하는게 아니고 list를 데이터 소스로 하는 새로운 스트림을 생성 스트림은 1회용이다 최.. 2023. 2. 17.
Ch.14 람다식 1~4 람다식이란? 람다식 작성하기 반환 타입과 이름 지움 ->(화살표)로 대체 메서드는 클래스내에 존재하고 함수는 클래스 외에 존재 람다식은 함수(메서드)를 간단히 표현 하려고 사용하는 것 반환 타입과 이름을 지움 리턴 값과 마지막에 ;(세미콜론)을 지움 매개변수 타입을 지움 주의사항 ( a , b) -> a > b ? a : b ( name , i ) -> System.out.println(name + " = " + i) x -> x*x () -> (int)(Math.random() * 6) 람다식은 익명함수가 아니라 익명 객체다 예제 5~6 함수형 인터페이스 @Functionalnterface 애너테이션을 붙이면 함수형 인터페이스가 잘 작동하는지 알려줌 붙이는게 좋음 함수형 인터페이스는 단 하나의 .. 2023. 2. 8.
Ch.12 제네릭스 7~8 Iterator, HashMap 이터레이터 지네릭스로 사용하여 형변환 안해도됨 형변환이 필요 없어서 줄여서 쓸수 있음 해쉬맵의 경우 ,(콤마)를 사용해서 타입을 적어줌 K와 V의 타입이 달라도 상관없음 양쪽만 맞춰 주면 됨 를 넣으면 밑에 처럼 넣어짐 형변환 불필요 9~11 제한된 지네릭클래스, 지네릭스의 제약 어떤 타입의 자손만 지네릭스로 대입이 가능하게 하려면 extends로 조상을 적어주면된다 인터페이스도 마찬가지로 extends 조상을 적어주면 된다.(주의 - implements 아님) 여러개의 조상을 참조할때는 &로 하면됨 ,(콤마)는 안됨 Box에서는 제한 조건없어서 Toy 사용 가능, But fruitBox에서는 제한조건 때문에 Toy 사용 불가 지네릭스는 인스턴스 별로 다르게 선언이.. 2023. 1. 31.
자바 강의 7 Ch07. 메서드와 생성자 메서드 (Method) OOP에서 객체의 action(기능) 을 정의하는 부분을 operation이라고 하는데 이 operation을 java에서는 메서드(method) 라고 한다 작업을 수행하기 위한 명령문의 집합 메서드의 장점 및 작성 지침 반복적인 코드를 줄이고 코드의 관리가 용이하다 (재사용성) 메서드를 보면 객체가 어떤 일을 하는지 알 수 있다 객체가 무슨 일을 해야 할지 정의할 수 있다 값을 설정하거나 가져올 수 있다 하나의 메서드는 한 가지 기능만 수행하도록 작성하는 것이 좋으며, 이를 통해 재사용성을 높일 수 있다 메서드 선언 접근제한자 [지정예약어] 결과형_리턴값 메서드명 (매개변수 목록) [throws 예외클래스들] { Access Non-access (ret.. 2023. 1. 27.
자바 강의 6 Ch06. 객체와 배열 객체 (Object) Object 객체 의 구성요소 속성 Attributes : 객체의 특징, 데이터 ID, 날짜, 금액, 크기, 상태 등 클래스에서 변수로 정의 기능 Operations : 객체의 기능, 동작 값 셋팅, 값 보여주기, 계산 등 클래스에서 메소드로 정의 ID : 객체 ID는 JVM에서 내부적으로 각 객체의 고유 식별자 속성과 기능을 객체의 멤버 구성요소 라고 한다 멤버 변수, 멤버 메소드 속성은 특정 데이터 또는 다른 Object가 될 수도 있다 고객 객체의 속성으로 주문 객체가 있을 수 있다 UML : 객체지향분석과 설계를 위한 모델링 언어로 시스템 개발과정의 원활한 의사소통을 위한 표준화 언어 용어 구분 Class, Object, Instance 용어 구분 클래.. 2023. 1. 13.