목록공부 (50)
랩터

학습 목표프로그래밍에서 예외 처리가 무엇인지 이해할 수 있다.컴파일 에러와 런타임 에러의 차이를 이해하고 설명할 수 있다.자바 예외 클래스의 상속 계층도를 통해 클래스 간 관계를 이해할 수 있다.자바의 핵심적인 예외 처리 방법인 try-catch 문과 예외 전가에 대해 이해하고 설명할 수 있다.throws 키워드와 throw 키워드의 차이에 관해 설명할 수 있다. 예외 처리란?에러가 발생하는 원인은 수없이 다양하지만, 다음의 몇 가지 예를 들 수 있습니다.사용자의 입력 오류네트워크 연결 끊김디스크 메모리 공간 부족 등 물리적 한계개발자의 코드 에러존재하지(유효하지) 않는 파일 불러오기위의 원인을 다시 크게 내부적인 요인과 외부적인 요인으로 구분할 수 있습니다. package polymorphism_exa..

학습 목표제네릭의 장점을 이해한다.제네릭 클래스를 정의하고 활용할 수 있다.제네릭 메서드를 정의하고 활용할 수 있다.제네릭이란?제네릭의 필요성class Basket { private String item; Basket(String item) { this.item = item; } public String getItem() { return item; } public void setItem(String item) { this.item = item; }}위 코드는 오로지 String 타입의 데이터만을 저장할 수 있는 인스턴스를 만들 수 있습니다.다양한 타입의 데이터를 저장할 수 있는 객체를 만들고자 한다면 타입별로 별도의 클래스를 만들..

열거형(enum)은 서로 연관된 상수들의 집합을 의미합니다.상수란 변하지 않는 값을 의미하며 final 키워드를 사용하여 선언할 수 있었습니다.자바에서 열거형은 여러 상수들을 보다 편리하게 선언하고 관리할 수 있게 하며, 상수 명의 중복을 피하고, 타입에 대한 안정성을 보장합니다.또한 같은 효과를 낼 수 있는 다른 코드에 반해 훨씬 더 간결하고 가독성이 좋은 코드를 작성할 수 있으며 switch문에서도 작동이 가능합니다.enum Seasons { SPRING, SUMMER, FALL, WINTER }enum Frameworks { DJANGO, SPRING, NEST, EXPRESS } enum은 정해진 상수 집합으로 정의되기 때문에, new 키워드를 사용하여 직접 인스턴스를 생성하는 것이 불가능합니다..

https://github.com/Lifesheep1/java-restaurant_kiosk.git [김밥천국]에서 보내온 프로그래밍 요청서 ✏️ [김밥천국을 위한 프로그램 기능]본 프로그램은 아래와 같이 세 가지 기능을 추가해 주세요. 1. 메뉴 선택2. 수량 입력3. 결제 금액 출력 (※ 메뉴 선택과 수량 입력 단계에서 보기와 다른 값 혹은 과한 수량이 입력되더라도 프로그램이 종료되지 않도록 합니다) [레스토랑 키오스크 프로그램] 출력 예시 [안내]안녕하세요. 김밥천국에 오신 것을 환영합니다.------------------------------[안내]원하시는 메뉴의 번호를 입력하여 주세요.1) 김밥(1000원) 2) 계란 김밥(1500원) 3) 충무 김밥(1000원) 4) 떡볶이(2000원)0[안내..

일반적인 의미에서 다형성이란 "여러 개"를 의미하는 poly와 어떤 ‘형태' 또는 ‘실체’를 의미하는 morphism의 결합어로 하나의 객체가 여러 가지 형태를 가질 수 있는 성질을 의미합니다. 자바 프로그래밍에서 다형성은 한 타입의 참조 변수를 통해 여러 타입의 객체를 참조할 수 있도록 만든 것을 의미합니다.상위 클래스 타입의 참조 변수를 통해서 하위 클래스의 객체를 참조할 수 있도록 허용한것입니다.// 참조 변수의 다형성 예시class Friend { public void friendInfo() { System.out.println("나는 당신의 친구입니다."); }}class BoyFriend extends Friend { public void friendInfo(..

