1. Optional:: 값이 존재할 수도 있고, 존재하지 않을 수도 있는 상황을 명시적으로 표현:: null이 올 수 있는 값을 감싸는 Wrapper 클래스 :: 객체 참조 시, NPE에 대한 방지 목적NPE(Null Pointer Exception)더보기Null 값인 객체에 참조할 때 발생해결 방법null 체크 → 버거로움optional디버깅 도구 사용null을 허용하지 않는 설계 → 초기값 부여장점- optional을 사용하는 경우 코드가 Null-safe해짐- 가독성 향상 - 애플리케이션이 안정적side-Effect(잘못 쓸 경우)- NullPointerException 대신 NoSuchElementException 유발- 직렬화의 경우, 이전에 없던 문제 발생- 오버헤드의 위험성1.1 Optio..
2025.02.04 - [분류 전체보기] - [JAVA] 기초 8. 함수형 인터페이스 - 람다 표현식과 익명 구현 객체 [JAVA] 기초 8. 함수형 인터페이스 - 람다 표현식과 익명 구현 객체1. 람다 표현식- Lambda Expression:: 익명 함수(Anonymous Funtion)을 간결하게 표현하는 방법:: 주로, 함수형 인터페이스 구현에 사용함수형 인터페이스:: 단 하나의 추상 메서드만을 가진 인터페이스:: Ex)hee-ya07.tistory.com위의 내용에 이어서 글을 작성하겠다. 0. 함수형 인터페이스:: 하나의 추상 메서드를 가지는 "인터페이스":: " @FunctionalInterface " 어노테이션을 사용하여 표시 가능:: 인터페이스를 통해 구현 -> 익명 함수가 될 수 있는 ..
1. 람다 표현식- Lambda Expression:: 익명 함수(Anonymous Funtion)을 간결하게 표현하는 방법:: 주로, 함수형 인터페이스 구현에 사용// 구조(매개변수) -> { 실행 코드 }// 매개 변수의 타입 생략 가능// 중괄호 생략 시, return도 생략 가능(a, b) -> a + b함수형 인터페이스:: 단 하나의 추상 메서드만을 가진 인터페이스:: Ex) Runnable, Comparator, Consumer람다 표현식 예시더보기1. 람다 표현식만 사용public class Main { public static void main(String[] args) { List fruits = Arrays.asList("사과", "바나나", "오렌지"); ..
0. Monad0.1 Functorinterface Functor { Functor map(Function f);}:: 함수형 프로그래밍의 중요 개념:: 값이나 객체를 감싸고 있는 구조체:: 값을 변형하거나 변환할 수 있는 기능을 제공:: 데이터를 변경하지 않고 새로운 값으로 변형하는 방식 -> 불변성 유지:: 종류로 java에서는 List, Optional가 있음 => "값을 감싸는 컨테이너"=> 값의 데이터 구조 -> 새 값의 데이터 구조 더보기public class FunctorExample { public static void main(String[] args) { List numbers = Arrays.asList(1, 2, 3, 4, 5); // 리스트 생성 ..
0. Enum:: 열거형 - 특정한 집합의 상수들을 정의:: 상수 값을 관리하는 데이터 타입:: 상수 값에 이름을 부여 -> 이를 호출하여 사용- 목적 :: 값의 경우의 수를 제한 -> 파라미터 or 반환 값을 제약 장점- 값 제한 -> 타입 안정성 향상- 코드 가독성 향상- 확장성 -> 각 상수에 메서드 추가 및 특정 동작 정의 가능단점- 고정 값이 정의 -> 추가적인 상수를 동적 정의 X1. Enum의 정의와 사용1.1 기본적인 정의public enum Day { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY}1.2 필드, 생성자, 메서드 추가:: 각 상수에 특정 값을 할당 및 동작 정의 가능:: 각 상수에 대해 , 로 연결하되 ..
0. 상속- Inheritance:: 기존 클래스의 속성과 동작을 새로운 클래스에서 재사용:: 부모 클래스의 필드와 메서드를 자식 클래스가 물려받음예제더보기// 부모 클래스class Animal { String name; void eat() { System.out.println(name + "가 먹는 중입니다."); }}// 자식 클래스class Dog extends Animal { void bark() { System.out.println(name + "가 멍멍 짖습니다!"); }}public class Main { public static void main(String[] args) { Dog myDog = new Dog(); ..
- Total
- Today
- Yesterday
- git
- useRef
- useContext
- asac7#asac
- ASAC
- useCallback
- useState
- asac7기
- useLayoutEffect
- memo
- asac7
- ssh
- useReducer
- asac#asac7기
- acac
- acas#acas7기
- Nginx
- useEffect
- react
- useMemo
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |