[JAVA] LinkedList
노드(Node) 배열은 크기를 미리 지정해야 하며, 중간에 데이터를 삽입/삭제할 때 성능에 제약이 있음. 이를 해결하기 위해 동적으로 메모리를 확보하고, 각 데이터를 노드(Node)로 만들어 연결하는 구조가 연결 리스트(Linked List)다. 노드는 내부에 데이터와 다음 노드에 대한 참조를 가지고 있다. 각각의 노드가 참조를 통해 연...
노드(Node) 배열은 크기를 미리 지정해야 하며, 중간에 데이터를 삽입/삭제할 때 성능에 제약이 있음. 이를 해결하기 위해 동적으로 메모리를 확보하고, 각 데이터를 노드(Node)로 만들어 연결하는 구조가 연결 리스트(Linked List)다. 노드는 내부에 데이터와 다음 노드에 대한 참조를 가지고 있다. 각각의 노드가 참조를 통해 연...
컬렉션 프레임워크 프로그래밍을 하면 데이터를 여러 개 저장하고 처리할 일이 많다. 이럴 때 쓰는 구조가 배열인데, 배열은 몇 가지 한계가 존재한다. 배열은 크기를 미리 지정해야 한다. → 동적으로 늘어나지 않음 추가/삭제가 번거로움 검색, 정렬, 중복 체크 등 다양한 기능 부재 이런 한계를 해결하기 위해 자바에서는 다양한 자료구조를 ...
Generic Generic 을 사용하는 이유 코드 재사용성 증가: 동일한 로직을 다양한 타입에 대해 반복해서 작성하지 않아도 됨 → List<String> List<Integer> 등 동일한 List 로직 재사용 타입 안정성 향상: 컴파일 타임에 타입 체크 가능 → 잘못된 ...
예외처리가 필요한 이유 외부 시스템(서버, DB, 파일시스템) 은 항상 실패 가능성이 존재 ex) 서버 연결 실패, 네트워크 끊김 등 정상 흐름과 예외 흐름이 섞이면 가독성이 떨어짐 외부 자원을 사용한 후 연결을 해제해 외부 자원을 반드시 반납해야 한다. 예외 처리는 오류 발생 시 프로그램이 비정상 종료되지 않고, 정상 흐름...
중첩 클래스 중첩 클래스는 바깥 클래스의 안에 있지만, 바깥 클래스와 상관 없는 전혀 다른 클래스 class Outer { ... //중첩 클래스 class Nested { ... } } 중첩 클래스의 종류 정적 중첩 클래스 - static 이 붙고, 바깥 클래스의 인스턴스에 소속되지 않음 내부 클래스 - stati...
열거형 - ENUM 열거형(Enum Type)을 이해하기 위한 예제를 만들어보자 고객을 3개의 등급으로 나누고, 상품 구매 시 등급별로 할인을 적용한다. (소수점 버림) BASIC → 10% 할인 GOLD → 20% 할인 DIAMOND → 30% 할인 할인등급을 String 으로 표현했을 때의 문제점 문자열은 오타, 유효하...
기본형의 한계와 래퍼 클래스 기본형의 한계 자바는 객체 지향 언어이지만 int, double 같은 기본형(Primitive Type) 은 객체가 아니라 객체 지향의 장점을 온전히 사용할 수 없다. 기본형의 한계를 이해하기 위해, 두 값을 비교해서 다음과 같은 결과를 출력하는 간단한 코드를 작성해보자 public static void main(S...
자바에서 문자열 문자 하나: char char c = 'A'; 자바에서 문자를 다루는 가장 기본적인 타입. char[] arr = {'h', 'e', 'l', 'l', 'o'}; System.out.println(arr); // hello 여러 문자를 다루려면 char[] 을 사용한다. 하지만 char[] 는 직접다루기 불편하...
자바 데이터 타입 분류 기본형(Primitive Type): 값을 직접 저장. 공유 X 참조형(Reference Type): 객체의 참조값을 저장. 공유 O 기본형은 값 복사 int a = 10; int b = a; b = 20; System.out.println(a); // 10 b = a 는 값을 복사함 → a, b 는...
java.lang 패키지란? 자바 언어의 기본 클래스들이 포함된 패키지 자동 import됨 → 따로 import java.lang.* 안 써도 됨 대표 클래스: Object: 모든 자바 객체의 부모 클래스 String: 문자열 System: 시스템 관련된 기본 기능 Integer Long Double: 래퍼 타입, 기본형 데이터 타입을 ...