추상화먼저 “추상”이라는 용어의 사전적 의미를 보면 “사물이나 표상을 어떤 성질, 공통성, 본질에 착안하여 그것을 추출하여 파악하는 것"이라고 정의합니다. 자바에서의 추상화는 객체의 공통적인 속성과 기능을 추출하여 정의하는 것을 의미합니다. 상속이 하위 클래스를 정의하는데 상위 클래스를 사용하는 것이라고 한다면 추상화는 반대로 기존 클래스들의 공통적인 요소들을 뽑아서 상위 클래스를 만들어 내는 것이라고 할 수 있습니다. 자바에서는 주로 추상클래스와 인터페이스라는 문법 요소를 사용해서 추상화를 구현함. abstract 제어자abstract는 주로 클래스와 메서드를 형용하느 키워드로 사용, 메서드 앞에 붙은 경우를 '추상 메서드', 클래스 앞에 붙은 경우를 '추상 클래스'라 각각 부릅니다.어떤 클래스에 추..

캡슐화캡슐화란 특정 객체 안에 관련된 속성과 기능을 하나의 캡슐(capsule)로 만들어 데이터를 외부로부터 보호하는 것을 말합니다. 이렇게 캡슐화를 해야 하는 이유로 크게 두 가지 목적이 있습니다. 첫째는 데이터 보호의 목적이고, 둘째로 내부적으로만 사용되는 데이터에 대한 불필요한 외부 노출을 방지하기 위함입니다.자바에서 캡슐화를 수행하기 위한 핵심적인 수단으로 접근제어자(Access Modifier)와 getter와 setter 메서드를 중심으로 사용합니다. 패키지패키지(package)란 특정한 목적을 공유하는 클래스와 인터페이스의 묶음을 의미합니다. 패키지는 클래스들을 그룹 단위로 묶어 효과적으로 관리하기 위한 목적을 가지고 있습니다. 패키지가 있는 경우 소스 코드의 첫 번째 줄에 반드시 pack..

상속자바 언어에서 상속이란 기존의 클래스를 재활용하여 새로운 클래스를 작성하는 자바의 문법 요소를 의미합니다.두 클래스를 상위 클래스와 하위클래스로 나누어 상위클래스의 멤버(필드,메서드,내부클래스)를 하위클래스와 공유하는것을 의미합니다. 하위클래스는 상위 클래스가 가진 모든 멤버를 상속받게 됩니다. import java.sql.SQLOutput;class Person{ String name; int age; void learn(){ System.out.println("공부를 합니다."); } void walk(){ System.out.println("걷습니다."); } void eat(){ System.out.println("밥을..

내부 클래스내부 클래스(Inner Class)는 클래스 내에 선언된 클래스로, 외부 클래스와 내부 클래스가 서로 연관되어 있을 때 사용합니다. 내부 클래스를 사용하면 외부 클래스의 멤버들에 쉽게 접근할 수 있고, 코드의 복잡성을 줄일 수 있습니다. 또한 외부적으로 불필요한 데이터를 감출 수 있어 뒤에서 학습하게 될 객체지향의 중요한 핵심 원칙인 캡슐화를 달성하는데 유용합니다. 세 가지의 내부 클래스의 종류는 각각 인스턴스 내부 클래스, 정적 내부 클래스, 그리고 지역 내부 클래스로 구분할 수 있습니다.종 류 선언 위치 ..

필드(Field)필드는 ‘클래스에 포함된 변수'를 의미하는 것으로 객체의 속성을 정의할 때 사용됩니다. 자바에서 변수는 크게 클래스 변수(cv, class variable), 인스턴스 변수(iv, instance variable), 그리고 지역 변수(lv, local variable)라는 세 가지로 구분될 수 있습니다. 이 중 우리가 필드라 부른 것은 클래스 변수와 인스턴스 변수이며, 이 둘은 다시 static 키워드의 유무로 구분할 수 있습니다. static키워드가 함께 선언된 것은 클래스 변수, 그렇지 않은 것은 인스턴스 변수입니다. 그리고 이 두가지 변수 유형에 포함되지 않고 메서드 내에 포함된 변수를 지역변수라 부릅니다.class Example { // => 클래스 영역 int instanceVa..