##스프링 컨테이너 스프링 컨테이너는 스프링 빈을 관리하는 객체이다 스프링 컨테이너는 @Configuration이 붙은 설정 클래스를 설정 정보로 사용한다 이 클래스 내부에서 @Bean이 붙은 메서드의 이름으로 컨테이너에 객체를 등록하는데 이를 스프링 빈이라고 한다 ##스프링 빈 스프링 빈은 프로그램 실행 중 사용하기 위해 미리 만들어놓은 객체라고 ...
객체 지향 설계의 5가지 원칙(OOP, Object Oriented Programming)
####절차지향 언어란? 필요에 의해 함수를 만들고 순차적으로 진행하는 방식 대표적으로 C언어가 있다 빈 스프링이 IoC방식으로 관리하는 오브젝트 빈 팩토리 스프링 IoC를 구현하는 핵심 컨테이너 인터페이스를 말하며 구현체는 Application Context이다 애플리케이션 컨텍스트 빈 팩토리를 확장한 IoC ...
객체 지향 설계 (OOP, Object Oriented Programming)
객체 지향 설계란? 기술 면접 단골 질문이지만 의외로 바로 대답이 나오지는 않는 질문이다 이참에 확실히 정리하고 포스팅을 작성한다 “객체들을 통해 로직을 구성하는 프로그래밍 방법론, 여기서 객체는 추상화된 설계도를 통해 생성되고 상태와 행위를 가진다” 객체 지향 설계의 장점 ###1. 코드 재사용이 용이하다 이미 작성된 클래스를 가져와 이용할...
좋은 코드란 무엇일까?
좋은 코드란 무엇일까? 좋은 코드란 무엇인가 물어보면 대답하기 어려운 경우가 많다 그래서 자료를 찾아보며 하나씩 정리해보려고 한다 1.비즈니스 요구사항을 만족하는 코드 작성한 코드를 크게 두가지로 분류하면 프로토타입 코드와 지속 가능한 코드로 분류할 수 있다 프로토타입 코드는 가독성이 낮고 중복이 많고 많은 오류를 발생시킨다. 하지만 빠르게 작...
서블릿 컨테이너와 스프링 컨테이너
서블릿 컨테이너란? 서블릿은 개발자로 하여금 핵심 비즈니스 로직만 처리할 수 있도록 다양한 기능들을 수행한다 이러한 서블릿을 관리하는 서블릿들의 생성, 실행, 파괴, 즉 서블릿의 생명주기를 관리한다 스프링 컨테이너란? 스프링 컨테이너는 스프링 빈의 생명주기를 관리한다 스프링 빈의 생명주기는 다음과 같다 스프링 컨테이너 생성 -> 스프링 ...
Java 다형성(Polymorphism)
다형성이란? 조상클래스 타입의 참조변수로 자손클래스의 인스턴스를 참조할 수 있게 하는 것이다 Unit을 상속받는 Marin 클래스가 있다고 가정하자 public class Unit{ public int hp; public int mp; } public class Marin extends Unit { public void attac...
Java 내부 클래스(Inner Class)
내부 클래스란? 내부 클래스는 클래스 내부에 선언된 클래스이다 내부 클래스를 사용하는 경우 내부 클래스에서 외부 클래스의 멤버들을 쉽게 접근할 수 있으며 코드 복잡성이 줄어든다는 장점이 있다 내부 클래스의 종류와 특징 |내부 클래스|특징| |—|—| |인스턴스 클래스(instance class)|외부 클래스의 멤버 변수들과 같은 위치에 선언한다. 주...
Java 추상 클래스(Abstract Class), 인터페이스(Interface)
추상 클래스(Abstract Class) 추상 클래스란? 추상 클래스는 추상화 정도가 일반 클래스와 인터페이스의 사이에 있는 클래스이다 추상 클래스는 추상 메서드를 포함하고 있다는 것을 제외하고 일반 클래스와 전혀 다르지 않다 추상 클래스는 단독으로 인스턴스를 생성할 수 없으며 추상 클래스를 상속하여 추상 메서드를 정의해야 사용할 수 있다 추상 메...