High Level Programming Language(116)
-
Java Components
보호되어 있는 글입니다.
2023.05.29 -
All about JAVA
🌱 Java의 탄생과 역사: JDK 설치 전에 알아두면 좋은 이야기Java로 프로그래밍을 시작하려면 가장 먼저 JDK(Java Development Kit)를 설치해야 합니다. JDK는 자바 애플리케이션을 개발하고 실행하는 데 필수적인 개발 도구이며, 최신 버전뿐만 아니라 이전 버전도 선택하여 사용할 수 있습니다.하지만 Java는 단순한 언어가 아닙니다. 그 뿌리를 알고 나면 더 깊이 이해할 수 있습니다. Java는 현재는 웹 애플리케이션 개발에서 많이 사용되지만, 처음부터 웹을 위해 만들어진 언어는 아니었습니다. 지금부터 Java가 어떻게 탄생했는지를 역사적으로 한 번 짚어보겠습니다. 👇 🧪 Java 시작 이전의 역사Java는 웹 이전의 임베디드 가전 디바이스를 위해 시작되었습니다. 당시에는 다양..
2023.05.25 -
Java Project 생성
STS4를 실행합니다. 아래의 그림처럼 Package Explorer의 Create a Java project를 선택해서 Java 프로젝트를 생성할 수 있지만,STS4의 File 메뉴 -> New 아이템 -> Java Project 아이템 선택을 통해 Java 프로젝트를 생성하도록 합니다. Java Project 아이템 선택을 통해 팝업된 New Java Project 대화상자에서 아래와 같이 설정합니다.그리고 Finish 버튼을 선택합니다.우리에게는 Module 정보가 필요없으므로, Don't Create를 선택합니다. 아래 그림처럼 Package Explorer에 HelloWorld 프로젝트가 생성되었음을 확인할 수 있습니다.Package Explorer의 HelloWorld 프로젝트의 src 항목에..
2023.05.25 -
Spring Tool Suite 4 설치
Spring Tool Suite 4 Non Self Extracting(*.zip) 버전 설치아래 URL에서 최신 버전의 STS4를 선택합니다.https://spring.io/tools다운받은 zip 파일을 압축을 풀고, SpringToolSuite4.exe를 실행시킵니다. SpringToolSuite4.exe를 실행시키면 다음과 같이 Workspace 선택 대화상자가 팝업됩니다.원하는 워크스페이스 경로를 선택합니다Launch 버튼을 선택합니다. Spring Tool Suite 4 Self Extracting(*.jar) 버전 설치https://spring.io/tools Spring | Tools spring.io위 URL의 경로에서 제공하는 웹 페이지에서 PROJECT WIKI를 선택합니다. 아..
2023.05.25 -
CGLIB Enhancer
🧠 CGLIB Enhancer 완전 정복: 동적 프록시를 생성하는 마법의 클래스📌 들어가며Spring AOP 또는 고급 프록시 프레임워크에서 흔히 등장하는 net.sf.cglib.proxy.Enhancer.이 클래스는 런타임에 기존 클래스(프록시 패턴에서의 타겟 클래스[Target Class])를 확장(상속)하여 새로운 프록시 클래스를 생성하는 핵심 클래스입니다.본 글에서는 CGLIB의 Enhancer가 어떤 역할을 하는지, 내부적으로 어떻게 동작하는지, 그리고 실무에서 어떻게 사용되는지를 심층적으로 분석해보겠습니다. ✅ 기본 역할: 클래스를 "향상(Enhance)" 시킨다Enhancer는 CGLIB에서 프록시 객체를 만들기 위한 중앙 클래스입니다. 📘 정의: Enhancer는 런타임에 특정 클래스..
2023.05.19 -
Proxy Target Class 조건
프록시 클래스의 타겟 클래스가 되기 위한 조건은 다음과 같습니다:인터페이스여야 한다:프록시 클래스는 인터페이스를 구현해야 하며, 클래스 또는 기본 타입이어서는 안 됩니다. 즉, Proxy.newProxyInstance 메서드의 interfaces 배열에 포함되는 모든 객체는 인터페이스의 Class 객체여야 합니다.숨겨지지 않고(non-hidden) 봉인되지 않은(non-sealed) 인터페이스여야 한다:인터페이스는 package-private(패키지 전용)이거나 그보다 더 공개된 접근 수준을 가져야 합니다. private로 선언된 인터페이스는 프록시 생성에 사용할 수 없습니다.또한, 인터페이스는 sealed로 선언되지 않아야 합니다. sealed 인터페이스는 구현할 수 있는 클래스나 인터페이스를 제한하므..
2023.05.17