본문 바로가기

Java14

람다와 스트림 자바 8에서 처음 도입된 람다(Lambda)와 스트림(Stream) API는 자바의 함수형 프로그래밍 스타일을 가능하게합니다.함수형 프로그래밍은 상태와 가변 데이터를 피하고, 순수 함수와 고차 함수를 사용하여 프로그램을 구성하는 프로그래밍 패러다임입니다. 자바에서 람다와 스트림은 함수형 프로그래밍 스타일을 지원하는 주요 도구입니다.함수형 프로그래밍은 코드의 가독성을 높이고, 디버깅과 테스트를 쉽게 만들어줍니다. 자바 8 이후 도입된 람다와 스트림 API는 이러한 함수형 프로그래밍의 원칙을 자바 언어에 통합하여, 더 효율적이고 유지보수하기 쉬운 코드를 작성할 수 있게 합니다.람다(Lambda)람다 표현식은 익명 함수를 정의하는 간단한 방법입니다. 익명 함수란 이름이 없는 함수로, 코드 블록을 더 간결하게 .. 2024. 6. 24.
쓰레드와 JVM 쓰레드쓰레드는 프로그램 내에서 독립적으로 실행될 수 있는 가장 작은 작업 단위입니다. 쓰레드를 사용하면 프로그램이 동시에 여러 작업을 수행할 수 있습니다. 이는 프로그램의 성능을 최적화하고 응답성을 높이는 데 매우 유용합니다. 쓰레드의 특징동시성 (Concurrency) 향상여러 작업을 동시에 수행함으로써 시스템 자원을 보다 효율적으로 사용할 수 있습니다.특히 CPU 코어가 여러 개인 멀티코어 시스템에서, 여러 쓰레드를 사용하여 병렬 처리를 함으로써 성능을 극대화할 수 있습니다.응답성 (Responsiveness) 개선긴 작업을 백그라운드에서 실행하면서 사용자 인터페이스(UI)가 응답성을 유지할 수 있도록 합니다.예를 들어, 파일을 다운로드하면서 동시에 사용자 입력을 처리할 수 있습니다.자원 공유여러 쓰.. 2024. 6. 23.
객체 지향 설계의 SOLID 원칙 SOLID 원칙이란?SOLID는 객체 지향 설계의 다섯 가지 중요한 원칙의 앞 글자를 따서 만든 약어입니다. 각각의 원칙은 코드의 유연성과 재사용성을 높이고, 유지 보수성을 개선하는 데 목적이 있습니다. 1. 단일 책임 원칙 (Single Responsibility Principle, SRP)클래스는 단 하나의 책임만 가져야 합니다. 즉, 클래스는 하나의 기능만을 담당하며, 변경이 발생할 때 그 이유가 하나여야 합니다.public class User { private String name; private String email; // User 관련 메서드들}public class UserRepository { public void save(User user) { // 데.. 2024. 6. 20.
Java 스레드, JVM 스레드(Thread)프로세스는 실행 중인 애플리케이션을 의미한다. 즉, 애플리케이션을 실행하면 운영체제로부터 실행에 필요한 만큼의 메모리를 할당 받아 프로세스가 된다. 프로세스는 데이터, 컴퓨터 자원, 그리고 스레드로 구성되는데, 스레드는 데이터와 애플리케이션이 확보한 자원을 활용하여 소스 코드를 실행한다. 즉, 스레드는 하나의 코드 실행 흐름이라고 볼 수 있다.단 하나의 스레드를 가지는 프로세스를 싱글 스레드 프로세스, 여러 개의 스레드를 가지는 프로세스를 멀티 스레드 프로세스라고 한다. 메인 스레드(Main thread)자바 애플리케이션을 실행하면 가장 먼저 실행되는 메서드는 main 메서드이며, 메인 스레드가 main 메서드를 실행시켜준다. 메인 스레드는 main 메서드의 코드를 처음부터 끝까지 순.. 2022. 9. 16.
java 람다, 스트림 람다람다식(Lambda Expression)은 함수형 프로그래밍 기법을 지원하는 자바의 문법요소이다. 메서드를 하나의 ‘식(expression)’으로 표현한 것으로, 코드를 매우 간결하면서 명확하게 표현할 수 있다는 큰 장점이 있다.람다함수를 종종 이름이 없는 함수, 즉 익명 함수(anonymous function)라 부르기도 한다.int sum(int num1, int num2) { // 기존방식 return num1 + num2;}(int num1, int num2) -> { // 반환타입과 메서드명 제거 + 화살표 추가 return num1 + num2;}(int num1, int num2) -> { // return문과 세미콜론(;)생략 num1 + num2}(int num1, int num2.. 2022. 9. 15.
Java컬렉션 열거형(Enum)상수들을 보다 간편하게 관리할 때 유용하게 사용할 수 있는 자바의 문법 요소, 주로 몇 가지로 한정된 변하지 않는 데이터를 다루는데 사용한다.public static final int SPRING = 1;public static final int SUMMER = 2;public static final int FALL = 3;public static final int WINTER = 4;enum Seasons{ SPRING, SUMMER, FALL, WINTER } //enum을 활용한 상수 정의여러 상수를 정의해서 사용하려면 public static final을 통해 전역변수로 상수를 설정해 사용했다. 하지만 이렇게 정수 값을 통해서 상수를 할당하면, 상수명이 중복되는 경우가 발생하.. 2022. 9. 14.