java 10

[TIL] Java 컬렉션 - HashSet과 HashMap

🕶️ HashSetSet 인터페이스를 구현한 컬렉션이다. 특징순서를 보장하지 않는다중복을 허용하지 않는다get() 사용 불가주요 메서드HashSet set = new HashSet();set.add("값"); // 추가set.remove("값"); // 제거 이럴 때 사용!중복 없이 데이터를 관리할 때 : 예를 들어 장바구니에 같은 상품이 중복으로 담기는 걸 방지할 때 활용할 수 있다. ⭐️ 구글에서 가져온 예시import java.util.HashSet;class Main { public static void main(String[] args) { HashSet evenNumber = new HashSet(); // Using add() method ..

카테고리 없음 2026.04.02

[TIL] 메서드 분리 & 객체 흐름 학습 기록

오늘은 메서드 분리를 진행했다.오늘 배운 것 - 메서드 분리어제 start() 안에 모든 로직을 다 넣었는데 오늘은 역할별로 메서드를 분리했다.public void start() { while (true) { displayCategoryList(); // 1. 카테고리 목록 출력 int inputCategory = returnCategoryNumber(); // 2. 입력값 받기 String signal = selectCategory(inputCategory); // 3. 카테고리 선택 // ... }}start()는 전체 흐름만 관리하고, 각 메서드는 자기 역할만 하는 구조로 만들었다.훨씬 읽기 편하고 깔끔해졌다.오늘 헷갈렸던 것 ..

카테고리 없음 2026.04.01

[TIL] 객체지향 & 예외처리 학습 기록

오늘은 어제 작성했던 코드를 리팩토링하면서 개념을 확실히 이해했다.오늘 배운 것 - 주석으로 계획 짜기코딩 전에 계획을 먼저 짜는 게 얼마나 중요한지 오늘 확실히 깨달았다. 처음엔 주석 없이 코드 짜다가 뒤죽박죽 꼬였다.주석으로 먼저 흐름을 잡고 시작하니까 불필요한 코드가 없어지고 훨씬 깔끔해졌다.// 1. 카테고리 목록 출력// 2. 입력값 받기// 3. 카테고리 선택// 4. 상품 목록 출력// 5. 입력값 받기// 6. 상품 선택// 7. 상품 출력이렇게 순서 먼저 잡고 하나씩 채우니까 꼬이지도 않고 훨씬 수월했다.예외처리예외처리란 입력값을 받을 때 잘못된 값이 들어오면 어떻게 할지 처리하는 것이다.if (inputCategory == 0) { // 종료} else if (0 예외처리를 먼저 ..

카테고리 없음 2026.03.31

[TIL] for-each문 & 리팩토링 학습 기록

오늘도 어김없이 Java 과제를 하다가 머리가 아파졌다.오늘 배운 것들for-each문 (향상된 for문)for (Product product : productList) { System.out.println(product.getName());}productList에서 Product를 하나씩 꺼내서 product라고 부르겠다는 뜻이다.일반 for문이랑 결과는 똑같은데 훨씬 간결하다.get() 메서드리스트에서 특정 인덱스 위치의 요소를 꺼내는 메서드다.categoryList.get(0); // 0번째 꺼내기리팩토링처음엔 이렇게 썼다.if (categoryNumber == 1) { categoryList.get(0);} else if (categoryNumber == 2) { categoryL..

카테고리 없음 2026.03.30

[TIL] JAVA CH2 커머스 STEP2

📅 2026.03.27오늘 한 일오늘 커머스 플랫폼 STEP2를 완료했다!STEP2의 핵심은 객체 지향 설계를 적용해서 Main에 몰려있던 로직을 CommerceSystem 클래스로 분리하는 것이었다.STEP1 → STEP2 무엇이 달라졌나?STEP1 구조Main.javaProduct.javaMain 안에 while문, for문, 입력 처리까지 전부 다 있었다.STEP2 구조Main.javaProduct.javaCommerceSystem.java ← 새로 추가!Main은 상품 목록 설정 + CommerceSystem 객체 생성만 담당하고,실제 실행 로직은 CommerceSystem의 start() 메서드가 맡는다.오늘 작성한 코드Product.java — 변경 없음어제 STEP1에서 만든 코드 그대로..

카테고리 없음 2026.03.27

[TIL] JAVA 새로운 과제 CH2 커머스

📅 2026.03.26오늘 한 일오늘 새로운 과제가 올라왔다! CH2 커머스 STEP1 🛒계산기 필수과제에서 익혔던 기술들을 활용하는 과제라서, 처음 계산기 문제를 접했을 때보다 훨씬 수월하게 할 수 있었다.시작하기 전에 문제를 보고 클래스를 그림으로 간단하게 정리해봤다.오늘 작성한 코드Product.java — 상품 클래스상품명, 가격, 설명, 재고수량을 속성, 생성기, 기능으로 구현했다.public class Product { String name; int price; String explain; int inventory; public Product(String name, int price, String explain, int inventory) { this..

카테고리 없음 2026.03.26

[TIL] Java 계산기 Step 2 완성

어제 블로그에 기본 구조를 정리할 때는 완벽히 이해하지 못했는데, 오늘 직접 코드를 짜면서 개념을 완전히 이해하고 혼자서 Step 2 계산기를 완성했다!✅ 오늘 완성한 것 Calculator 클래스와 App 클래스를 분리해서 구현getter, setter 개념 이해 및 활용App에서 Calculator를 객체로 만들어서 활용결과 저장, 조회, 삭제 기능까지 구현 완료전체 코드Calculator.javapackage calculator;import java.util.ArrayList;public class Calculator { ArrayList results = new ArrayList(); public int calculator(int first, int second, char operato..

카테고리 없음 2026.03.24

[TIL] 자바로 계산기 만들기 - Step2. 클래스 분리와 캡슐화

mooncommit 2026. 3. 23. 오늘은 저번 시간에 만든 계산기(Step1)를 리팩토링해서 클래스를 분리하고, getter/setter를 적용한 구조화된 계산기를 만들었다.이번엔 튜터님의 도움 없이 직접 문제를 해결해보는 것이 목표였다. Step1 vs Step2, 뭐가 달라졌나?Step1에서는 Main 클래스 하나에 모든 로직이 담겨 있었다. 계산 로직, 입력 처리, 반복 제어가 전부 한 곳에 섞여 있었는데,이번 Step2에서는 계산 로직을 Calculator 클래스로 분리했다. Step1Step2구조클래스 1개App + Calculator 분리계산 방식Main 안에서 직접 처리Calculator 메서드 호출결과 저장없음ArrayList로 저장 Step 2. 코드 구현App.java (메인 ..

카테고리 없음 2026.03.23

[TIL] 자바로 기본 계산기 만들기

오늘은 과제 Step1. 자바로 간단한 사칙연산 계산기를 만들었다.튜터님 말씀을 따라 단순히 코드부터 바로 짜기보다, 먼저 프로그램의 흐름을 플로우차트로 정리한 뒤그걸 바탕으로 코드를 구현했다.🕶️ Step 1. 문제 해석 및 프로그램 흐름 설계먼저 “사용자에게 숫자 2개와 사칙연산 기호를 입력받아 계산한 뒤,exit 입력 시 종료하는 프로그램을 만든다”는 목표를 세웠다.그 과정을 draw.io에서 플로우차트로 만들었다.💻 Step 2. 코드 구현플로우차트를 기준으로 Scanner, if, while, continue, break를 이용해 기능을 하나씩 구현했다.package calculator;import java.util.Scanner;public class Main { static void..

카테고리 없음 2026.03.20

[TIL] JAVA 기초 공부 기록 : 실제로 쓰는 문법 중심으로 정리해보기

오늘은 프로젝트 대신 자바 기초 강의에 집중했다.아직 모든 강의를 다 듣진 못했지만, 들으면서 ‘이건 꼭 알아둬야겠다’ 싶은 핵심 개념들이 계속 나왔다. 그래서 오늘은 그중에서도 실전에서 자주 쓰이는 문법 중심으로 정리했다.직접 실습하면서 찍은 이미지도 함께 첨부해, 나중에 복습할 때 바로 참고할 수 있도록 구성했다. 아직 기초를 배우는 단계지만, 하나하나 코드를 실행해보며 제대로 이해하고 나만의 방식으로 정리해본 시간이었다.Chapter 1. 자료형 (Data Type)자료형의 개념자료형(Data Type)은 프로그램에서 저장할 수 있는 데이터의 형태와 크기를 정의하는 규칙이다.컴퓨터는 모든 데이터를 비트(bit) 단위로 저장한다.1비트(bit) : 0 또는 1 값을 표현할 수 있는 최소 단위1바이트(..

카테고리 없음 2026.03.18