전체 글 92

본캠프 : Java 예외처리

1.논리 오류(Logic Error) / 실행은 되지만 의도와 다르게 동작하는것: 이른바 '버그' 라고 생각하면 된다. 프로그램이 실행하고 작동하는데는 아무런 문제가 없는 오류이지만, 결과가 예상과 달라 사용자가 의도한 작업을 수행하지 못하게 되어 서비스 이용에 지장이 생길 수 있다. 논리적 오류는 컴퓨터 입장에서는 프로그램이 멀쩡히 돌아가는 것이니 에러 메시지를 알려주지 않는다. 따라서 개발자는 프로그램의 전반적인 코드와 알고리즘을 체크 필요가 있다.예를 들어 재고량이 음수가 나오면 안되는데 음수가 나와버리는 경우, 게임 캐릭터가 피가 0이어도 죽지 않는 경우를 들 수 있다. 2.컴파일 오류(Compillation Error) / 컴파일 시에 발생하는 에러 : 컴파일 에러는 컴파일 단계에서 오류 발견하..

개발/부트캠프 2025.01.17

본캠프 : 개인 과제(계산기 만들기)_1:1 피드백

*계산기 과제 Github 링크: https://github.com/Park-EJ/sparta_calculator [좋은점] - 각 단계에 따라 출력되는 안내문들이 유저 친화적이여서 이해하기 쉬웠습니다. - 오버엔지니어링 없이 필요한 기능들을 요구사항에 맞게 잘 구현해 주셨습니다.  [아쉬운점] - 함수의 이름에 대해서 고민해보면 좋겠습니다. 예를 들어, Calculator의 getResultList는 getResults로 함축 할 수 있겠습니다. 이름에 이미 여러개의 결과들이 반환된다는것을 암시하여 List라는 이름이 들어가지 않아도 됩니다. List를 붙이는것도 풍부한 표현을 하기위해 좋기도 하지만, 줄일 수 있는 방법이 있다면 줄이도록 노력하는것도 좋겠습니다. 함수는 결국 코드 간에 대화를 하는 창..

개발/부트캠프 2025.01.16

본캠프 : 개인 과제(키오스크 만들기)_for문 복습

for문으로 컬렉션 순회MenuItem menuItem1 = new MenuItem("ShackBurger", 6.9, "토마토, 양상추, 쉑소스가 토핑된 치즈버거");MenuItem menuItem2 = new MenuItem("SmokeShack", 8.9, "베이컨, 체리 페퍼에 쉑소스가 토핑된 치즈버거");MenuItem menuItem3 = new MenuItem("Cheeseburger", 6.9, "포테이토 번과 비프패티, 치즈가 토핑된 치즈버거");MenuItem menuItem4 = new MenuItem("Hamburger", 5.4, "비프패티를 기반으로 야채가 들어간 기본버거");List menuItems = new ArrayList();menuItems.add(menuItem1);..

개발/부트캠프 2025.01.14

본캠프 : 개인 과제(계산기 만들기) Getter, Setter 코드

