개발자 노트 - 강경훈 story
close
프로필 배경
프로필 로고

개발자 노트 - 강경훈 story

  • 분류 전체보기 (582)
    • 설치메뉴얼 (9)
    • Java (273)
      • Java 기초 문법 (24)
      • Java 객체 지향 핵심 (30)
      • Java 유용한 클래스 (51)
      • 자료구조 (20)
      • JSP (28)
      • Swing 프로젝트 (19)
      • 교재 정리 (12)
      • 디자인 패턴 (11)
      • 자바 라이브러리 (6)
      • 알고리즘(코테) (67)
    • Spring Boot (92)
      • Bank App 만들기 (deployment) (30)
      • 추가 개념 (7)
      • Blog 프로젝트 만들기(JPA) (53)
    • My Project (29)
      • 쇼핑몰 (15)
      • Java Swing 멀티 쓰레딩 프로그램 (10)
      • Java 1 : N 양방향 소켓 통신 (스윙) (4)
    • 면접 질의 응답 모음 (5)
    • CS (28)
      • 컴퓨터 구조 (7)
      • 운영체제 (6)
      • 네트워크 (8)
      • 시스템 설계 (7)
    • Vue.js (1)
      • 사전지식 (1)
    • MySQL (47)
      • 정리 (33)
      • 1일 1쿼리 (14)
    • HTML CSS (30)
      • HTML (10)
      • CSS (8)
      • CSS flexbox (9)
      • 블로그 만들기 (3)
    • JS (23)
      • JavaScript 핵심 (6)
      • JS 작업을 위한 코딩 연습 (8)
      • JavaScript 게시판 만들기 (8)
    • Git (9)
      • 강의 정리 (5)
      • 교재 정리 (3)
    • Flutter (27)
      • 기초 (4)
      • Flutter UI 프레임워크 (18)
      • MVVM 패턴과 상태 관리 (4)
    • error note (4)
      • Java (4)
    • 방통대정리 (2)
      • C++프로그래밍 (2)
  • 홈
  • 깃 허브
  • 설정

Queue (큐)

1. 큐의 정의와 특징큐는 먼저 들어온 데이터가 가장 먼저 나가는 (FIFO, First-In First-Out) 선형 자료구조이다. 매표소 앞에 줄을 서서 순서대로 서비스를 받는 상황을 떠올리면 이해가 쉽다. 큐에는 두 가지 핵심 규칙이 존재한다.삽입 (enqueue) : 새로운 원소를 항상 ‘뒤(rear)’에 붙인다.삭제 (dequeue) : 데이터를 꺼낼 때는 ‘앞(front)’에서 꺼낸다.이 규칙으로 인해 큐는 다음과 같은 특징을 갖는다.순서 제어를 코드가 아닌 구조 자체가 담당한다.작업 요청을 순차적으로 처리하거나, 데이터 흐름을 완충(버퍼)할 때 유용하다.추가·삭제가 상수 시간에 끝난다. 구현을 배열로 하든 연결 리스트로 하든, enqueue와 dequeue 모두 O(1)이다.큐는 단순하지만,..

  • format_list_bulleted Java/알고리즘(코테)
  • · 2025. 5. 1.
  • textsms

Stack (스택)

1. 스택의 정의와 특징스택은 마지막에 들어온 데이터가 가장 먼저 나가는(LIFO, Last-In-First-Out) 선형 자료구조이다. 접시를 차곡차곡 쌓아 두었다가 위에서부터 꺼내는 상황을 떠올리면 이해가 쉽다. 스택에는 두 가지 핵심 규칙이 존재한다.삽입(push) : 새로운 원소를 항상 “맨 위(top)”에 올린다.삭제(pop) : 데이터를 꺼낼 때도 “맨 위(top)”에서 꺼낸다.이 규칙으로 인해 스택은 다음과 같은 특징을 갖는다.순서 제어를 코드가 아닌 구조 자체가 담당한다.최근 상태 추적에 뛰어나며, 실행 흐름을 되돌리거나(Undo), 함수 호출 기록을 관리할 때 유용하다.추가·삭제가 상수 시간에 끝난다. 구현을 배열로 하든 연결 리스트로 하든, push와 pop 모두 O(1)이다.스택은 단..

  • format_list_bulleted Java/알고리즘(코테)
  • · 2025. 4. 30.
  • textsms

List(리스트)

1. 리스트의 정의와 기본 개념리스트는 데이터를 순서대로 저장하는 선형 자료구조이다.배열과 달리, 크기가 가변적이거나 요소 추가와 삭제가 유연하다는 특징이 있다.리스트는 자료들의 나열이라는 관점에서 배열과 비슷해 보이지만, 내부 구조와 동작 방식은 전혀 다르다. 리스트의 주요 특징은 다음과 같다.순서 존재: 저장한 순서를 유지한다.중복 허용: 같은 값을 여러 번 저장할 수 있다.인덱스 접근 가능: 위치 기반으로 데이터를 조회할 수 있다 (특히 ArrayList).가변 크기: 필요에 따라 동적으로 크기가 늘어나거나 줄어들 수 있다.자바에서는 대표적으로 ArrayList와 LinkedList를 제공한다.두 구현체 모두 List 인터페이스를 구현하지만, 구조와 동작 방식이 완전히 다르다.이를 이해하는 것은 상..

  • format_list_bulleted Java/알고리즘(코테)
  • · 2025. 4. 29.
  • textsms

