Course23 [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기본형의 한계자바는 객체 지향 언어이지만 `int`, `double` 과 같은 기본형(Primitive Type)은 객체가 아니다.기본형이 객체가 아닐 때의 주요 한계는 다음과 같다.객체가 아님기본형은 메서드를 가질 수 없으며, 객체 지향의 장점을 활용할 수 없다.객체가 필요한 컬렉션 프레임워크(List, Set, Map 등)와 제네릭을 사용할 수 없다.null 값을 가질 수 없음기본형은 항상 값을 가져야 하며 `null` 을 가질 수 없다.데이터가 '없음'을 나타내야 할 경우에도 `-1`, `0` 등의 특별한 값을 사용해야 한다. 예제: 기본형을 비교하는 외부 메서드 사용기본형인 `int` 값을 비교할 때.. 2025. 3. 12. [java-mid1] 3. String 클래스 "김영한의 실전 자바 - 중급편" 내용을 참고하여 정리함.목차 1. String 클래스 - 기본자바에서 문자열을 다루는 방법자바에서 문자를 다루는 대표적인 타입은 2가지가 있다.`char` : 하나의 문자만 저장 가능`String` : 여러 개의 문자를 저장하고 다룰 수 있는 클래스char[] charArr = new char[]{'h', 'e', 'l', 'l', 'o'};System.out.println(charArr); // helloString str = "hello";System.out.println("str = " + str); // str = hello`char[]`로 여러 문자를 다루기 불편하기 때문에 자바는 문자열을 편리하게 다룰 수 있는 `String` 클래스를 제공한다. 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. [java-mid1] 1. Object 클래스 "김영한의 실전 자바 - 중급편" 내용을 참고하여 정리함.목차 1. java.lang 패키지 소개`java.lang` 패키지는 자바의 핵심 기능을 제공하는 가장 기본적인 라이브러리 패키지이다.`lang` 은 Language(언어)의 줄임말로, 자바 언어의 기본적인 클래스들이 포함되어 있다. 주요 클래스`Object`: 모든 자바 객체의 부모 클래스`String`: 문자열`Integer`, `Long`, `Double`: 래퍼 타입, 기본형 데이터 타입을 객체로 만든 것`Class`: 클래스의 메타 정보`System`: 시스템 관련 기본 기능 제공 (예: 콘솔 출력, 환경 변수 접근) import 생략 가능`java.lang` 패키지는 모든 자바 애플리케이션에서 자동으로 포함되므로 별도로 `import` .. 2025. 2. 25. [java-basic] 12. 다형성과 설계 김영한의 실전 자바 - 기본편목차 객체 지향 프로그래밍(OOP)에서 다형성(Polymorphism) 은 유지보수성과 확장성을 높이는 핵심 개념이다.다형성을 활용하면 역할과 구현을 분리하여 클라이언트 코드의 변경 없이도 새로운 기능을 추가할 수 있다.이 원칙을 가장 잘 실천하는 대표적인 설계 원칙이 OCP (Open-Closed Principle, 개방-폐쇄 원칙) 이다. 1. 좋은 객체 지향 프로그래밍이란?객체 지향 프로그래밍(OOP)은 프로그램을 객체 단위로 설계하고, 객체들 간의 관계를 통해 시스템을 구축하는 방법론이다.주요한 특징은 다음과 같다. 객체 지향 프로그래밍객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하.. 2025. 2. 24. [java-basic] 11. 다형성2 김영한의 실전 자바 - 기본편목차 1. 다형성 활용1지금까지 학습한 다형성을 왜 사용하는지, 그 장점을 알아보기 위해 우선 다형성을 사용하지 않고 프로그램을 개발한 다음에 다형성을 사용하도록 코드를 변경해보자.아주 단순하고 전통적인 동물 소리 문제로 접근해보자.개, 고양이, 소의 울음 소리를 테스트하는 프로그램을 작성해보자. 먼저 다형성을 사용하지 않고 코드를 작성해보자. 예제1 package poly.ex1;public class Dog { public void sound() { System.out.println("멍멍"); }}package poly.ex1;public class Cat { public void sound() { System.o.. 2025. 1. 30. 이전 1 2 3 4 다음 반응형