분류 전체보기 85

String클래스

자바의 정석[기초편]으로 공부한 내용을 정리한 글입니다. String 클래스란?">String 클래스란?자바에서 문자열을 다룰 때 사용하는 가장 중요한 클래스입니다.String 클래스는 내부적으로 문자 배열(char[] value)을 사용하여 문자열을 저장합니다.다음과 같이 선언되어 있습니다: public final class String implements java.io.Serializable, Comparable { private char[] value;} 불변 객체 (Immutable)String 클래스는 불변 객체(immutable)입니다.문자열을 한 번 만들면 내용을 변경할 수 없습니다.예를 들어: String a = "a";String b = "b";a = a + b;이 코드는 a 문자..

Java 02:39:59

Object클래스 메서드 - toString()

자바의 정석[기초편]으로 공부한 내용을 정리한 글입니다.기본 설명toString() 메서드는 객체 정보를 사람이 읽을 수 있는 문자열 형태로 반환해 주는 메서드입니다.이 메서드는 Object 클래스에 정의되어 있으며, 모든 클래스의 조상이 Object이므로 모든 클래스는 기본적으로 toString() 메서드를 사용할 수 있습니다.그러나 Object 클래스의 기본 toString()은 의미 없는 문자열을 반환합니다.Object 클래스의 기본 toString() 구현public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode());}예를 들어, 클래스 이름이 Card이고, 해시코드가 193a55라면:..

Java 01:28:49

Object클래스의 메서드 - hashCode()

