개발용사 준기 Dev Warrior Jungi
Spring Contrainer & Bean 1) 스프링 컨테이너의 개념 스프링 프레임워크에서 객체(Bean)를 생성, 배포, 관리하기위해 커다란 박스를 만드는데 그것을 스프링 컨테이너라고 합니다. 2) Bean의 개념 스프링 프레임워크에서 관리되는 객체를 의미합니다. Bean은 크게 두가지로 나눌 수 있다. 일반적인 Java 클래스로서 특정한 인터페이스를 구현하거나 클래스를 상속받을 필요가 없습니다. 스프링에서는 POJO 클래스를 Bean으로 인식하고 스프링 컨테이너에 등록할 수 있습니다. 메타데이터는 XML, Annotation 또는 JavaConfig 형식으로 작성될 수 있습니다. 메타데이터는 Bean의 속성, 의존성, 라이프사이클 등을 정의하고, 스프링 컨테이너는 해당 메타데이터를 기반으로 Bea..
의존성 역전 1) 의존성 역전(IoC, Inversion of Control)의 개념 소프트웨어 개발에서 컴퓨터 프로그램의 제어 흐름을 역전시키는 개념 일반적으로 프로그램의 제어 흐름은 개발자가 코드를 작성하여 결정하게 됩니다. 그러나 IOC에서는 제어 흐름의 결정 권한을 프레임워크나 컨테이너에 위임하고, 개발자는 이를 따르는 방식으로 개발을 진행합니다. "상위 수준 모듈은 하위 수준 모듈에 의존해서는 안 된다. 둘 모두 추상화에 의존해야 한다."라는 개념 즉, 상위 수준 모듈은 하위 수준 모듈에 직접 의존하는 대신, 추상화된 인터페이스나 추상 클래스와 같은 추상화 계층에 의존해야 합니다. 2) 의존성 역전의 예시 public class Pikachu { public void attack() { // 피..
의존성 주입 1) 의존성 주입의 개념 DI는 객체가 직접 필요로 하는 의존성을 생성자, Setter 메서드, 필드 주입 등의 방법으로 주입받는 것을 의미 이를 통해 객체 간의 결합도를 낮추고, 코드의 재사용성과 유지보수성을 향상시킬 수 있습니다. 2) 의존성 주입의 세가지 방법 ① 생성자 주입 ( Constructor Injection ) 생성자를 통해 의존성을 주입하는 방법입니다. 클래스의 생성자를 정의하고, 해당 클래스가 필요로 하는 의존성을 생성자의 매개변수로 선언합니다. public class Attack { private String name; // Attack 클래스 선언 public Attack(String name) { this.name = name; } public void perform..
1) 스프링의 개념 Java 플랫폼에서 애플리케이션 개발을 위한 오픈 소스 프레임워크 2) 스프링의 기원 1』개발자는 누구인가? 호주 시드대학교 출신의 컴퓨터 프로그래머 로데릭 로드 존슨이 전통적인 J2EE (Java 2 Platform, Enterprise Edition) 개발 방법, 특히 EJB의 문제점과 복잡성을 지적하고, 개발자가 보다 간결하고 유연한 애플리케이션을 개발할 수 있도록 경량 프레임워크인 스프링을 제작함. 2』 왜? 전통적인 J2EE 개발의 문제때문에 !! J2EE(Java 2 Platform, Enterprise Edition)는 기업용 Java 플랫폼으로, 웹 애플리케이션 및 분산 애플리케이션을 개발하기 위한 다양한 기능과 API를 제공하였으나, 아래와 같은 문제점들이 있었습니다...
객체 지향 프로그래밍 1) 객체 지향 프로그래밍(Object-Oriented Programming, OOP)의 개념 현실 세계의 사물을 프로그램으로 모델링하는 프로그래밍 방법입니다. 이 방법은 프로그램을 개별적인 객체들의 집합으로 구성하고, 객체들 간의 상호작용을 중심으로 프로그램을 구성합니다. 2) 객체 지향 프로그래밍의 장점 ① 모듈화객체지향 프로그래밍은 코드를 독립적인 모듈인 객체로 나누어 개발할 수 있습니다. 이로 인해 코드의 재사용성이 증가하고 유지보수가 용이해집니다. ② 코드 재사용상속을 통해 부모 클래스의 속성과 동작을 자식 클래스에서 재사용할 수 있습니다. 이를 통해 중복 코드를 피하고 개발 시간을 절약할 수 있습니다. ③ 유지보수성수정이 필요한 부분을 객체 단위로 수정하거..
1. 클래스 선언 1) 클래스 선언의 개념 객체를 생성하기 위한 템플릿 또는 설계도 역할을 합니다. 클래스는 속성(attribute)과 메서드(method)로 구성되어 있으며, 객체의 상태와 동작을 정의하는데 사용됩니다. 2) 클래스 선언의 형식 [접근 제어자] class 클래스이름 [extends 부모클래스] [implements 인터페이스] { // 멤버 변수 (속성) // 생성자 (Constructor) // 메서드 (동작) // 중첩 클래스 (Nested Class) } public class Animal { // Animal 동물이라는 클래스 선언 private String name; private int age; // 멤버 변수 (속성) // 이름과 나이라는 변수를 가짐. public Anim..