java 42

람다식(Lambda Expression)

안녕하세요. 오늘은 람다식 (Lamnda Expression)에 대해 알아볼게요. 람다식 람다(표현)식은 자바 8부터 도입이 저작된 함수형 인터페이스예요. 함수를 하나의 식으로 간결하게 표현하고, 익명 클래스를 대쳐 해 코드의 가독성을 향상하는 특징을 가지고 있어요. ?!) 함수형 인터페이스란? 추상메서드가 단 하나만 존재하는 인터페이스로 인터페이스에 @FunctionalInterface 어노테이션으로 선언이 가능해요. 디폴트 메서드, static 메서드는 여러 개 존재가 가능합니다. 1. 람다식 기본 형태cf) 메서드 기본 형태[접근제어자] 반환타입 메서드명(매개변수...) { 구현부 }== 람다식 ==: 추상 메서드를 간결하게 구현하는 것이 목표+) 인터페이스의 추상 메서드 public ab..

Backend/Java 2025.07.28

내부 클래스 (Inner Class)

안녕하세요 오늘은 내부 클래스 (Inner Class)에 알아볼게요. 내부 클래스 내부 클래스는 중첩 클래스라고도 불리는데 즉, 다른 클래스 내부에 정의된 클래스를 말해요. 내부 클래스의 사용함으로 코드의 구조 파익이 용이하고,(코드 가독성 향상) 외부에 공대할 필요가 없는 클래스는 내부로 감출 수 있어요.(캡슐화 강화) 그리고 내부 클래스는 외부 클래스와 필드와 메서드에 직접 접근이 가능해요.(외부 클래스 멤버 접근) 내부클래스는의 종류는 비정적 내부 클래스, 정적 내부클래스, 메서드 내부 클래스, 익명(내부) 클래스 총 네 가지가 있어요. 그럼 내부 클래스의 종류에 대해 간단히 알아볼까요? 비정적 내부 클래스(인스턴스)(Non-static Inner Class) 비정적 내부 클래스는 ..

Backend/Java 2025.07.27

프레임워크(Framework)

안녕하세요. 오늘은 프레임워크에 대해서 알아볼까 해요. 프레임워크(Framework) 프레임워크는 영단어로 간다 하게 설명드리면 프레임(frame - 틀) + 워크(work - 일하다)를 합친 말로 제공받는 일정한 요소와 틀, 규약을 가지고 무언가를 만드는 일이에요. 그럼 프레임워크의 특성과 종류를 알아볼까요? 컬렉션(Collection) 컬렉션은 객체들을 모아놓은 것(데이터 그룹)을 다루기 위한 자바 CF의 최상위 인터페이스예요. 컬렉션 인터페이스는 여러 메서드를 정의하는데요.컬렉션 인터페이스의 메서드컬렉션 인터페이스의 특징.add(E e)요소 추가.remove(Object o)요소 제거.clear()전체 비우기.contains(Object o)포함 여부 확인.isEmpty비어 있는지 확인..

Backend/Java 2025.07.26

빌더(Builder)

안녕하세요 오늘은 필드가 많아서 복합한 객체를 쉽게 볼 수가 있는 빌더에 알아볼게요! 빌더(Builder) 빌더는 소프트웨어 설계 패턴 중 하나로 복잡한 객체를 단계별로 만들 때 주로 사용해요. 즉 필드(속성)가 많거나, 필드에 필수값과 선택값이 섞여있을 때 매우 유용하답니다. 빌더를 피자 주문으로 비유하자면 피자의 토핑(도우, 치즈, 도핑 재료)을 입맛에 맞는 주문을 받아서 나만의 피자를 만드는 과정과 같은 느낌이랍니다. 그럼 빌드의 사용목적과 장단점들을 한번 간단하게 알아볼까요? 빌더의 사용목적 빌더는 위에 소개를 한 것과 추가로 생성자가 너무 많아질 때(오버로딩), 코드가 복잡하고 읽기가 너무 어려울 때 주로 사용해요. 빌더 사용으로 가독성과 유지보수성이 좋아지고 선택적인 매개변수를 쉽게..

Backend/Java 2025.07.25

싱글톤 (Singleton)

