자바

·RESOURCE/IT개념
스프링에서 생성자 주입 vs. @Autowired 주입스프링 프레임워크에서 의존성 주입은 객체 간의 의존성을 관리하고 주입하는 방식이다. 최근 트렌드로는 @Autowired를 사용한 필드 주입(Field Injection)보다 생성자 주입(Constructor Injection)을 선호하는 경향이 있다. 이를 자세히 살펴보고, 보일러플레이트 코드의 개념을 함께 설명하겠다.@Autowired 필드 주입@Autowired는 스프링에서 클래스 간의 의존성을 자동으로 연결해주는 어노테이션이다. 클래스에 주입해야 하는 의존성을 @Autowired로 표시하면, 스프링은 해당 타입의 빈을 애플리케이션 컨텍스트에서 찾아 주입한다.@Servicepublic class UserService { @Autowired ..
·RESOURCE/IT개념
메서드의 오버로드와 오버라이드를 보고 있자니, 결국 자바 어노테이션의 활용인 것 같아서 그 원리가 궁금해졌다. 스프링 프레임워크의 어노테이션들이나 IT시장의 여러 자바기반 프레임워크들이 메타데이터를 주입시켜서 활용하고 있는 모습을 많이 볼 수 있는데, 그 원리를 확인해보려고 한다.자바 어노테이션의 상세한 원리와 종류자바 어노테이션은 메타데이터를 제공하는 기능으로, 코드에 대한 추가 정보를 제공하여 컴파일러나 런타임에 특정 동작을 수행할 수 있게 한다. 어노테이션은 주석처럼 코드에 부착되지만, 자바 바이트코드 파일에도 포함되어 런타임에 리플렉션을 통해 접근할 수 있다.컴파일 타임과 런타임컴파일 타임컴파일 타임은 소스 코드가 바이트코드로 변환되는 시점을 의미한다. 컴파일 타임에 수행되는 작업은 다음과 같다:..
·RESOURCE/IT개념
제 4장: 객체를 더 깊이 이해하기4장에서는 자바에서 객체를 더 깊이 이해하고 활용하는 방법을 다룬다. 주요 내용은 다음과 같다:메서드 오버로딩메서드 오버로딩: 같은 이름의 메서드를 여러 개 정의할 수 있는 기능으로, 매개변수의 타입이나 개수에 따라 서로 다른 메서드를 호출할 수 있게 한다. 이는 코드의 가독성을 높이고, 동일한 작업을 다양한 방식으로 수행할 수 있게 한다.메서드 오버로딩의 규칙메서드 이름은 동일해야 한다.매개변수의 타입이나 개수가 달라야 한다.리턴 타입은 다를 수 있지만, 이것만으로 오버로딩을 구분할 수 없다.접근 제어자와 예외는 오버로딩에 영향을 주지 않는다.예제다음은 메서드 오버로딩의 예제다:public class MathUtils { // 두 개의 정수를 더하는 메서드 ..
·RESOURCE/IT개념
인스턴스(Instance)란 무엇인가?인스턴스는 프로그래밍에서 특정 클래스의 구체적인 실체를 의미한다. 클래스를 설계도라고 하면, 인스턴스는 그 설계도를 바탕으로 실제로 만들어진 제품이라고 할 수 있다. 클래스는 객체를 생성하기 위한 청사진을 제공하지만, 실제로 동작하는 객체는 인스턴스다.클래스와 인스턴스의 기본 개념클래스란?클래스는 객체 지향 프로그래밍에서 객체를 정의하는 틀이다. 클래스는 객체의 속성(데이터)과 메서드(기능)를 정의한다. 이를 통해 클래스를 기반으로 여러 개의 객체를 만들 수 있다. 예를 들어, 자동차 클래스를 정의하면, 이 클래스를 기반으로 다양한 종류의 자동차 객체를 생성할 수 있다.인스턴스란?인스턴스는 클래스에서 정의된 객체를 실제로 생성한 것이다. 즉, 클래스는 설계도이고, 인..
김히호
'자바' 태그의 글 목록