CS 5

자료구조 모음

공부 하면서 계속 업데이트 예정입니다.큰 틀의 질문에 대한 답변을 공부하며, 해당 질문에 대한 꼬리질문을 공부해나갈 예정입니다. 배열과 링크드 리스트의 차이점더보기더보기배열은 메모리에 할당될 때 연속적인 데이터 공간에 할당이 됩니다.데이터에 접근 할 때 random access가 가능하므로 빠르지만, 삽입 삭제 시에나 배열의 크기를 유동적으로 변하기 어렵습니다. 링크드 리스트는 메모리에 할당될 때 흩어져서 저장됩니다.처음에는 크기를 지정해주지 않아도 되며 삽입 삭제가 빠르지만 검색 시 순차접근을 통해서 접근해야하므로 느립니다.스택과 큐에 대해서 설명해주세요.더보기더보기스택은 후입선출 구조로, 한쪽 끝에서만 삽입과 삭제가 이루어지며 함수 호출 스택이나 실행 취소 기능에 사용됩니다.큐는 선입선출 구조로, 먼..

CS 2026.01.05

트랜잭션(Transaction)

트랜잭션이란?"더이상 분할이 불가능한 업무처리의 단위"를 의미합니다. 하나의 작업을 위해 더이상 분할될 수 없는 명령들의 모음을 의미하며, 한꺼번에 수행되어야 할 일련의 연산모음을 의미합니다. 다음과 같은 상황이 있다고 가정해봅니다. 1. 친구들과 놀고 집에 온 민영이는 정산을 해야합니다. 유진이에게 3만원을 카카오페이를 사용하여 송금했습니다. 2. 그러나 내 통장에서는 3만원이 차감되었는데, 유진이 계좌에는 3만원이 입금되지 않았습니다. 위의 상황과 같이 만약 인출에는 성공했는데, 입금에 실패하면 치명적인 사고가 납니다.따라서 이 두 과정은 동시에 성공하던지 동시에 실패해야 합니다. 이 과정을 동시에 묶는 방법이 바로 트랜잭션입니다. START TRANSACTION 민영의 계좌로부터 인출 ..

CS/DB 2025.10.17

자료형(기본 자료형, 참조 자료형, Wrapper Class, 박싱과 언박싱)

기본 자료형자바에서 가장 기본적인 데이터 타입이며, 값 자체를 저장합니다. 정수형: byte, short, int, long실수형: float, double문자형: char논리형: boolean 기본 자료형은 메모리에서 고정된 크기의 공간을 차지하며, 실제 데이터 값을 저장합니다. 특징총 8가지의 기본형을 미리 정의하고 제공합니다.기본 자료형은 반드시 사용하기 전에 선언되어야 합니다.운영체제에 따라 자료형의 길이가 변하지 않습니다.값을 직접 저장하기 때문에 null을 허용하지 않습니다. 만약 기본형에 null을 넣고싶다면, Wrapper Class를 활용해야합니다.스택(Stack)메모리에 저장됩니다. 참조 자료형참조 자료형은 객체의 주소를 저장합니다.참조형은 Java에서 최상인 java.lang.Obje..

CS/Java 2025.10.15

Call By Value와 Call By Reference

Java는 기본적으로 모든 전달방식이 Call by Value입니다자바의 Call by Value 동작 방식 자바의 데이터 타입은 다음과 같이 크게 두가지로 나누어집니다. 원시타입(primitive type) - Numeric Type(byte, short, int,float, long, double, char), Boolean Type(boolean참조타입(reference type) - Class Type, Interface Type, Array Type, Enum Type, 기타 참조 타입(String 등)메서드 파라미터로 원시 타입을 전달하는 것과 참조 타입을 전달하는 것에는 동작 방식에 차이가 있습니다.원시 타입(primity type) 전달 방식 행위 : add 함수를 통해 int타입의 변..

CS/Java 2025.10.14

Generic

Q. 자바의 Generic에 대해 설명해주세요.자바의 Generic은 "이 클래스나 메소드는 나중에 실제로 사용할 때 타입을 정해줄게"라고 하며 작성할 때 타입을 정하지 않는 기능입니다. 클래스나 메소드를 정의할 때 타입 파라미터를 지정하여, 실제 객체를 생성하거나 메소드를 호출할 때 구체적인 타입을 결정할 수 있게 합니다. 이를 통해 형 변환 오류를 줄이고, 컴파일 시점에 오류를 미리 발견하며, 개발자의 생산성을 향상시킬 수 있습니다. Q. Object를 사용하면 String을 포함한 모든 타입을 다 저장할 수 있을텐데, Generic을 꼭 써야하는 이유가 있나요?Object를 사용하면 어떤 타입이든 저장할 수 있지만, 꺼낼 때 항상 Object타입으로 반환되기 때문에 추가작업을 위해 명시적 형변환이..

CS/Java 2025.10.13