전체 글 90

자바 제네릭(Generic) 완벽 정리: 개념부터 활용까지

안녕하세요, 여러분! 오늘은 자바 중급 과정에서 꼭 알아야 할 '제네릭(Generic)'에 대해 함께 알아보려고 해요. 김영한님의 실전 자바 중급 강의를 듣고 정리한 내용인데, 최대한 쉽게 풀어서 설명해 볼게요! 😊📌 제네릭이란 무엇일까요?제네릭은 간단히 말해 저장할 타입을 사용(컴파일)시 정하는 객체예요. 즉, 클래스나 메서드를 정의할 때 타입을 확정짓지 않고, 사용할 때 타입을 지정할 수 있게 해주는 기능이랍니다.예를 들어, ArrayList처럼 사용할 때 String 타입을 지정해주는 거죠!📌 왜 제네릭이 필요할까요?여러분, 혹시 Object 클래스를 사용해서 모든 타입을 저장할 수 있다고 생각하셨나요? 맞아요, 할 수는 있어요. 하지만 여기에는 큰 문제가 있어요!1️⃣ Object 클래스 사..

Dart 기초 정리: 초보자도 쉽게 이해하는 핵심 개념

안녕하세요, 여러분! 오늘은 Flutter 앱 개발의 기반이 되는 Dart 언어의 기초 개념을 함께 알아보려고 해요. 코드 팩토리의 'Dart#1' 강의를 들으며 정리한 내용을 공유합니다. 꼭 알아야 할 핵심 개념들을 쉽게 풀어볼게요! 😊📌 오늘의 핵심 개념Var vs dynamicFinal vs constNullable vs non-nullableMapList vs Set🔍 기본 사항Dart에서는 문자열을 표현할 때 작은따옴표(''), 큰따옴표("") 모두 사용 가능하고 구분이 없어요. 편한 것을 사용하시면 됩니다!String message1 = '안녕하세요'; // 작은따옴표String message2 = "반갑습니다"; // 큰따옴표// 둘 다 완벽히 동일하게 작동해요!🧩 변수와 타입변수 선..

자바로 만든 나만의 쇼핑몰 여행기 (3) - UI 계층 구현편

안녕하세요, 여러분! 드디어 우리 쇼핑몰 프로젝트의 마지막 이야기를 들려드릴 시간이 왔네요. 지난 두 포스트에서는 기본 도메인 모델 클래스들과 서비스 계층을 구현하는 과정을 공유했었죠. 오늘은 프로젝트의 최종 단계인 사용자 인터페이스(UI) 계층을 구현한 과정을 소개해드릴게요!UI 계층은 사용자와 직접 상호작용하는 부분으로, 이번 프로젝트에서는 콘솔 기반의 텍스트 인터페이스로 구현했어요. 복잡한 그래픽이나 웹 인터페이스는 아니지만, 객체지향적인 설계 원칙을 적용하면서 사용자가 쉽게 이용할 수 있는 UI를 만들기 위해 노력했답니다!ShopConsoleUI 클래스 설계하기UI 계층의 핵심은 ShopConsoleUI 클래스에요. 이 클래스는 사용자의 입력을 받고 적절한 서비스 메서드를 호출하여 결과를 보여주는..

자바로 만든 나만의 쇼핑몰 여행기 (2) - 서비스 계층 구현편

안녕하세요, 여러분! 지난 포스트에 이어 오늘은 우리 쇼핑몰 프로젝트의 두 번째 이야기를 들려드릴게요. 첫 번째 포스트에서는 기본 도메인 모델 클래스들(User, Product, Cart, Order 등)을 어떻게 설계했는지 소개했었죠. 오늘은 이 모델들을 활용해 실제 비즈니스 로직을 처리하는 서비스 계층을 구현한 과정을 공유할게요!인프런에서 김영한 강사님의 강의를 들으면서 '서비스 계층'의 중요성을 깨달았어요. 서비스 계층은 UI와 데이터 계층 사이에서 실제 비즈니스 로직을 담당하는 부분이랍니다. 그럼 한번 구현 과정을 살펴볼까요?서비스 계층이 왜 필요할까요?처음에는 그냥 모델 클래스에 모든 기능을 넣으면 되지 않을까 생각했어요. 하지만 그러면 코드가 엄청 복잡해지더라고요! 예를 들면:장바구니에 상품을..

자바로 만든 나만의 쇼핑몰 여행기 (1) - 기본 클래스 구현편