public class App {public static void main(String[] args) {// 연산 결과를 컬렉션에 저장하기calculator1.setResultList(result);// 연산 종료 후 저장된 전체 결과값 출력System.out.println("전체 결과값: " + calculator1.getResultList());  public class Calculator {private int result;private ArrayList resultList = new ArrayList();// 연산 결과를 컬렉션에 저장하기public void setResultList(int result) { this.resultList.add(result);}// 연산 전체 결과값 불러오기p..

개발/부트캠프 2025.01.13

본캠프 : 개인 과제(계산기 만들기) 해설 강의

-throw new에 대해 서칭 필요 : 프로그램 종료  switch (operator) {      case ...      ....      default:             throw new IllegalArgumentException("사칙연산 기호는 +, -, *, / 중 하나여야 합니다.");  } -스캐너로 입력 받은 문자열은 절대로 null이 될 수 없다. exit 문자열은 null이 아니다. 그래서 확실히 null이 아닌 exit를 앞에 적는 것이 NullPointException을 방지하기 위한 안전한 코드이다. System.out.println("더 계산하시겠습니까? (exit 입력 시 종료)"); String answer = sc.next(); if ("exit".equals(a..

개발/부트캠프 2025.01.10

본캠프 : 개인 과제(계산기 만들기) 완료 후기

나는 자바를 1도 몰랐던 비전공자....자바 기초 강의를 시작하며, 계산기를 구현하는 개인 과제를 진행했다.지난 번 팀 프로젝트 때와는 달리 혼자서 해야 하니, 더욱 막막했다.하지만 우여곡절 끝에 계산기 기능을 만들었다!강의 가운데 이해가 안 되는 부분은 반복해서 듣고 유튜브도 찾아보고고민 고민 고민 고민하다가 안되는 부분은 튜터님을 찾아가 자문을 구했다.그리곤 강의에서 배운 내용들을 하나씩 나의 것으로 만들어 갔다.그리 대단한 과제는 아니지만 처음으로 혼자서 자바 언어로 코딩을 해본 거라 너무 기쁜 마음이다.도통 이해가 안 되던 자바이지만 결국 반복하고 꾸준히 하다 보면 길이 보인다는 걸 느꼈다.

개발/부트캠프 2025.01.09

본캠프 : 개인 과제(계산기 만들기) 트러블 슈팅

1. 개요 클래스를 적용해 기본적인 연산을 수행할 수 있는 계산기 만들기 과제(Lv.2)를 진행하며, 겪은 이슈를 다뤄보겠습니다. 2. 트러블 슈팅● 배경Lv.1 클래스 없이 기본적인 연산을 수행하는 계산기에서 정상 작동하던 While문의 사칙연산 swich case가 Lv2. Calculator 클래스로 구현하면서 에러가 발생했습니다.● 발단연산을 수행하는 calculate 메서드 내에 while문을 사용하면 해당 메서드 내에서 계속 반복 작업이 일어나서 에러가 발생한다는 것을 인지했습니다.● 전개그래서 calculate 메서드에서 연산이 한 번만 진행되도록 while문을 삭제했습니다.● 위기이후에는 사칙연산 swich case문에서 아래 2가지를 어떻게 처리할지가 고민이었습니다.1) case ' / ..

개발/부트캠프 2025.01.08

본캠프 : Java 문법 종합반 3주차_2

1. 상속클래스 간의 상속은 extends 키워드를 사용하여 정의할 수 있다.public class 자식클래스 extends 부모클래스 {}부모 클래스에 새로운 필드와 메서드가 추가되면 자식 클래스는 이를 상속받아 사용할 수 있다.자식 클래스에 새로운 필드와 메서드가 추가되어도 부모 클래스는 어떠한 영향도 받지 않는다.따라서 자식 클래스의 멤버 개수는 부모 클래스보다 항상 같거나 많다.Java는 다중 상속을 허용하지 않는다.public class Car { String company; // 자동차 회사 private String model; // 자동차 모델 private String color; // 자동차 색상 private double price; // 자동차 가격 dou..

개발/부트캠프 2025.01.07

본캠프 : Java 문법 종합반 3주차_1

1. 객체-세상에 존재하는 물체를 뜻하며 식별이 가능한 것을 의미-객체는 속성과 행위로 구성-Java에서는 이러한 속성과 행위를 필드와 메서드로 정의하여 구현-객체지향 프로그래밍의 특징 : 캡슐화, 상속, 다형성, 추상화 2. 클래스-클래스는 객체를 생성하기 위한 설계도-클래스의 구성 멤버에는 필드, 생성자, 메서드가 있다.-클래스를 토대로 생성된 객체를 해당 클래스의 ‘인스턴스’라고 부르며 이 과정을 ‘인스턴스화’라고 부른다.-동일한 클래스로 여러 개의 인스턴스를 만들 수 있다. *클래스를 만들기 위한 4 STEP1) 만들려고 하는 설계도를 선언(클래스 선언)    public class Car {  }2) 객체가 가지고 있어야 할 속성(필드)을 정의, 데이터를 저장하는 역할    String comp..

개발/부트캠프 2025.01.06