Java 39

Java 기초 또 다시 공부하기 15일차 - 예외 처리(예외 클래스, 예외 처리)

예외(exception)사용자의 잘못된 조작 또는 개발자의 잘못된 코드로 인해 발생하는 프로그램 오류발생 시 프로그램이 곧바로 종료되는데, 예외 처리(exception handling)를 통해 프로그램을 종료하지 않고 정상 실행 상태를 유지할 수 있음자바에서는 예외가 발생할 가능성이 높은 코드를 컴파일할 때 예외 처리 유무 확인(모든 예외를 확인하는 것은 아님)-> 예외 처리 코드가 없다면 컴파일되지 않음1. 예외 클래스자바에서는 예외를 클래스로 관리-> 프로그램 실행 도중 예외 발생 시, JVM에서 해당 예외 클래스로 객체를 생성해야 예외 처리 코드에서 예외 객체 이용모든 예외 클래스는 java.lang.Exception 클래스를 상속받음1) 예외와 예외 클래스(1) 일반 예외(컴파일러 체크 예외, e..

Java 기초 또 다시 공부하기 14일차 - 중첩 클래스와 중첩 인터페이스(중첩 클래스와 중첩 인터페이스 개요, 익명 객체)

관련 공부글2025.06.04 - [자바(JAVA)/미니 프로젝트 & 기초 공부] - Java 기초 또 다시 공부하기 8일차 - 객체 지향 프로그래밍(객체의 특징, 객체 간의 관계, 클래스와 인스턴스 속성과 동작[필드(Field)와 메서드(Method)]으로 구성되어 있음현실 " data-og-host="keep-programming-study.tistory.com" data-og-source-url="https://keep-programming-study.tistory.com/151" data-og-url="https://keep-programming-study.tistory.com/151" data-og-image="https://scrap.kakaocdn.net/dn/bIndU2/hyY77FSMOC..

Java 기초 또 다시 공부하기 13일차 - 인터페이스, 인터페이스의 타입 변환과 다형성

관련 공부글2025.06.04 - [자바(JAVA)/미니 프로젝트 & 기초 공부] - Java 기초 또 다시 공부하기 8일차 - 객체 지향 프로그래밍(객체의 특징, 객체 간의 관계, 클래스와 인스턴스 속성과 동작[필드(Field)와 메서드(Method)]으로 구성되어 있음현실 " data-og-host="keep-programming-study.tistory.com" data-og-source-url="https://keep-programming-study.tistory.com/151" data-og-url="https://keep-programming-study.tistory.com/151" data-og-image="https://scrap.kakaocdn.net/dn/BisCx/hyY8WKCIiz/..

Java 기초 또 다시 공부하기 12일차 - 상속(추상 클래스와 추상 메서드)

1. 추상 클래스의 정의클래스들의 공통적인 필드와 메서드를 추출해서 선언하는 클래스객체를 직접 생성 가능한 실체 클래스와 상속 관계를 가지고 있음 -> 추상 클래스가 부모, 실체 클래스가 자식으로 구현되어 실체 클래스는 추상 클래스의 모든 특성 물려받고 추가 특성을 가짐 (특성: 필드와 메서드들을 말함)2. 추상 클래스의 용도 공통된 필드와 메서드의 이름을 통일하여, 실체 클래스 작성 시 시간 절약실체 클래스를 설계하는 사람이 여러 사람일 경우, 실체 클래스마다 필드와 메서드가 제각기 다른 이름을 가질 수 있음-> 데이터와 기능이 모두 동일해도 이름이 다르니 객체마다 사용 방법이 달라지므로, 추상 클래스에 공통 필드와 메서드를 선언하고, 실체 클래스에서 추상 클래스를 상속하여 필드와 메서드..

Java 기초 또 다시 공부하기 11일차 - 상속(상속, 클래스의 타입 변환과 다형성)

1. 상속 1) 상속의 정의이미 잘 개발된 클래스를 재사용하여 새로운 클래스를 만들기 때문에, 중복되는 코드를 줄여줌-> 부모 클래스의 수정으로 모든 자식 클래스들도 수정되는 효과를 가져오므로, 유지 보수 시간을 줄일 수 있음예시: 부모 클래스 A.java, 자식 클래스 B.java// 클래스 Apublic class A { int field1; void method1() { ... }}// 클래스 A를 상속한 클래스 Bpublic class B extends A { String field2; void method2() { ... }}2) 클래스 상속의 특징 자식 클래스를 선언할 때 어떤 부모 클래스를 상속받을 것인지 결정하고, 선택된 부모 클래스를 extends 뒤에 기술자바에서는 여러 개의 부..

Java 기초 또 다시 공부하기 10일차 - 객체 지향 프로그래밍(인스턴스 멤버와 정적 멤버, 패키지와 접근 제한자)

이전 공부글2025.06.04 - [자바(JAVA)/미니 프로젝트 & 기초 공부] - Java 기초 또 다시 공부하기 8일차 - 객체 지향 프로그래밍(객체의 특징, 객체 간의 관계, 클래스와 인스턴스 속성과 동작[필드(Field)와 메서드(Method)]으로 구성되어 있음현실 " data-og-host="keep-programming-study.tistory.com" data-og-source-url="https://keep-programming-study.tistory.com/151" data-og-url="https://keep-programming-study.tistory.com/151" data-og-image="https://scrap.kakaocdn.net/dn/bHiZdH/hyY46fN4JW..

Java 기초 또 다시 공부하기 9일차 - 객체 지향 프로그래밍(필드, 생성자, 메서드)

1. 필드(Field)1) 필드의 개념 및 선언개념: 객체의 고유 데이터, 객체가 가져야 할 부품, 객체의 현재 상태 저장선언: 클래스 중관호 {} 블록 내부에 "타입 필드명( = 초기값);"과 같은 형식으로 선언-> 초기값 설정은 생략 가능 String company = "당근";String product = "플랫폼";int num = 10;int companyYear;초기값을 지정하지 않았을 경우 필드 타입별 기본 초기값 타입 분류타입초기값정수 타입byte 0char\u0000(빈 공백)short0int0long0L실수 타입float0.0Fdouble0.0논리 타입booleanfalse참조 타입배열null클래스(String 포함)null인터페이스null2) 필드 사용(필드값을 읽고 변경)클래스 내부..

자바(JAVA) 미니 프로젝트-간단한 캘린더 프로그램 만들기 2 (5단계~7단계)

4. 가상의 달력 모양 출력하기 (요일까지는 안 맞춘 버전)*변동사항월을 입력하면 해당 월의 달력이 출력되도록 한다. (*윤년일 경우에는 2월 달력을 29일까지 출력한다.)달력의 모양은 1단계에서 작성했던 모양으로 만든다.-1을 입력받기 전까지 반복 입력받는다.Calendar 클래스가 너무 길어지므로, 메인 함수 부분을 새로 만든 Prompt 클래스로 옮김- Prompt 클래스import java.util.Scanner;public class Prompt { public void runPrompt() { // 스캐너 열기 Scanner sc = new Scanner(System.in); // 자바의 Calendar 클래스를 이름을 정해서 생성 Calendar cal = new Calendar();..

자바(JAVA) 미니 프로젝트-간단한 캘린더 프로그램 만들기 (1~3 단계)

*참고한 강의 영상 링크https://www.youtube.com/watch?v=iJmUoil-O8I&list=PLLVOcpGEoI9AgdKH5rlVckzLktHwbMBsU&index=3  *진행 단계1. 샘플로 가상 달력을 출력해본다 2. 입력받은 달의 최대 일수를 출력하는 기능을 추가한다 3. 2에서, 입력받은 수만큼 반복해서 출력할 수 있도록 프로그램을 변경한다(for 문, while 문 각각 이용) 4. 샘플로 만들었던 가상 달력을, 최대 일수에 따라 일자가 추가되는 가상 달력으로 출력해본다 5. 가상 달력에 요일을 입력받아 출력하는 기능을 추가한다.6. '요일을 입력받아 출력하는 기능'을 삭제하고, 요일 계산 알고리즘을 추가하여 실제와 같은 달력을 출력한다. 7. 아래와 같이 간단한 UI를 만들..