안녕하세요, 여러분! 오늘부터 3회에 걸쳐 제가 자바를 공부하면서 도전했던 콘솔 기반 쇼핑몰 시스템 구현 프로젝트에 대해 이야기해 볼게요. 자바를 시작한 지 약 4-5개월 차에 배운 개념들을 정리할 겸, 실전에 적용해보고 싶어서 시작했답니다. 인프런에서 김영한 강사님의 자바 강의를 수강하면서 배운 내용을 바탕으로 약 3주간(평일 3일, 하루 3시간) 작업했어요.이 프로젝트를 시작한 이유처음에는 배운 자바 개념들을 단순히 정리하고 싶었어요. 그런데 노트에 적기만 하니까 뭔가 부족하더라고요. "이왕이면 직접 코드로 구현해보면 어떨까?" 하는 생각이 들었죠. 그래서 쇼핑몰 시스템이라는 주제로 개념 정리용 프로젝트를 시작했답니다.추후에는 이 프로젝트를 기반으로 실제 앱이나 웹에서 동작하는 쇼핑몰로 발전시켜볼 계..

[25.03.21] "자바 2차원 배열 완벽 정리! - 프로그래머스 ‘2차원으로 만들기’ 문제 풀이"

코딩 테스트 학습 노트📅 학습 일자: [2025.03.21] 1번 문제.📚 문제 제목: 2차원으로 만들기🔗 문제 출처: [프로그래머스]⭐ 난이도: ⭐⭐⭐⭐  📌 문제 유형- 배열 관련 문제 💡 문제 이해- 입력:배열과 정수 입력. - 출력: 배열을 정수 만큼 쪼개서 2차원 배열로 만들어 해당 배열을 반환- 제약조건: 배열의 길이는 정수의 배수이다. 🔍 접근 방법1. ai를 이용해서 문제 분석 => 검색을 통해서 2차원 배열 선언 및 관리 지식 다시 리마인드2. 문제 분석한 방법대로 이차원 배열의 행과 열 길이를 설정 => 이중 반복문을 이용해서 외부 반복문은 행, 내부 반복문은 열의 인덱스를 이용해 값을 매개변수로 받은 배열의 값을 지정한다.3. 디버깅이 필요하다면 Arrays.toString..

[25.03.20]문자열 계산하기 - 코딩 테스트 학습 노트 (Java)

📅 학습 일자: 2025-03-20⏳ 풀이 기간: 2025-03-14 ~ 2025-03-20📝 문제 개요📚 문제 제목: 문자열 계산하기🔗 문제 출처: 프로그래머스⭐ 난이도: ⭐⭐⭐⭐🔍 문제 유형문자열 관리구현📌 문제 설명문자열로 구성된 간단한 수식을 계산하는 문제입니다.입력값은 숫자와 연산자(+,-)로 이루어져 있습니다.주어진 문자열을 해석하여 최종 연산 결과를 반환해야 합니다.연산자는 +와 -만 존재합니다.💡 문제 해결 접근 방법1차 접근문자열을 서브스트링으로 잘라서 계산하는 방식을 고려했습니다.하지만 복잡도가 너무 증가할 것으로 예상되어 다른 방법을 찾기로 결정했습니다.2차 접근 (최종 채택된 방법)StringBuilder를 활용하여 숫자를 하나씩 읽고, 연산자를 만나면 저장한 숫자와 연..

🚀 [코딩 테스트] 자바 문제 풀이 기록 📌 (25.03.06~07)

✅ 3문제 풀이 | ⭐ 진수 변환 · 문자열 처리 · 패턴 인식 집중 학습📝 이번 학습 요약✔ 풀이한 문제 수: 3개✔ 집중 학습한 개념:진수 변환 (Integer.parseInt, Integer.toBinaryString)문자열 처리 (인덱스 활용, 문자열 분할)패턴 인식 및 수학적 연산 (모듈로 연산 %)✔ 가장 어려웠던 유형: 문자열 인덱스 처리💡 문제 풀이 상세 기록🔢 1번 문제: 이진수 더하기📌 출처: 프로그래머스 | ⭐⭐⭐ (중간 난이도) | ⏳ 풀이 시간: 23분💡 학습 포인트: Integer 클래스 활용한 진수 변환 및 계산✅ 핵심 코드// 이진수 문자열을 정수로 변환int num1 = Integer.parseInt(bin1, 2);int num2 = Integer.parseInt..