Java Annotation (어노테이션)

어노테이션(Annotation) 개념어노테이션은 코드에 메타데이터를 추가하는 기능이다.자바 프로그램에 특별한 의미나 정보를 부여하지만, 프로그램의 직접적인 동작에는 관여하지 않는다.주로 컴파일러, 개발 툴, 프레임워크가 이 정보를 읽어 추가적인 동작을 수행한다. 대표적인 내장 어노테이션으로는 @Override, @Deprecated, @SuppressWarnings가 있다.또한, 개발자가 직접 커스텀 어노테이션을 만들어 사용할 수도 있다.어노테이션은 코드의 의도를 명확히 하고, 반복 작업을 줄이며, 프레임워크 기반 개발을 더 유연하게 만들어 준다. 내장 어노테이션(Built-in Annotation)자바는 기본적으로 여러 가지 어노테이션을 제공하며, 주로 컴파일러 지시, 경고 억제, 코드 문서화를 목적으..

  • format_list_bulleted Java/Java 유용한 클래스
  • · 2025. 4. 28.
  • textsms

Array(배열)

1. 배열의 정의와 기본 개념배열(Array)은 같은 자료형의 데이터를 연속된 메모리 공간에 저장하는 자료구조이다.배열에 저장된 데이터는 각자의 인덱스(index)를 가지며, 이 인덱스를 통해 빠르고 효율적으로 데이터를 읽거나 수정할 수 있다. 배열의 가장 큰 특징은 다음과 같다.연속된 메모리 할당:배열은 메모리상에 데이터가 연속적으로 배치되어 있어서 특정 데이터에 빠르게 접근할 수 있다.인덱스를 통한 접근:각 데이터는 정수형 인덱스를 통해 접근할 수 있으며, 이를 통해 일정한 시간(O(1)) 내에 데이터를 찾거나 변경할 수 있다.고정된 크기:일반적인 배열은 선언 시 크기가 정해지며, 나중에 변경할 수 없다. 동적 배열(ArrayList 등)은 크기가 가변적이지만, 내부적으로는 배열의 크기를 조정하여 작..

  • format_list_bulleted Java/알고리즘(코테)
  • · 2025. 4. 28.
  • textsms

GoF(Gang of Four) 디자인 패턴

디자인 패턴이란? 디자인 패턴은 소프트웨어 설계에서 반복적으로 등장하는 문제에 대한 해결책을 일종의 '템플릿'처럼 정리한 것이다. 단순한 코드 조각이 아니라, 특정 상황에서 적용할 수 있는 구조적 해법을 말한다. 이를 통해 코드의 재사용성, 유지보수성, 유연성을 높일 수 있다. GoF(Gang of Four) 디자인 패턴은 디자인 패턴의 고전이라 할 수 있으며, 총 23가지 패턴이 다음 세 가지 분류로 나뉘어 있다. 생성 패턴 (Creational): 객체 생성 방식과 관련된 패턴구조 패턴 (Structural): 클래스나 객체의 조합 방법을 정의행위 패턴 (Behavioral): 객체 간의 책임과 커뮤니케이션 방식 생성 패턴 (Creational Patterns)생성 패턴은 객체 생성 방식을 추상화하여..

  • format_list_bulleted Java/디자인 패턴
  • · 2025. 4. 25.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • ···
  • 46
  • navigate_next
공지사항
  • 목차 목록
전체 카테고리
  • 분류 전체보기 (582)
    • 설치메뉴얼 (9)
    • Java (273)
      • Java 기초 문법 (24)
      • Java 객체 지향 핵심 (30)
      • Java 유용한 클래스 (51)
      • 자료구조 (20)
      • JSP (28)
      • Swing 프로젝트 (19)
      • 교재 정리 (12)
      • 디자인 패턴 (11)
      • 자바 라이브러리 (6)
      • 알고리즘(코테) (67)
    • Spring Boot (92)
      • Bank App 만들기 (deployment) (30)
      • 추가 개념 (7)
      • Blog 프로젝트 만들기(JPA) (53)
    • My Project (29)
      • 쇼핑몰 (15)
      • Java Swing 멀티 쓰레딩 프로그램 (10)
      • Java 1 : N 양방향 소켓 통신 (스윙) (4)
    • 면접 질의 응답 모음 (5)
    • CS (28)
      • 컴퓨터 구조 (7)
      • 운영체제 (6)
      • 네트워크 (8)
      • 시스템 설계 (7)
    • Vue.js (1)
      • 사전지식 (1)
    • MySQL (47)
      • 정리 (33)
      • 1일 1쿼리 (14)
    • HTML CSS (30)
      • HTML (10)
      • CSS (8)
      • CSS flexbox (9)
      • 블로그 만들기 (3)
    • JS (23)
      • JavaScript 핵심 (6)
      • JS 작업을 위한 코딩 연습 (8)
      • JavaScript 게시판 만들기 (8)
    • Git (9)
      • 강의 정리 (5)
      • 교재 정리 (3)
    • Flutter (27)
      • 기초 (4)
      • Flutter UI 프레임워크 (18)
      • MVVM 패턴과 상태 관리 (4)
    • error note (4)
      • Java (4)
    • 방통대정리 (2)
      • C++프로그래밍 (2)
최근 글
인기 글
태그
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바