전체 글96 Java - Immutable Object(불변 객체) Java를 공부하다 보면 '불변 객체' 라는 말을 들어봤을 것이다. 불변 객체가 무엇인지 알아보자! 1. Immutable이란?Immutable은 '불변의, 변경할 수 없는' 이라는 뜻을 가지고 있다. 객체 지향 프로그래밍에서 불변객체(Immutable object)는 생성 후 그 상태를 바꿀 수 없는 객체를 말한다. 대표적으로 String, Boolean, Integer, Float, Long 등이 있다. 예를 들어, String a = "apple" 에서 a = "banana"로 재할당이 가능하다. a가 참조하고 있는 heap 영역의 객체가 바뀌는 것이지 heap영역에 있는 값이 바뀌는 것이 아니다. 즉, 값이 변경되는 것이 아니라 새로운 객체를 만들고 그 객체를 a가 참조하게 하는 것이다. 이렇게 .. 2025. 4. 20. 데이터베이스 - 인덱스에 대해서 1. 인덱스란?데이터베이스 인덱스(index)는 추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스 테이블에 저장된 데이터의 검색 속도를 향상시키기 위한 자료구조이다. 조건을 만족하는 튜플(들)을 빠르게 조회하기 위해 사용한다. (빠르게 정렬(order by)하거나 그룹핑(group by)하기 위해서)1-1. Index를 쓰는 이유만약, Index를 사용하지 않게 되면 어떻게 될까? Index를 사용하지 않으면 데이터를 검색할 때 전체 테이블을 스캔(full scan)을 하게 된다. 만약 데이터가 1억에 있으면 O(N)의 시간복잡도로 1억 번을 탐색하게 된다. 하지만 Index를 사용하게 되면 검색 대상 레코드의 범위를 줄일 수 있다. 이는 대량의 데이터를 다루는 경우 데이터 검색 속도를 크게 향상시.. 2025. 4. 16. 데이터베이스 - 개념 총정리 1. 데이터베이스란?1-1. DataBase vs DBMS vs DB System Database(DB) : 관련있는 데이터들의 조직화된 집합 DBMS(DataBase Management Systems) : DB에 저장된 데이터가 일관되고 무결한 상태로 유지되도록 관리하는 시스템 사용자에게 DB를 정의하고 만들고 관리하는 기능을 제공하는 소프트웨어 시스템 ex) Postgre SQL, MySQL, Oracle, ... DB System : DB와 DBMS를 이용해 조직에 필요한 정보를 제공해주는 전체 시스템 Database + DBMS + 연관된 applications 1-2. 데이터베이스 특징실시간 접근성(Real-Time Accessibility) : 비정형적인 질의(조회)에 대하여 실시간 처리에 .. 2025. 4. 15. 해시 테이블과 해시 충돌 및 해결방법 해시 테이블(Hash Table)이란?해시 테이블은 key-value 형태로 데이터를 저장하는 자료구조이다. key를 특정 해시 함수를 통해 해싱한 후 나온 결과를 배열의 인덱스로 사용하여 value를 찾는 방식으로 동작한다. 해시 테이블이 빠른 검색속도를 제공하는 이유는 내부적으로 배열(버킷 또는 슬롯)을 사용하여 데이터를 저장하기 때문이다. 해시 테이블의 평균 시간복잡도는 O(1)이다. 해시 함수(Hash Function)이란?해시 함수에서 중요한 것은 고유한 인덱스 값을 설정하는 것이다. 해시 테이블에 사용되는 대표적인 해시 함수로는 4가지가 있다.Division Method : 나눗셈을 이용하는 방법으로 입력값을 테이블의 크기로 나누어 계산한다. (주소 = 입력값 % 테이블의 크기) 테이블의 크.. 2025. 4. 3. 네트워크 - OSI 7계층 OSI 7계층이란?OSI 7계층은 네트워크 통신이 일어나는 과정을 7단계로 나눈 것을 말한다. OSI 7계층을 나눈 이유는?흐름을 한눈에 알아보기 쉽고 7단계 중 특정한 곳에 이상이 생기면 다른 단계의 장비 및 소프트웨어를 건들이지 않고도 이상이 생긴 단계만 고칠 수 있기 때문이다.예를 들어, pc방에서 롤을 하고 있는데 연결이 끊겼다. 어디에 문제가 있는지 확인을 하기 위해서는?- 모든 PC에 문제가 있다면 라우터의 문제(3계층 네트워크 계층)이거나 광랜을 제공하는 회사의 회선 문제(1계층 물리계층) 일 것이다.- 한 PC만 문제가 있고 롤 소프트웨어에 문제가 있다면 -> 7계층 어플리케이션 계층 문제- 롤 소프트웨어에 문제가 없고 스위치에 문제가 있다면 -> 2계층 데이터링크 계층 문제 라고 판단해 .. 2025. 4. 1. 운영체제 - 파일 시스템 파일 시스템(File System)이란?파일 시스템은 운영체제가 데이터를 저장하고 관리하는 방식을 의미한다. 파일 시스템은 하드디스크, SSD, USB, SD 카드 등의 저장 장치에서 데이터를 조직화하고 접근할 수 있도록 도와주는 구조를 제공한다. 파일 시스템의 역할데이터 저장 및 관리 : 데이터를 파일 단위로 저장하여 사용자와 프로그램이 쉽게 접근할 수 있도록 함.파일 및 디렉터리 관리 : 파일을 디렉터리(폴더) 구조로 구성하여 체계적으로 관리파일 액세스 제어 : 사용자의 권한을 설정하여 보안성을 강화저장 공간 할당 및 관리 : 저장 장치의 공간을 효율적으로 사용하도록 관리데이터 무결성 유지 : 갑작스러운 전원 차단이나 오류 발생 시 데이터 손상을 방지. 파일 시스템의 구조부트 블록(Boot Block.. 2025. 3. 17. 이전 1 2 3 4 ··· 16 다음