스택(Stack)이란? 스택은 후입선출(Last In, First Out; LIFO) 원칙에 따라 동작하는 선형 자료구조입니다. Java에서 스택은 Stack 클래스를 통해 구현됩니다. Java에서 스택의 기본 사용법 Java의 Stack 클래스를 사용하여 스택의 기본적인 동작을 실습해봅시다. 스택 선언 및 초기화 import java.util.Stack; Stack stack = new Stack(); 스택에 요소 추가 (Push) stack.push(10); // 10 추가 stack.push(20); // 20 추가 스택에서 요소 제거 (Pop) int topElement = stack.pop(); // 가장 최근에 추가된 요소(20) 제거 및 반환 스택의 최상단 요소 확인 (Peek) int pe..
연결 리스트(Linked List)란? 연결 리스트는 데이터 요소들이 노드(Node)로 표현되며, 각 노드가 다음 노드를 참조하는 방식으로 구성된 선형 자료구조입니다. Java에서는 LinkedList 클래스를 통해 연결 리스트를 제공합니다. Java에서 연결 리스트의 기본 Java의 LinkedList 클래스를 활용하여 연결 리스트의 기본적인 사용법을 알아봅시다. 연결 리스트 선언 및 초기화 import java.util.LinkedList; LinkedList myList = new LinkedList(); 연결 리스트 요소 추가 myList.add("Apple"); myList.add("Banana"); myList.addFirst("Strawberry"); // 리스트의 시작 부분에 요소 추가 m..
배열(Array)이란? 배열은 동일한 데이터 타입의 요소들을 하나의 연속적인 메모리 블록에 저장하는 자료구조입니다. Java에서 배열은 객체로 취급되며, 각 요소는 인덱스를 통해 접근할 수 있습니다. Java에서 배열의 기본 배열 선언, 초기화, 접근의 기본적인 방법을 이해합시다. 배열 선언 int[] myArray; // 정수형 배열 선언 String[] stringArray; // 문자열 배열 선언 배열 초기화 myArray = new int[10]; // 10개의 정수를 저장할 수 있는 배열 생성 stringArray = new String[5]; // 5개의 문자열을 저장할 수 있는 배열 생성 배열 초기화(리터럴 방식) int[] myArray = {1, 2, 3, 4, 5}; // 초기값과 함께..
IoC(Inversion of Control) 제어의 역전 객체에 대한 제어권이 개발자로부터 컨테이너로 넘어간 것 객체의 생성부터 생명주기 관리까지 전부 컨테이너가 맡아서 하기 때문에 제어를 컨테이너가 갖고 있다. 스프링에서 제공하는 컨테이너를 IoC 컨테이너라고 하기도 한다. 컨테이너가 직접 빈을 생성/관리하기 때문에 개발자는 코드에 new 등으로 선언하지 않아도 되며 이는 각 클래스들의 의존도를 줄여준다. IoC (Inversion of Control) 용어 bean : 스프링에서 제어권을 가지고 직접 만들어 관계를 부여하는 오브젝트 bean factory : 스프링의 IoC를 담당하는 핵심 컨테이너 application context : bean factory를 확장한 IoC 컨테이너 configu..