profile
Clarinetist.dev
post-thumbnail

[Java] 기본형 vs 참조형

자바에서는 변수를 선언할 때 기본형(Primitive Type)과 참조형(Reference Type)으로 나눌 수 있다.int, long, double, boolean, char 등변수에 값 자체를 저장연산 가능, null 사용 불가값을 복사했기 때문에 a와 b는 서로

2025년 4월 11일
·
0개의 댓글
·
post-thumbnail

[Java] 클래스

자바는 객체지향 프로그래밍 언어입니다. 그리고 그 중심에는 클래스(class)가 있습니다.클래스를 이해하면 객체를 만들고 다룰 수 있으며, 코드의 재사용성과 구조적 설계 능력을 갖출 수 있습니다.학생 2명의 이름, 나이, 성적을 출력하는 프로그램을 만들려면 아래와 같이

2025년 4월 11일
·
0개의 댓글
·
post-thumbnail

메모리 구조와 가상 메모리

운영체제는 프로그램을 실행할 때 메모리를 여러 영역으로 나누어 관리한다.대표적인 구조는 다음과 같다.코드(Code) 영역실행할 프로그램의 기계어 코드가 저장되는 영역주로 읽기 전용이며, 실행 중 변경되지 않는다.데이터(Data) 영역전역 변수나 static 변수처럼 프

2025년 4월 11일
·
0개의 댓글
·
post-thumbnail

멀티프로세스와 멀티스레드

하나의 프로그램이 여러 개의 프로세스를 생성하여 병렬로 실행하는 구조각 프로세스는 독립된 메모리 공간을 가짐프로세스 간 통신은 IPC(Inter-Process Communication)을 통해 수행됨 (예: 파이프, 소켓 등)하나가 죽어도 다른 프로세스에 영향이 적음웹

2025년 4월 11일
·
0개의 댓글
·
post-thumbnail

프로세스와 스레드