자바의 정석[기초편]으로 공부한 내용을 정리한 글입니다.hashCode() 메서드란?해시코드란?해시코드(hash code)는 어떤 값을 고정된 길이의 숫자로 변환한 것입니다.주로 해시 기반 자료구조(예: HashMap, HashSet)에서 사용됨목적: 빠르게 값을 찾기 위해Object.hashCode() 기본 기능Object 클래스에 정의된 기본 hashCode()는 객체의 메모리 주소를 기반으로 해시값을 생성합니다.그래서 다른 객체는 서로 다른 해시코드를 가집니다. 예제 코드 설명public class Ex9_3 { public static void main(String[] args) { String str1 = new String("abc"); String str2 = ..

Java 01:12:56

Object 클래스의 메서드 - equals()

자바의 정석[기초편]으로 공부한 내용을 정리한 글입니다. equals() 메서드의 기본 동작 (기본 구현)Object 클래스의 equals() 메서드 기본 코드public boolean equals(Object obj) { return (this == obj);}equals() 메서드는 기본적으로 두 객체의 주소(참조값) 를 비교합니다.즉, this == obj일 때만 true를 반환하고, 나머지는 모두 false입니다.따라서 같은 내용의 값을 갖고 있어도 다른 객체이면 false가 됩니다. 예제 1 class Value { int value; Value(int value) { this.value = value; }}public class Ex9_1 { public..

Java 00:31:04

Object클래스

java.lang 패키지란?패키지(Package)란?자바에서 관련된 클래스들을 묶어 놓은 것을 "패키지"라고 부릅니다.예: java.util, java.io, java.lang 등java.lang 패키지는?자바 프로그램에서 가장 기본적으로 필요한 클래스들을 모아놓은 패키지입니다.예: Object, String, System, Math, Integer 등특징java.lang 패키지는 자동으로 import됩니다.즉, import java.lang.String; 같은 문장을 안 써도 자동으로 사용할 수 있음.그래서 지금까지 다음과 같은 클래스들을 별도의 import 없이 쓸 수 있었던 것입니다.String str = "hello"; // java.lang.StringSystem.out.println(st..

Java 00:30:49

다양한 입출력 방법

혼자공부하는 컴퓨터구조 + 운영체제제책으로 공부한 내용을 정리한 글입니다. 운영체제에서 입출력(I/O)는 컴퓨터가 외부 장치(프린터, 디스크, 키보드 등)와 데이터를 주고받는 과정입니다.이때 정보를 주고받기 위해 CPU와 장치 컨트롤러(디스크 컨트롤러, 프린터 컨트롤러 등)가 소통해야 하는데, 이 소통을 효율적으로 처리하기 위한 다양한 방식들이 존재합니다. 프로그램 입출력 방식 (Programmed I/O)정의: CPU가 직접 장치 상태를 확인하고, 준비가 되면 데이터를 읽거나 쓰는 방식입니다.특징:매우 기본적인 방식.CPU가 매번 장치 레지스터를 계속 감시(=Polling)하며 상태를 확인해야 하므로 CPU 자원이 낭비됩니다.동작 과정:CPU는 디스크 컨트롤러의 명령 레지스터에 “쓰기” 명령 전달디스크..

컴퓨터 구조 2025.06.21

장치 컨트롤러와 장치 드라이버

혼자공부하는 컴퓨터구조 + 운영체제제책으로 공부한 내용을 정리한 글입니다.장치 컨트롤러와 장치 드라이버 개요입출력장치: 컴퓨터에 연결된 키보드, 마우스, 프린터, 스피커, 모니터, USB, SSD, HDD, CD-ROM 등.CPU와 메모리는 빠르게 작동하지만, 입출력장치는 훨씬 느립니다.CPU와 입출력장치 사이의 중재자 역할을 해주는 것이 바로 장치 컨트롤러(Device Controller)입니다.장치 드라이버(Device Driver)는 소프트웨어적으로 장치를 제어합니다. 왜 장치 컨트롤러가 필요한가?입출력장치 종류가 너무 많기 때문입니다.CPU가 장치 하나하나를 직접 제어하기는 어려움 → 각 장치를 위한 하드웨어 중간 관리자 필요프린터, 마우스, 스캐너, 하드디스크 등 다양한 장치를 공통된 방식으로 ..

컴퓨터 구조 2025.06.21

연결된 예외

자바의 정석[기초편]으로 공부한 내용을 정리한 글입니다. 연결된 예외 (Chained Exception)어떤 예외가 발생했을 때, 그 예외 자체보다 더 근본적인 원인이 다른 예외일 수 있습니다.예를 들어:InstallException 예외가 발생했지만,실제 원인은 디스크 공간 부족(SpaceException) 이었을 수 있음이럴 때 InstallException 객체를 생성하고,그 원인으로 SpaceException을 연결해서 저장할 수 있습니다.=> 이렇게 예외 간의 관계를 만들어주는 것이 Chained Exception 입니다. 사용법예외 클래스에는 예외의 원인을 저장하기 위한 cause 필드가 존재두 가지 메서드 사용:initCause(Throwable cause)발생 원인 예외를 등록getCaus..

Java 2025.06.21

예외 되던지기

자바의 정석[기초편]으로 공부한 내용을 정리한 글입니다.예외 되던지기 (Exception Re-throwing)어떤 메서드에서 예외가 발생했을 때, 그 메서드 안에서 try-catch로 예외를 한 번 잡고,그 예외를 다시 다른 곳(main 등)에서 처리하고 싶을 수 있습니다.이럴 때 catch 블록 안에서 throw를 다시 사용해서 예외를 되던지기할 수 있습니다.이렇게 되던지기 하려면 해당 메서드에 반드시 throws로 예외 선언도 해야 합니다. 예제1public static void main(String[] args) { try { method1(); // 예외 발생한 메서드 호출 } catch (Exception e) { System.out.println("main..

Java 2025.06.21

사용자 정의 예외

자바의 정석[기초편]으로 공부한 내용을 정리한 글입니다. 자바에는 기본적으로 많은 예외 클래스(NullPointerException, IOException 등)가 정의되어 있지만,프로그래머가 자신의 상황에 맞는 특별한 예외를 직접 만들 수 있습니다.이렇게 만든 예외 클래스를 사용자 정의 예외라고 합니다. 사용자 정의 예외 만드는 방법기본적으로 다음 두 가지 중 하나를 상속받아 만듭니다:Exception 클래스를 상속 → checked 예외RuntimeException 클래스를 상속 → unchecked 예외 기본 사용자 정의 예외 클래스class MyException extends Exception { MyException(String msg) { super(msg); // 부모(Exc..

Java 2025.06.21