목록공부/JAVA (41)
랩터
람다식(Lambda Expression)은 함수형 프로그래밍 기법을 지원하는 자바의 문법요소입니다.람다식은 간단히 말해서 메서드를 하나의 ‘식(expression)’으로 표현한 것으로, 코드를 매우 간결하면서 명확하게 표현할 수 있다는 큰 장점이 있습니다. 학습 목표람다식이 무엇이고, 어떻게 사용할 수 있는지 이해할 수 있다.함수형 인터페이스를 통해 람다를 다루는 방법을 이해하고 설명할 수 있다.람다식을 메서드 참조 방식으로 변환할 수 있다.스트림(Stream)은 배열, 컬렉션의 저장 요소를 하나씩 참조해서 람다식으로 처리할 수 있도록 해주는 반복자입니다. 람다식의 기본 문법//기존 메서드 표현 방식void sayhello() { System.out.println("HELLO!")}//위의 코드를 람다식..
학습 목표컬렉션 프레임워크의 핵심 인터페이스를 이해하고 사용할 수 있다.주요 인터페이스와 컬렉션 클래스의 핵심 메서드를 사용할 수 있다.필요에 따라 어떤 인터페이스와 컬렉션 클래스를 사용하는 것이 적합한지 결정할 수 있다. 컬렉션 프레임워크컬렉션이란 여러 데이터의 집합을 의미합니다. 즉, 여러 데이터를 그룹으로 묶어놓은 것을 컬렉션이라고 하며, 이러한 컬렉션을 다루는 데에 있어 편리한 메서드들을 미리 정의해 놓은 것을 컬렉션 프레임워크라고 합니다컬렉션 프레임워크는 특정 자료 구조에 데이터를 추가하고, 삭제하고, 수정하고, 검색하는 등의 동작을 수행하는 편리한 메서드들을 제공해 줍니다. ListList는 데이터의 순서가 유지되며, 중복 저장이 가능한 컬렉션을 구현하는 데에 사용됩니다.ArrayList, V..
학습 목표프로그래밍에서 예외 처리가 무엇인지 이해할 수 있다.컴파일 에러와 런타임 에러의 차이를 이해하고 설명할 수 있다.자바 예외 클래스의 상속 계층도를 통해 클래스 간 관계를 이해할 수 있다.자바의 핵심적인 예외 처리 방법인 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("밥을..