Course/Java20 [java-mid1] 9. 예외 처리1 - 이론 "김영한의 실전 자바 - 중급편" 내용을 참고하여 정리함.목차 1. 예외 처리가 필요한 이유1 - 시작예외 처리가 왜 필요한지를 이해하기 위해 간단한 프로그램을 만들어 살펴본다.이 프로그램은 사용자의 입력을 받아 외부 서버에 전송하는 역할을 한다.실제 네트워크 통신을 하지는 않지만, 예외 처리가 필요한 상황을 시뮬레이션하는 데에는 충분하다. 프로그램 구성도NetworkClient : 외부 서버와 연결하고, 데이터를 전송하고, 연결을 종료하는 기능을 제공한다.NetworkService : NetworkClient 를 사용해서 데이터를 전송한다. NetworkClient 를 사용하려면 연결, 전송, 연결 종료와 같은 복잡한 흐름을 제어해야 하는데, 이런 부분을 NetworkService 가.. 2025. 4. 6. [java-mid1] 8. 중첩 클래스, 내부 클래스2 "김영한의 실전 자바 - 중급편" 내용을 참고하여 정리함.목차 1. 지역 클래스 - 시작지역 클래스(Local class)는 내부 클래스의 특별한 종류 중 하나이다. 내부 클래스의 특징을 그대로 가진다.따라서 지역 클래스도 내부 클래스와 마찬가지로 바깥 클래스의 인스턴스 멤버에 접근할 수 있다.지역 클래스는 일반 클래스와 달리 지역 변수처럼 코드 블럭 안에서 정의된다. 지역 클래스의 특징지역 클래스는 지역 변수처럼 특정 코드 블럭(메서드나 생성자 내) 안에서 선언된다.지역 클래스는 자신이 선언된 코드 블럭의 지역 변수에 접근할 수 있다.바깥 클래스의 인스턴스 멤버(필드, 메서드)에 접근할 수 있다.지역 클래스는 지역 변수와 마찬가지로 접근 제어자(public, private 등)를 사용할 수 없다. 지역.. 2025. 3. 28. [java-mid1] 7. 중첩 클래스, 내부 클래스1 "김영한의 실전 자바 - 중급편" 내용을 참고하여 정리함.목차 1. 중첩 클래스, 내부 클래스란?중첩 클래스(Nested Class)는 클래스 안에 정의된 또 다른 클래스를 말한다.마치 반복문 안에 반복문을 두는 중첩 for문처럼, 클래스 내부에 클래스가 위치한다는 점에서 유래된 개념이다.class Outer { class Nested { ... }} 중첩 클래스의 분류 중첩 클래스는 선언된 위치에 따라 다음과 같이 분류된다. 중첩 클래스는 정의 위치에 따라 4가지로 구분된다. 이들은 크게 정적 중첩 클래스와 내부 클래스 종류 두 갈래로 나뉜다. 분류 기준중첩 클래스 종류설명바깥 클래스 기준정적 중첩 클래스 (Static Nested Class)static 키워드로 선언되며, 바.. 2025. 3. 24. [java-mid1] 5. 열거형 - ENUM "김영한의 실전 자바 - 중급편" 내용을 참고하여 정리함.목차 1. 문자열과 타입 안전성자바에서 열거형(Enum Type)이 등장한 이유는 문자열을 이용한 값 표현의 한계 때문이다.기본적으로 String을 이용해 특정 상태(등급, 카테고리 등)를 나타낼 수 있지만, 다음과 같은 문제가 발생한다. 문자열을 사용한 방식 & 문제점회원 등급에 따라 할인을 적용하는 시스템이다.public class DiscountService { public int discount(String grade, int price) { int discountPercent = 0; if (grade.equals("BASIC")) discountPercent = 10; else if (grade.. 2025. 3. 15. [java-mid1] 4. 래퍼, Class 클래스 "김영한의 실전 자바 - 중급편" 내용을 참고하여 정리함.목차 1. 래퍼 클래스 - 기본형의 한계1기본형의 한계자바는 객체 지향 언어이지만 ∫, doub≤ 과 같은 기본형(Primitive Type)은 객체가 아니다.기본형이 객체가 아닐 때의 주요 한계는 다음과 같다.객체가 아님기본형은 메서드를 가질 수 없으며, 객체 지향의 장점을 활용할 수 없다.객체가 필요한 컬렉션 프레임워크(List, Set, Map 등)와 제네릭을 사용할 수 없다.null 값을 가질 수 없음기본형은 항상 값을 가져야 하며 νll 을 가질 수 없다.데이터가 '없음'을 나타내야 할 경우에도 -1, 0 등의 특별한 값을 사용해야 한다. 예제: 기본형을 비교하는 외부 메서드 사용기본형인 ∫ 값을 비교할 때.. 2025. 3. 12. [java-mid1] 3. String 클래스 "김영한의 실전 자바 - 중급편" 내용을 참고하여 정리함.목차 1. String 클래스 - 기본자바에서 문자열을 다루는 방법자바에서 문자를 다루는 대표적인 타입은 2가지가 있다.char : 하나의 문자만 저장 가능Str∈g : 여러 개의 문자를 저장하고 다룰 수 있는 클래스char[] charArr = new char[]{'h', 'e', 'l', 'l', 'o'};System.out.println(charArr); // helloString str = "hello";System.out.println("str = " + str); // str = hellochar[]로 여러 문자를 다루기 불편하기 때문에 자바는 문자열을 편리하게 다룰 수 있는 Str∈g 클래스를 제공한다. String .. 2025. 3. 7. [java-mid1] 2. 불변 객체 "김영한의 실전 자바 - 중급편" 내용을 참고하여 정리함.목차 1. 기본형과 참조형의 공유 자바의 데이터 타입은 크게 기본형 (Primitive Type)과 참조형 (Reference Type)으로 나뉜다.기본형: 하나의 값을 여러 변수에서 공유하지 않음. → 값을 복사하여 대입하기 때문에 공유되지 X참조형: 하나의 객체를 참조값을 통해 여러 변수에서 공유 가능. → 참조값을 공유하기 때문에 같은 인스턴스를 바라봄. 기본형 예제 (값 복사)int a = 10;int b = a; // a -> b, 값 복사 후 대입System.out.println("a = " + a);System.out.println("b = " + b);b = 20;System.out.println("20 -> b");System.ou.. 2025. 3. 4. 이전 1 2 3 다음 반응형