안녕하세요. 이번시간에는 싱글톤(Singleton)에 대해 간단하게 알아볼까 해요. 싱글톤(Singleton) 소프트웨어 설계 패턴 중 하나로, 클래스의 인스턴스가 '하나만' 생성되고 재 사용하고 싶을 때 씁니다. 그리고 인스턴스 하나로 전역적인 접근이 가능하도록 하는 패턴입니다. 싱글톤은 주로 설정 정보 관리 객체, 공유 자원 관리 객체, 로그 객체 등에 주로 사용되는 친구예요. public class Singleton { // 1. 자신의 인스턴스를 static으로 선언 (오직 하나) private static Singleton instance; // 2. 생성자를 private으로 선언 (외부에서 생성 못함) private Singleton() {} // 3. 인스턴스..

Backend/Java 2025.07.24

제네릭 (Generic)

안녕하세요. 이번 포스팅은 제네릭(Generic)에 대해 간단하게 알아볼게요. 제네릭(Generic) 제네릭은 데이터타입을 일반화(Generalize)하는 것으로 클래스나 메서드를 선언할 때, 구체적인 타입을 명시하지 않고, 사용 시점에 지정할 수 있도록 하는 기능이에요. 제네릭의 타입 매개변수 제네릭의 타입 매개변수는 총 네 가지 T, K, V, E 가있는데요. 작성되는 실실적인 타입을 전달해 줘요. 그럼 각각 의미와 사용 용도를 알아볼까요? : Type의 약자로 아무 타입이나 들어올 수 있어서 가장 흔하게 사용해요. : Key의 약자로 Map 구조에 주로 사용하면서 키타입을 표현할 때 사용해요. : Value의 약자로 Map 구조에 주로 사용하면서 값 타입을 표현할 때 사용해요. ** 와 ..

Backend/Java 2025.07.23

Java 기초 테스트

안녕하세요. 전 포스팅은 기본 코딩연습문제를 알아봤는데요. 이번에는 자바의 기초 테스트를 간단하게 알아볼까 해요. 내가 얼마나 기초이론을 이해했는지 알아볼 수 있는 시간이었으면 좋겠어요. 답은 글자색을 흰색으로 설정이 되어서 드레그 하시면 잘 보입니다! 그럼 한번 같이 풀어볼까요? ------------------------------- ------------------------------- ------------------------------- 1. 자바에서 모든 클래스의 최상위 부모 클래스는 무엇입니까?정답: Object→ 자바의 모든 클래스는 암시적으로 Object 클래스를 상속받음→ Object 클래스가 가진 toString(), equals() 등의 메서드를 기본적으로 가짐 2. ArrayL..

Backend/Java 2025.07.23

Java의 기초 테스트 1편 - 코딩 해설

안녕하세요 오늘은 기초 테스트 1편 코딩문제를 보고 간단하게 해석을 하면서 같이 코딩을 해보기로 해요. 저도 코딩에 익숙하지 못하지만 함께 풀어 볼까요? 코드 구현 문제 다음 요구사항을 만족하는 코드를 작성하세요. 요구사항int 타입의 변수 num1에 10, double 타입의 변수 num2에 3.5를 저장합니다.두 변수를 더한 결과를 double 타입의 변수 result에 저장합니다.결과 값을 출력합니다.public class Note { public static void change(String[] data, String s) {// 변수 선언 및 초기화int num1 = 10; // int 타입 변수 num1에 10 저장double num2 = 3.5; // double 타입 변수 nu..

Backend/Java 2025.07.22

Java의 기초 테스트 1편 - 코딩

안녕하세요 오늘은 특별한 내용을 들고 왔는데요. 바로 Java를 공부하시는 분들을 위한 간단한 문제를 드리고자 작성해 봐요! 처음에 저도 이론만 이해했지 직접 문제를 보고 코딩을 완성시키기가 매우 어려웠답니다.(대부분 못했어요 ㅜㅜ) 주변 사람들은 쉽게 풀 수 있지만 저같이 첫 발을 내민 준비생이라면 힘들 수 있는 그런 문제들이에요. 꾸준한 연습을 하시면 잘하실 거라 굳게 믿고 있어요! 그럼 코딩문제를 드릴게요! 모범답안지는 다음 포스팅 때 올려드릴게요. 한번 도전해 보세요! 코드 구현 문제 다음 요구사항을 만족하는 코드를 작성하세요. 요구사항int 타입의 변수 num1에 10, double 타입의 변수 num2에 3.5를 저장합니다.두 변수를 더한 결과를 double 타입의 변수 resu..

Backend/Java 2025.07.21

Lombok 설정 방법

안녕하세요. 이번에는 롬복(Lombok)에 대한 간단한 설명과 인텔리제이에 적용 방법을 알아보겠습니다. 롬복(Lombok) 롬복은 자바에서 반복적으로 작성해야 하는 보일러플레이트(boilerplate) 코드를 줄여주는 라이브러리인데요. 어노테이션(코드 주석)을 사용하여 코드를 간결하게 만들어 주는 역할을 하고 있어요. 그럼 대표적인 보일러 플레이트 코드를 간단하게 알아볼까요? 보일러 플레이트 코드 보일러 플레이트 코드는 프로그래밍에서 반복되는 작업이나 패턴에 대한 일종의 표준화된 코드이고. 대표적인 코드는 Getter / Setter, toString(), "생성자", 빌더 패턴 이 있어요. 코딩 공부를 하시면서 많이 접해왔던 코드들인데요. 롬복을 Java에 적용하는 법을 알아볼까요? 롬복..

Backend/Java 2025.07.17