본문 바로가기

Java10

[Java] Annotation Processor 사용법 & 예제 어노테이션 프로세서(Annotation Processor)란? 어노테이션 프로세서란 Java 파일을 컴파일하거나 프로젝트 빌드 시 선언된 어노테이션을 감지하고 그에따라 정해진 작업을 수행하는 도구를 의미한다. 이러한 프로세서는 코드 생성, 검증, 문서화 등 다양한 작업을 자동화할 수 있으며, 특히 반복적인 보일러플레이트 코드(Boilerplate Code)를 줄이는데 효과적이다. 이러한 처리 과정을 Annotation Processing이라고 하며, 대표적인 예로는 롬복(Lombok) 라이브러리, Jpa 모델 검증(Hibernate), Spring REST Docs 등이 있다. 표준 annotation processing API는 새로운 파일을 생성할 수 있지만 기존 파일을 수정할 수 없다는 제약조건을 .. 2025. 6. 9.
[Java] JPA 이해하기 JPA란?JPA는 애플리케이션에서 관계형 데이터베이스를 객체지향적으로 사용할 수 있게 해주는 ORM(Object-Relational Mapping) 기술 표준이다.   ORM(Object-Relational Mapping)은 객체와 관계형 데이터베이스를 매핑하여 데이터베이스 작업을 객체지향적으로 처리할 수 있게 해주는 기술이다. 데이터베이스의 테이블을 단순한 데이터 집합이 아닌, 하나의 객체 대상(entity)로 바라보고 다룰 수 있게 한다. 즉, 객체를 직접 저장하고 조회할 수 있게 해준다. 반면 MyBatis나 Spring JdbcTemplate과 같은 SQL Mapper는 단순히 SQL 쿼리를 Java 코드와 연결하는 것에 초점을 맞추고 있어 ORM과는 다른 접근 방식을 보여준다. JPA의 장점 J.. 2024. 12. 20.
[Java api] Active Directory와 연결방법 (LDAP) Active Directory란?Active Directory(AD)는 사용자 정보를 저장하고 관리하는 디렉토리 서비스이다. 일반적인 관계형 데이터베이스(MySQL, Oracle DB 등)와는 달리, AD는 도메인 네임 시스템(DNS)을 기반으로 한 '계층적 디렉토리 구조'를 통해 데이터를 저장하고 관리한다.* 이름을 기준으로 데이터에 손쉽게 접근할 수 있다. ex) 저장되는 데이터의 name 예시 - 아래처럼 entry를 ,로 나열한 형태이다. CN=Jeff Smith,OU=Sales,DC=Fabrikam,DC=COM ('Fabrikam company 세일즈 팀 Jeff Smith'의 식별이름) 데이터 접근방식 - LDAP AD의 데이터에 접근하기 위해서는 LDAP 프로토콜을 사용한다.LDAP.. 2022. 5. 1.
Anonymous Class (익명 클래스)란? (+ GUI에서의 활용) 상속 개념을 통해 자식 클래스는 인터페이스나 부모 클래스를 구현(or 상속)합니다. 그렇다면 자식클래스는 항상 별도의 클래스로 만들어줘야 할까요? 익명 클래스(Anonymous class)는 이런 궁금증에 대한 답변이 됩니다. Anonymous class는 말그대로 이름 없이 정의된 클래스를 의미하며 선언을 위한 요소와 선언 방법은 다음과 같습니다. The new operator The name of an interface to implement or a class to extend. Parentheses that contain the arguments to a constructor, just like a normal class instance creation expression. Note: When y.. 2021. 5. 22.
char - int 형변환 살펴보기 이해했다고 생각했지만 코드를 작성하다 Character - Integer 간 형변환 때문에 원하는 결과값이 안나와서 정리하게 되었습니다. 본 내용에 들어가기 앞서, 임의의 숫자를 문자열로 입력받고 특정 위치의 숫자를 활용하여 연산하는 코드를 생각해보겠습니다. 첫번째와 세번째 위치의 숫자를 더한다고 가정했을 때, 문자열의 특정 위치에 있는 문자를 반환하는 charAt(int index)메소드를 떠올릴 수 있습니다. String example = "23456";//입력받은 숫자열 int num1 = example.charAt(0);//첫번째 숫자 int num2 = example.charAt(2);//세번째 숫자 int sum = num1+num2; /* * charAt(int index) : String의.. 2021. 5. 18.
객체생성 (Creating Objects) // ref: new 연산자 객체지향언어는 현실세계처럼 객체간의 협력 관계를 프로그래밍하는 언어입니다. 객체는 프로그램에서 구현하고자하는 대상이며 클래스는 객체를 위한 설계도로 볼 수 있습니다. 객체는 어떻게 생성할까요?? Example ex = new Example(); 위 문장은 Example 클래스의 객체(인스턴스)를 생성하는 코드이며 아래처럼 해석할 수 있습니다. (Oracle에서 제공하는 Java Documentation 참고) 1. Declaration: The code set in bold are all variable declarations that associate a variable name with an object type. 2. Instantiation: The new keyword is a Java oper.. 2021. 5. 5.