💡 Lambda Expression 람다식은 메서드를 하나의 '식(expression)'으로 표현한 것이다 람다식은 함수를 간략하게하면서도 명확한 식으로 표한할 수 있게 해준다 메서드를 람다식으로 표한하면 메서드의 `이름 & 반환값`이 없어지므로 람다식을 `익명 함수`라고도 한다 int[] arr = new int[5]; Arrays.setAll(arr, i -> (Math.random() * 5) + 1); 람다식 작성하기 람다식은 익명함수답게 메서드에서 이름과 반환타입을 제거하고 매개변수 선언부와 몸통{} 사이에 ->를 추가한다 람다식에 선언된 매개변수의 타입은 추론이 가능한 경우는 `생략`이 가능하다 반환값이 있는 메서드의 경우 (반환타입이 void가 아닌 경우) return 문 대신 식으로 대신 ..
💡 ObjectMapper Jackson 라이브러리의 클래스 JSON - > Java 객체로 Deserialization Java 객체 -> JSON으로 Serialization ObjectMapper는 생성 비용이 비싸기 때문에 Bean & Static으로 처리하는걸 권장 Serialization // Object Mapper를 이용한 직렬화 try { Question question = Question.builder() .questionId(1L) .title("제목") .content("내용") .build(); objectMapper.writeValue(new File("src/question.json"), question); } catch (IOException e) { e.printStackT..

length arrays (int[], double[], String[]) length는 배열의 길이를 구할때 사용 length() String related Object (String, StringBuilder etc) length()는 문자열의 길이를 구할때 사용 size() Collection Object (ArrayList, Set etc) size()는 컬렉션프레임워크 타입의 길이를 구할때 사용 parseInt() , valueOf() parseInt(String, radix) = 원시데이터 int 반환 valueOf() = Integer Wrapper 객체 반환 String = 숫자로 변환할 문자열 radix = (optinal) string 문자열을 읽을 진법 수 (2~36) return 값..

💡 Annotation 컴파일러에게 문법 에러를 체크하도록 정보 제공 프로그램 빌드 시 코드 자동 생성할수 있도록 정보 제공 런타임에 특정 기능 실행하도록 정보 제공 표준 Annotation 자바에서 기본적으로 제공하는 애너테이션입니다. Annotation Name Description @Override 컴파일러에게 메서드를 오버라이딩하는 것이라고 알림 @Deprecated 앞으로 사용하지 않을 대상을 알릴 때 사용 @FunctionalInterface 함수형 인터페이스라는 것을 알 @SuppressWarning 컴파일러가 경고메세지를 나타내지 않음 메타 Annotation 애너테이션에 붙이는 애너테이션으로, 애너테이션을 정의하는 데에 사용됩니다. Annotation Name Description @Ta..

💡 Exception 프로그램의 비정상 종료 방지, 정상 실행상태 유지 try - catch문 기본 형식 try { // 예외가 발생할 가능성이 있는 코드를 삽입 } catch (ExceptionType1 e1) { // ExceptionType1 유형의 예외 발생 시 실행할 코드 } catch (ExceptionType2 e2) { // ExceptionType2 유형의 예외 발생 시 실행할 코드 } finally { // finally 블럭은 옵셔널 // 예외 발생 여부와 상관없이 항상 실행 } 예시 public class RuntimeExceptionTest { public static void main(String[] args) { try { System.out.println("[소문자 알파벳을 ..

💡 Enum (열거형) 서로 연관된 상수들의 집합 (상수 = final 키워드를 통한 변하지 않는 값 선언) 상수명은 대문자로 하는것이 관례 상수 하나하나는 객체로 간주함 따로 값을 지정해주지 않으면 0부터 시작하는 int형 값 자동할당 기본 형식 enum 열거형이름 {상수명1, 상수명2 ...} enum Seasons {SPRING, SUMMER, FALL, WINTER} JDK1.5 이전버전에서는 Enum을 지원하지 않아 아래와 같은 전역변수를 상수로 선언하는 방식을 사용했다. public static final int SPRING = 1; public static final int SUMMER = 2; public static final int FALL = 3; public static final ..

💡 다형성 한 타입의 참조변수를 통해 여러타입의 객체를 참조할 수 있도록 만든 것 상위 클래스 타입의 참조변수를 통해서 하위 클래스의 객체를 참조할 수 있도록 허용한 것 ex) Friend girlfriend = new GirlFriend(); 객체 타입과 참조변수 타입 불일치 //참조변수의 다형성 예시 class Friend { public void friendInfo() { System.out.println("나는 당신의 친구입니다."); } } class BoyFriend extends Friend { public void friendInfo() { System.out.println("나는 당신의 남자친구입니다."); } } class GirlFriend extends Friend { public ..