본문 바로가기

반응형

자바(Java)

(17)
코드로 보는 SOLID 원칙 1. 단일 책임 원칙 (Single Responsibility Principle - SRP)단일 책임 원칙(SRP, Single Responsibility Principle)은 "클래스는 단 하나의 책임만 가져야 하며, 변경의 이유가 하나여야 한다."는 원칙이다.즉, 하나의 클래스가 너무 많은 역할을 담당하면 유지보수가 어려워지고, 코드가 변경될 때 예기치 않은 문제가 발생할 가능성이 높아진다. SRP를 준수하면 각 클래스가 하나의 기능만 담당하여 코드의 가독성과 유지보수성이 향상된다. ❌ SRP를 위반한 코드 (잘못된 예시)🚨 잘못된 설계: Employee 클래스가 너무 많은 역할을 담당class Employee { private String name; private double salar..
Java - equals, hashCode 1. 기초 지식1) 동일성이란?동일성(identity)은 객체가 동일한 인스턴스인지를 나타내는 개념이다. 즉, 두 참조 변수가 동일한 객체를 가리키는지를 확인하는 것이다. 이는 객체의 메모리 주소가 같은지를 비교하는 것이다.자바에서는 동일성을 확인하기 위해 == 연산자를 사용한다. 이 연산자는 비교하는 두 참조 변수가 같은 객체를 가리키는지를 확인한다. 두 참조 변수가 같은 객체를 가리키는 경우에만 true를 반환한다.예시 코드String str1 = "hello";String str2 = "hello";String str3 = new String("hello");System.out.println(str1 == str2); // trueSystem.out.println(str1 == str3); // f..
Java - 엑셀 업로드 후 DB 저장 1. 작업 환경 - Java 버전: 8.0 - spring.maven.artifact.version: 4.1.2.RELEASE - egovframework.rte.version: 3.5.0 - apachetiles.version: 3.0.5 - Tomcat: 8.0 - Tool: Eclipse IDE for Enterprise Java and Web Developers - 2023-06 - DB: oracle - Used File Strurcture: VO, Dao, Service, ServiceImpl, Controller, JSP, mybatis - used API: apache.poi, springframework.web.multipart.MultipartFile 2. 작업 내용 1) 다운로드 받은..
Java - Stream 1. 정의 자바에서 스트림(Stream)은 컬렉션, 배열 또는 I/O 자원과 같은 데이터 소스를 처리하는데 사용되는 연속적인 요소 시퀀스이다. 스트림은 데이터를 처리하는데 편리한 기능을 제공하며, 람다식과 메서드 참조를 활용하여 간결하고 가독성 있는 코드를 작성할 수 있다. 2. 특징 1) 스트림은 데이터를 저장하지 않는다. 스트림은 단지 요소의 연속적인 흐름을 나타내며, 실제 데이터는 스트림을 생성한 컬렉션이나 배열에 저장되어 있다. 이는 스트림이 더 효율적으로 대용량 데이터를 처리할 수 있게 해준다. 2) 스트림은 일회용이다. 스트림은 일회용이므로 한 번 사용한 스트림은 재사용할 수 없다. 필요한 경우에는 새로운 스트림을 생성해야 한다. 3) 스트림은 연산을 지원한다. 스트림은 중간 연산(interm..
Java - 메소드 참조와 Optional 클래스 1. 메소드 참조란? 자바 메소드 참조(Method Reference)는 자바 8부터 도입된 기능으로, 람다 표현식을 더 간결하게 표현할 수 있게 해주는 문법적인 도구이다. 메소드 참조를 사용하면 불필요한 코드를 줄이고 가독성을 향상시킬 수 있다. 메소드 참조는 주로 함수형 인터페이스(Functional Interface)와 함께 사용되며, 람다 표현식으로 실행할 메소드를 직접 지정하는 대신 해당 메소드의 참조를 전달하여 사용하는 것이다. 이는 특히 메소드가 이미 정의되어 있는 경우 유용하며, 코드의 재사용성을 높일 수 있다. 2. 메소드 참조 유형 1) 정적 메소드 참조(Static Method Reference) 클래스의 정적(static) 메소드를 참조하며, 참조 형식은 ClassName::stat..
Java - 람다식 1. 기초 지식 람다식 이전에 사용되던 “익명 클래스”에 대해 선행하며, 람다식에 대한 이해를 향상시키고자 한다. 1) 익명 클래스 (Anonymous Class) 자바에서 익명 클래스(Anonymous Class)는 이름이 없는 클래스로, 주로 인터페이스나 추상 클래스의 객체를 생성할 때 사용된다. 익명 클래스는 한 번만 사용할 목적으로 간단한 클래스를 정의하고 인스턴스화할 때 유용하다. 주로 이벤트 핸들링, 스레드 생성 등에서 활용된다. 기본 구조> 인터페이스명/클래스명 변수명 = new 인터페이스명/클래스명() { // 멤버 변수 및 메서드 구현 }; Button 클래스의 클릭 이벤트 처리를 위한 익명 클래스 사용 예시> public class Main { public static void main..
Java Collection - 2 1. 자주 사용하는 자료구조 List, Map, Set 비교 요약 (Java Collection - 1 복습) 1) List: 요소의 순서가 중요하고, 중복을 허용해야 한다면 List 순서가 있는 데이터의 컬렉션이다. 중복된 요소를 포함할 수 있다. 인덱스를 사용하여 요소에 접근할 수 있다. 일반적으로 배열 형태로 구현된다. Java에서는 ArrayList, LinkedList 등이 List 인터페이스를 구현하는 클래스이다. 2) Map: 키-값 쌍을 저장하고, 키를 기반으로 값을 검색해야 한다면 Map 키-값(key-value) 쌍의 데이터를 저장하는 컬렉션이다. 순서가 정의되어 있지 않다. 키는 중복될 수 없지만, 값은 중복될 수 있다. 키를 사용하여 값을 검색하고, 변경할 수 있다. Java에서는 ..
Java Collection - 1 1. Collection이란? 자바에서 데이터를 저장, 관리, 조작하는 데 사용되는 인터페이스와 클래스의 계층 구조이다. 요약하면, Java Collection은 자료구조 및 알고리즘을 구현해 놓은 일종의 라이브러리로, 제네릭 기반으로 구현되어 있다. 이를 활용하여 다양한 애플리케이션에서 효율적인 데이터 관리를 할 수 있다. *Java Collection Framework: 다양한 데이터 구조 제공, 데이터의 저장, 탐색, 정렬, 필터링 등 지원 2. List 인터페이스 List 인터페이스는 자바 컬렉션 프레임워크(Collection Framework)의 일부로, 순서가 있는 요소의 컬렉션을 나타낸다. List는 중복된 요소를 허용하며, 각 요소는 인덱스를 통해 접근할 수 있다. 이 인터페이스는 자바의 ..

반응형