본문 바로가기

TIL/JAVA24

23.05.25 예외 발생시 어떻게 대응할지, 어떻게 사전에 예외처리를 할지 1. 예외를 어떻게 정의하는지 // 예외 클래스를 만들어서 예외를 정의 public class BadException extends Exception { // Exception은 java 기본 제공 클래스 public BadException() { super("위험한 행동을 하면 예외처리를 꼭 해야함"); // 출력할 에러 메시지 } } 2. 예외가 발생할 수 있음을 알리기 public class UsingClass { private final boolean just = true; // throws : 던지다 (=예외를 발생시키다) public void thisMethodIsDangerous () throws BadException { // t.. 2023. 5. 25.
23.05.24 문제 발생 Tire kiaSampleTire = new KiaTire("KIA"); Car car1 = new Car(kiaSampleTire); car1.tire.rideComfort(); // KIA 타이어 승차감은 60 위에서 이해한 내용대로라면 kiaSampleTire도 KiaTire을 통해 생성했더라도 자동 형변환에 의해 Tire로 변환되었을 텐데 KiaTire kiaSampleTire = new KiaTire("KIA")로 생성 했을 때와 같은 결과가 나온다. 제대로 이해하지 못했다는 증거. 1. kiaSampleTire가 KiaTire의 객체로 생성되었고, KiaTire가 rideComfort를 오버라이딩 했기에 실행되는건가?? 2. KiaTire와 Tire에 있는 super, this로 인.. 2023. 5. 24.
23.05.23 2주차 숙제 진행 중 발생한 문제들 문제 발생 더보기 ArrayList list = new ArrayList(); // List 선택 시 ArrayList로 저장 System.out.println("레시피 이름을 입력합니다."); String recipeName = scanner.nextLine(); System.out.println("레시피를 입력합니다."); System.out.println("레시피 입력이 끝나면 '끝'을 입력해주세요"); int i = 1; // 레시피가 몇 번까지 있는지 알기 위함. while (true) { // break가 없으면 무한 반복되도록 String recipe = scanner.nextLine(); if (recipe.equals("끝")) { // 끝을 입력하면 .. 2023. 5. 23.
23.05.22 java, 알고리즘 스터디를 위한 새로운 팀이 만들어졌다. 모두 활기차고 밝은 성격인 것 같아 다행이다. 팀 과제에서 누가 되지 않도록 java 문법 종합반 강의를 이수할 예정. 초반부 내용은 최근에 이미 짚고 넘어간 내용이라 빠르게 훑고 지나가고, 후반부 내용을 천천히, 여러 번 들을 계획이다. 1주차 강의는 따로 필기 사항X 1주차 숙제에서 이미 아는 내용을 추가해 더 그럴듯하게 구현했다. 이마저도 2주차부터는 기존 기능도 제대로 구현하기 빠듯하지 않을까 싶다. package sparta_nbc.HW; /* 요리 레시피 메모장 만들기 입력값 - 내가 좋아하는 요리 제목을 먼저 입력합니다. - 요리 별점을 1~5 사이의 소수점이 있는 실수로 입력해주세요. (ex. 3.5) - 이어서 내가 좋아하는 요리.. 2023. 5. 22.