프로세스는 실행 중인 프로그램의 인스턴스이다.하나의 실행 파일(.exe, .py 등)을 더블 클릭하면, 운영체제는 그 파일을 메모리에 로딩하고 독립적인 실행 환경을 구성하며, 이때 만들어지는 것이 바로 프로세스이다.고유한 메모리 공간을 가짐 (코드, 데이터, 스택, 힙

2025년 4월 11일
·
0개의 댓글
·
post-thumbnail

운영체제의 역할과 구조

운영체제는 하드웨어와 소프트웨어 사이의 중간 관리자 역할을 하며, 시스템 자원을 효율적으로 관리한다.운영체제의 핵심하드웨어와 직접 소통하며, 메모리, CPU, 파일 시스템, 장치 등을 제어한다.커널 모드에서만 실행되며, 사용자 프로그램은 직접 하드웨어를 접근할 수 없다

2025년 4월 11일
·
0개의 댓글
·
post-thumbnail

프로그램 실행 시 내부동작

사용자가 실행 파일(예: .exe, .java, .py)을 실행하면, 운영체제는 해당 파일의 위치, 속성, 권한 등을 확인하고 실행 가능한지 판단을 한다.운영체제(OS)는 실행 파일을 RAM(주기억장치)에 올려서 실행할 준비를 한다.이때 코드, 전역 변수, 실행 환경

2025년 4월 11일
·
0개의 댓글
·
post-thumbnail

컴퓨터 하드웨어의 기본개념과 구성 요소

컴퓨터는 소프트웨어와 하드웨어로 구성되어 있으며, 이 중 하드웨어는 우리가 눈으로 볼 수 있는 물리적인 부품들을 의미합니다.이 글에서는 컴퓨터 하드웨어의 구조와 각 구성 요소의 역할에 대해 쉽게 설명해보겠습니다.CPU는 컴퓨터의 두뇌라고 불리며, 모든 연산과 명령 처리

2025년 4월 11일
·
0개의 댓글
·
post-thumbnail

데이터베이스 성능 최적화의 핵심 INDEX

데이터베이스에서 대량의 데이터를 빠르게 검색하려면 어떻게 해야 할까?바로 인덱스(Index)를 사용하는 것이다.인덱스는 데이터베이스 테이블의 데이터를 빠르게 조회하기 위한 자료구조이다.도서관의 책 색인처럼, 원하는 데이터를 효율적으로 찾을 수 있도록 도와주는 역할을 한

2025년 4월 10일
·
0개의 댓글
·
post-thumbnail

RDBMS 정규화

관계형 데이터베이스(RDBMS)에서 정규화는 데이터의 중복을 제거하고,데이터 무결성을 유지하기 위해 테이블 구조를 체계적으로 설계하는 기법중복 제거: 같은 정보가 여러 곳에 반복 저장되지 않도록이상 현상 방지: 삽입/삭제/수정 시 데이터 불일치 방지무결성 유지: 일관성

2025년 4월 10일
·
0개의 댓글
·
post-thumbnail

[알고리즘] 분할정복

분할 정복(Divide and Conquer)은 복잡한 문제를 작은 부분 문제로 나누어 해결한 뒤,이를 다시 합쳐 원래 문제의 해답을 얻는 알고리즘 설계 기법이다.쉽게 말해, "문제를 작게 나누고, 각 문제를 해결한 뒤, 그 결과를 합쳐서 큰 문제를 해결하는 방식"분

2025년 4월 10일
·
0개의 댓글
·
post-thumbnail

[알고리즘] 정렬 알고리즘

정렬 알고리즘은 데이터를 특정 기준에 따라 순서를 맞추어 나열하는 알고리즘이다.주로 숫자나 문자를 오름차순 또는 내림차순으로 정렬할 때 사용 됨자료구조와 알고리즘 분야에서 기초적이면서도 매우 중요한 개념가장 간단한 정렬 방법 중 하나로, 인접한 두 원소를 비교하며 큰

2025년 4월 9일
·
0개의 댓글
·
post-thumbnail

[Java] 메서드

자주 반복되는 작업을 하나의 코드 블록으로 정의해 재사용할 수 있게 해주는 메서드(method)는 가독성과 유지보수를 높이는 핵심 도구이다.위처럼 같은 연산을 반복해야 할 때, 코드 중복이 많고 유지보수가 어렵다public static: 제어자int: 반환 타입 (리턴

2025년 4월 6일
·
0개의 댓글
·
post-thumbnail

[Java] 배열

많은 양의 데이터를 효율적으로 다루기 위해 배열(Array)을 사용예를 들어 학생 5명의 점수를 관리한다고 할 때, 배열이 없다면 이렇게 작성해야 한다.학생 수가 많아질수록 코드가 선언 + 출력 모두 비효율적비슷한 변수 이름 반복, 반복문 적용 불가 → 유지보수 어려움

2025년 4월 4일
·
0개의 댓글
·
post-thumbnail

[Java] Scanner

자바에서 사용자로부터 키보드 입력을 받을 때는 Scanner 클래스를 가장 많이 사용한다.System.in을 활용해서 다양한 타입의 값을 간단하게 입력받을 수 있다.System.in : 표준 입력 (키보드)new Scanner(...) : 입력 도구 생성입력예제next

2025년 4월 4일
·
0개의 댓글
·
post-thumbnail

[Java] 스코프(Scope)와 형변환(Casting)

자바에서 변수는 선언된 범위(스코프) 안에서만 유효하며,서로 다른 타입 간 대입에는 형변환이 필요하다. 이번 글에서는 이 두 개념을 정리한다.변수는 선언된 {} 블록 안에서만 유효하다. 해당 블록을 벗어나면 변수는 제거되고 접근할 수 없다.for문 안에서 선언한 변수는

2025년 4월 4일
·
0개의 댓글
·
post-thumbnail

[Java] 반복문

반복문은 특정 코드를 여러 번 반복 실행하고 싶을 때 사용한다.조건이 참인 동안 반복 실행한다.조건식이 false가 되면 반복이 종료된다.예제조건과 상관없이 최소 1회는 실행된다.조건이 거짓이라도 코드 블럭은 최소 한 번은 실행됨예제초기식, 조건식, 증감식을 한 줄에

2025년 4월 4일
·
0개의 댓글
·
post-thumbnail

[Java] 조건문

자바에서 조건문은 특정 조건에 따라 실행 흐름을 제어할 수 있게 해준다. 예제else if를 활용한 다중 조건 분기switch는 특정 값에 따라 코드를 분기할 때 사용한다.Java 14 이후 새로운 switch\-> 화살표 문법값을 반환할 수 있음break 생략단순한

2025년 4월 4일
·
0개의 댓글
·
post-thumbnail

[Java] 비트 연산자

비트 연산자는 정수를 2진수 비트 단위로 직접 조작할 수 있게 해주는 연산자다.평소에는 자주 쓰이지 않지만, 알고리즘 문제, 성능 최적화, 비트 마스킹 등에 매우 유용하다.짝수 / 홀수 판별값을 2배 또는 반으로 만들기비트 마스크 예시 (권한 체크)a >> 2: 산술

2025년 4월 4일
·
0개의 댓글
·
post-thumbnail

[Java] 자바 문자열 비교 시 주의사항

자바에서 문자열 비교할 때 ==을 사용하면 안 되는 이유 > Java에서 문자열(String)을 비교할 때 흔히 실수하는 부분 중 하나는 == 연산자를 사용하는 것이다. 하지만 ==은 문자열을 비교할 때 내용이 아닌 주소(참조값) 를 비교하므로 정확한 비교가 되지 않

2025년 4월 4일
·
0개의 댓글
·