면접 준비 용 자바 개념 정리 1

2018-09-20

1. 리터럴

  • 변수의 초기값은 코드에서 직접 입력하는 경우가 많은데, 소스코드 내에서 직접 입력된 값을 리터럴(literal)이라고 부른다.
  • 리터럴은 값의 종류에 따라 정수 리터럴, 실수 리터럴, 문자 리터럴, 논리 리터럴로 구분된다.
Read More

매일 까먹는 스프링 개념 정리 4

2018-09-14

1. 트랜잭션

1-1. 트랜잭션 개념

  • 논리적 단위로 어떤 한 부분의 작업이 완료되었다 하더라도 다른 부분의 작업이 완료되지 않았을 경우 전체 취소하는 것이다
  • 이 때 작업이 완료되는 것을 커밋(commit)이라고 하고, 작업이 취소되는 것을 롤백(rollback)이라고 한다
  • 커맨드 패턴?
Read More

매일 까먹는 스프링 개념 정리 3

2018-09-14

1. AOP

1-1. AOP란

  • 관점 지향 프로그램(Aspect Oriented Programming)
  • 프로그래밍을 하다 보면 공통적인 기능이 발생하는데, 이러한 공통 기능을 모든 모듈에 적용하기 위한 방법으로 상속을 통한 방법이 있다
  • 하지만 자바에는 다중 상속이 불가하므로 다양한 모듈에 상속 기법을 통한 공통 기능 부여에는 한계가 있다.
  • 그리고 기능 구현 부분에 핵심 기능 코드와 공통 기능 코드가 섞여 있어 효율성이 떨어진다 (ex. log)
  • 위의 상속을 통한 방법에는 한계가 있어 AOP가 등장했다.
  • AOP 방법은 핵심 기능과 공통 기능을 분리 시켜 놓고, 공통 기능을 필요로 하는 핵심 기능들에서 사용하는 방식이다.
Read More

매일 까먹는 스프링 개념 정리 2

2018-09-10

1. 외부 파일을 이용한 설정

1-1. Environment 객체

  • environment 객체를 이용해서 스프링 빈 설정을 한다.
  • 외부 설정 파일들을 가져와서 프로퍼티를 추가하거나 추출하는 역할을 한다
  • Context > ctx.getEnvironment() > Environment > env.getPropertySource() > PropertySource > env.getProperty()
Read More

매일 까먹는 스프링 개념 정리 1

2018-09-09

1. DI (Dependency Injection)

  • 객체간의 의존성을 자신이 아닌 외부에서 주입하는 개념
  • 소스 코드의 변경 없이 환경 설정만으로도 프로그램을 제어할 수 있다 (모듈 간의 결합도를 낮춰서 유연한 변경을 가능하게 함)
  • Java 파일의 수정 없이 스플이 설정 파일만을 수정하여 부품들을 생성/조립 할 수 있음
  • 각 class 사이의 의존 관계를 Bean 설정 정보를 바탕으로 container가 자동으로 연결해주는 것을 의미함
Read More