개발 공부 33

개발 공부/Java 함수형 인터페이스와 람다식

스프링 및 자바 공부 중에 람다식을 통한 익명 내부 클래스를 종종 사용하게 되었는데 원리를 모르고 따라 사용하기만 하고 있는 듯해서 관련 내용을 공부하고 정리했다. 1. 함수형 인터페이스? 추상 메서드가 한 개만 선언된 인터페이스를 말함. 추상 메서드 외에 다른 static, default 메서드 존재 여부 및 개수는 관계 없음 @FuncationalInterface 어노테이션을 붙여 해당 인터페이스가 함수형 인터페이스인지 검증할 수 있다. (필수는 아니나 함수형 인터페이스가 아닐 경우 오류 발생) 자바에서는 기본적으로 여러 종류의 유용한 함수형 인터페이스를 제공한다. ex) 함수형 인터페이스 Function Generic으로 T 타입 인자를 받아 R 타입을 반환한다. 수학의 ‘function’과 같은 ..

2022.04.26

개발 공부/Java ISP (인터페이스 분리 원칙) in 스프링 프레임워크

제목이 너무 거창한가 스프링 공부 중 아래와 같이 스프링 컨테이너인 ApplicationContext 의 구현체로 AnnotationConfigApplicationContext 를 설정하고 BeanDefinition을 반환하는 ac.getBeanDefinition() 메서드를 호출하려는데 계속 메서드를 찾을 수 없다는 오류가 발생했다. ApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); 알아보니 ac의 타입을 인터페이스인 ApplicationContext가 아닌 구현체 자체로 설정해주어야 했고, 이러한 일이 발생하는 이유는 객체 지향 설계 원칙인 SOLID 중 ISP 때문이라고 한다. ORP나 DIP, SRP에 ..

2022.04.17

개발 공부/Java 자바 기초 여러가지 정리

개인적으로 맨날 쓰는데 맨날 헷갈리는 자바 기초 문법이나 특징 등등을 정리해봤습니다. 이 글은 제가 또 새롭게 헷갈리는 게 나오는 대로(?) 계속해서 업데이트할 예정입니다..😂 기본 자료형 vs 참조 자료형 기본 변수는 메모리에 값 자체를 저장하지만 참조 변수는 참조하는 객체의 주소를 메모리(변수)에 저장한다. JAVA에서 char 크기 c와 다르게 java에서는 char이 2byte로 저장된다. 서식 문자 %d - 10진수 → %Xd - 오른쪽 정렬 + 최소 X칸 만큼 공백 유지 %o - 8진수 %x - 16진수 %f - 실수 → %.Xf - 소수점 아래 X자리까지 출력 %c, %s - 문자, 문자열 조건문 (삼항 연산자) 축약 표현 조건문 : true ? false JAVA 배열의 특징 자바에서 배열..

2022.03.27