본문 바로가기

Back-end

(90)
[Java] 오버라이딩과 오버로딩이 무엇이며 어떤 차이가 있을까요? 오바라이딩(Overriding)은 상위 클래스의 메소드를 재정의 하는 것을 의미합니다. 또한, 런타임 다형성이기도 합니다. 오버로딩(Overloading)은 같은 클래스 내에서 동일한 메소드 이름을 가지지만, 매개 변수의 타입, 개수를 다르게 구현할 수 있는 것을 의미합니다. 또한, 컴파일 타임 다형성이기도 합니다. 따라서, 오버라이딩이 될 수 있습니다. 추가로 '@Override'를 써야하는 이유를 꼭 생각해보세요. 이 어노테이션은 컴파일 타임에 오버라이딩에 대한 안정성을 부여해주기 때문에 반드시 써주는 것이 좋습니다.
[Java] 제네릭이란 제네릭은 자바의 타입 안정성을 맡고 있습니다. 컴파일 과정에서 객체의 타입을 체크를 하기 때문에, 객체의 타입 안정성을 높이고 형변환의 번거로움을 줄여줍니다. 제네릭 선언은 클래스 제네릭 타입으로는 참조형 데이터 타입(배열, 열거 타입, 클래스, 인터페이스)만 설정 가능합니다. (* 레퍼클래스: Boolean, Character, Byte, Short, Integer, Long, Float, Double) 래퍼 클래스는 기본형 데이터 타입을 참조형 데이터 타입으로 바꿔주는 클래스입니다.
[Java] 컬렉션 프레임워크 Java Collection은 널리 알려져 있는 자료구조를 바탕으로 객체, 데이터들을 효율적으로 관리할 수 있는 라이브러리를 컬렉션 프레임워크라고 합니다. List, Set은 Collection 인터페이스를 상속받지만, Map 인터페이스는 구조상 차이라 별도로 정의합니다. List 순서가 있는 데이터의 집합으로 데이터의 중복을 허용함 구현 클래스: ArrayList, LinkedList, Stack, Vector, … 순서 O / 중복 O Set 순서를 유지하지 않는 데이터의 집합, 데이터의 중복을 허용하지 않음 구현 클래스: HashSet, TreeSet, … 순서 X / 중복 X Map 키와 값의 쌍(pair)으로 이루어진 데이터 군집으로 순서는 유지되지 않음 키는 중복을 허용하지 않지만, 값은 중복..
[Spring] DI, DL, IoC , AOP란? DI(Dependency Injection): 한 객체에서 다른 객체를 필요로 하여 의존성을 갖게 하는 기술 DL(Dependency Look-up): 한 객체에서 필요로 하는 다른 객체를 찾아서 사용하는 기술 IoC(Inversion of Control): 직접 제어해야하는 부분에 대한 권한을 프레임워크 등에 넘기는 기술 AOP(Aspect Oriented Programming): 공통의 관심 사항을 추출하여 원하는 곳에 적용하는 기술
[Spring] WAS와 WS의 차이 WAS(Web Application Server) 비지니스 로직을 넣을 수 있음 Tomcat, PHP, ASP, .Net 등 WS(Web Server) 비지니스 로직을 넣을 수 없음 Nginx, Apache 등
[Java] 가비지 컬렉션(Garbage Collection)의 과정 가비지 컬렉터(Garbage Collector)란? '더이상 참조되지 않은 메모리'인 가비지를 청소해주는 JVM의 실행 엔진의 한 요소입니다. JVM은 new와 같은 연산에 의해 새롭게 생성된 객체들 중에서 더이상 참조되지 않는 객체를 정리해줍니다. 가비지 컬렉터는 Heap 영역을 위주로 탐색하여 메모리를 정리해줍니다. 가비지 컬렉션(Garbage Collection)의 과정 가비지 컬렉션(GC)은 메모리를 정리하는 과정입니다. GC는 Heap 영역에서 사용하지 않는 객체들을 제거하는 작업을 총칭합니다. 이 객체를 제거하는 작업이 필요한 이유는 자바는 개발자가 메모리를 직접 해제해줄 수 없는 언어이기 때문입니다. 따라서 객체를 사용하고 제거하는 기능이 필요하게 됩니다. GC의 동작방식은 가장 간단한 Se..
[Spring] Bean/Component 어노테이션에 대해서 설명, 둘의 차이점 IoC 컨테이너에 Bean을 등록하기 위해서 사용 @Component: 개발자가 작성한 class를 기반으로 실행 시점에 인스턴스 객체를 1회(싱글톤) 생성 -> @Controller, @Service, @Repository는 모두 @Component 이며 실행 시점에 자동으로 의존성을 주입 @Bean: 개발자가 작성한 method를 기반으로 매서드에서 반환하는 객체를 인스턴스 객체로 1회(싱글톤) 생성
[Spring] Autowiring 과정 컨테이너에서 타입(인터페이스 또는 오브젝트)을 이용해 의존 대상 객체를 검색하고, 할당할 수 있는 빈 객체를 찾아 주입한다.