분류 전체보기178 [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. [Docker_CI/CD_스터디] 3. GitLab으로 AWS Cloud로의 지속적인 배포 목차 1. ECS로 Docker Application 배포 ECS Cluster 생성AWS Consol > ECS(Elastic Container Service) > 클러스터 > 클러스터 생성 컨테이너를 실행하기 위해서는 Task Definition이 필요하다.메뉴 > 태스크 정의 > 새 태스크 정의 생성이미지 URI에 ECR URI을 넣는다. (ECR 페이지에서 확인 가능) 다음은 서비스를 만들어서 이 태스크 정의서를 이용해 컨테이너를 만들도록 실행하면 된다.클러스터 안에 서비스를 하나 만들고, 이 서비스가 애플리케이션, 즉, 컨테이너를 실행한다.이 컨테이너는 Task Definition 사양을 이용하여 실행을 하게 된다. ECS Service 실행클러스터 > 서비스 > 생성네트워킹은 컨테이너가 실행.. 2025. 2. 4. 이전 1 2 3 4 5 ··· 26 다음 반응형