자바 내부 클래스의 종류와 활용

내부 클래스 개요 내부 클래스는 하나의 클래스 안에 다른 클래스(인터페이스, 열거형, 애노테이션 포함)를 정의하는 구조입니다. 이는 코드의 구조적 분리와 캡슐화를 강화하며, 특정 영역에서만 사용되는 클래스를 효과적으로 관리할 수 있게 해줍니다. 내부 클래스의 유형 1. 멤버 내부 클래스 (Member Inner Class) 외부 클래스 내부에 정의되며 static 키워드로 선 ...

6월 17일 21:59에 게시됨

Java에서 상속과 인터페이스 구현의 차이점: extends와 implements

extends와 implements의 핵심 개념 Java에서는 클래스 간의 관계를 정의하기 위해 extends와 implements라는 두 가지 키워드를 사용한다. 이 둘은 모두 재사용성을 제공하지만, 그 목적과 사용 방식에는 중요한 차이가 있다. 상속: extends 키워드 extends는 기존 클래스를 상속받아 새로운 하위 클래스를 만드는 데 사용된다. 이를 통해 자식 클래스는 부모 클래스의 필 ...

6월 17일 19:16에 게시됨

Java 파일 관리 기초

임시 파일 생성 다음 메소드를 사용하여 임시 파일을 생성할 수 있습니다: createTempFile(String prefix, String suffix, File directory) 여기서 prefix는 파일명의 접두사, suffix는 확장자, 그리고 directory는 파일이 저장될 디렉토리를 나타냅니다. File tempDir = new File("C:\\사용자\\MACHENIKE\\바탕화면"); File tempFile = File.createTempFile(&qu ...

6월 17일 19:01에 게시됨

Arrays.sort() 메소드의 작동 원리와 활용 방법

Java에서 배열 정렬은 개발자들이 일상적으로 마주하는 작업 중 하나다. Arrays.sort(T[] array, Comparator<? super T> c) 메소드는 사용자 정의 객체 배열을 정렬할 때 사용하는 강력한 도구다. 이 메소드의 내부 동작 원리와 활용 방식을 살펴보자. 1. 기본 사용법 Comparator 인터페이스를 구현하면 객체 간 비교 로직을 정의할 수 있다. 다음 예제는Animal 클 ...

6월 17일 18:47에 게시됨

Java 예외 처리 및 메소드 활용

프로젝트 구조 5.3 예외 처리 문법 예제: ExceptionTest01 catch 블록에서 return 문을 실행하더라도 finally 블록의 코드는 반드시 실행된다. 따라서 "캡처된 예외 정보: / by zero"가 출력된 후 "finally 코드 블록 진입" 메시지가 출력된다. 코드 예시 package com.example.exception; /** * 핵심 포인트: * 1. finally 블록의 역할: 예외 발생 여부와 관계없이 ...

6월 17일 04:53에 게시됨

네 수 합계 최적화 및 문자 조합 문제 해결

454. 네 수의 합 (두 쌍으로 분할) 문제는 네 개의 배열에서 각각 하나씩 원소를 선택하여 합이 0이 되는 조합의 수를 세는 것이다. 접근 방식은 두 배열을 먼저 조합해 합을 해시맵에 저장하고, 나머지 두 배열의 합과 보완되는 값을 탐색하는 방식이다. 첫 번째 단계: nums1과 nums2의 모든 쌍의 합을 계산하여 Map<합, 등장 횟수>로 저장한다. 두 번째 단계: nu ...

6월 17일 04:47에 게시됨

Go-FastDFS 웹 관리 플랫폼 설치 및 설정 가이드

프로젝트 개요 및 주요 기술 스택 Go-FastDFS는 고성능과 높은 신뢰성을 갖춘 분산 파일 저장 시스템으로, 파일 업로드의 지속성, 파편화된 전송, 소형 파일 통합, 자동 동기화 및 복구 기능을 제공합니다. 이에 기반한 Go-FastDFS 웹 관리 플랫폼은 사용자가 시각적 인터페이스를 통해 파일 시스템을 쉽게 제어하고 상태를 모니터링할 수 있도록 지원합니다. 본 프로젝트 ...

6월 17일 04:32에 게시됨

HTML 문자열에서 한글 텍스트 추출하기

시스템 내 공지사항이나 사용자 입력 콘텐츠를 관리할 때, 종종 HTML 태그가 포함된 문자열을 다뤄야 하는 경우가 있습니다. 예를 들어, 에디터를 통해 작성된 공지 내용은 다음과 같이 서식과 함께 저장될 수 있습니다. <p class="ql-align-center"><strong>추석 연휴 안내</strong></p> <p>매년 찾아오는 설날을 맞아, 직원 여러분의 ...

6월 17일 03:57에 게시됨

자바 UDP 네트워크 프로그래밍 기초

이전에 TCP 네트워크 통신에 대해 간단히 소개했던 내용을 바탕으로, 이제 UDP 통신에 관한 내용을 보충해 보겠습니다. UDP는 신뢰성이 보장되지 않는 네트워크 프로토콜이지만, 이는 UDP가 사용 가치가 없다는 의미는 아닙니다. 실제로 특정 상황에서 UDP 프로토콜은 매우 유용하게 사용될 수 있습니다. UDP는 TCP가 가진 속도 이점을 갖고 있기 때문입니다. TCP 프로토콜 ...

6월 17일 00:40에 게시됨

Maven을 활용한 MyBatis 코드 자동 생성

MyBatis는 반자동 ORM 프레임워크로 분류됩니다. 따라서 개발자는 Mapping 파일을 직접 작성해야 하는 경우가 많은데, 이 작업은 실수하기 쉽습니다. mybatis-generator 플러그인을 사용하면 MyBatis에서 필요로 하는 DAO, Bean, Mapper XML 파일을 자동으로 생성할 수 있습니다. 본 글에서는 Eclipse IDE를 기준으로 설명하겠습니다. 데이터베이스 테이블 생성 CREATE T ...

6월 16일 23:28에 게시됨