목록Java/후발대 (48)
코드 그라데이션
Q1. JPA는 무엇인가? JPA는, SQL을 쓰지 않고 데이터를 생성, 조회, 수정, 삭제할 수 있도록 해주는 번역기입니다.영속성 관리 도구입니다. 단기 작업용이라 휘발되어도 상관없는 데이터들이 있고, 어딘가에 적어둔 다음 두고두고 이용하는 데이터들이 있는데요. 데이터를 적어두고 관리해주는게 데이터베이스이고, 데이터베이스와 소통을 1) 자바를 이용해서 편하게 하고, 2) 작업이 빠르고 견고하게 일어날 수 있도록 도와주는 녀석이 JPA 라고 생각하시면 됩니다. Q2. Restful API란? RESTful은 REST의 설계 규칙을 잘 지켜서 설계된 API를 RESTful한 API라고 합니다. 즉, REST의 원리를 잘 따르는 시스템을 RESTful이란 용어로 지칭합니다. Q3. Controller, Se..
람다식 _03_Lambda //Day16 public class _03_Lamda { public static void main(String[] args) { //람다식 : 간결한 형태의 코드 뭉치 // (전달값 1, 전달값 2 -> { 코드 } } // 기본 형태 : 뭔가를 출력하는 함수 /* public void print() { String s = "test"; System.out.println(s); } */ // 이걸 람다식으로 바꾸는 연습 // 1. 람다식은 public과 메서드 명이 필요가 없다(지움) // 2. 람다식에서는 무언가 리턴 타입이 필요한 부분이 있다면 자동으로 지정해주므로 void 삭제 // 3. 전달값과 메서드 바디 사이에 화살표로 연결 필요 // 지금까지 하면 print 메..
후발대수업_16. 람다식(Lambda), 함수형 인터페이스 1. 람다 함수(Lambda Function)란? 람다 함수는 함수형 프로그래밍 언어에서 사용되는 개념으로 익명 함수라고도 한다.Java 8 부터 지원되며, 불필요한 코드를 줄이고 가독성을 향상시키는 것을 목적으로 두고있다. 2. 람다 함수의 특징 메소드의 매개변수로 전달될 수 있고, 변수에 저장될 수 있다.즉, 어떤 전달되는 매개변수에 따라서 행위가 결정될 수 있음을 의미한다. 컴파일러 추론에 의지하고 추론이 가능한 코드는 모두 제거해 코드를 간결하게 한다. 3. 람다식 표현 파라미터와 몸체로 구분된다. 파라미터와 몸체 사이에 > 구분을 추가하여 람다식을 완성시킨다. 몸체 부분이 단일 행일 경우 중괄호와 return문을 생략할 수 있다. ( 파..
_08_Iterator public class _08_Iterator { public static void main(String[] args) { // 이터레이터 // 컬렉션 프레임워크의 데이터를 순회하는 거라고 생각하면 쉽다. List list = new ArrayList(); // ctrl하고 클릭해보면 List는 인터페이스이고, ArrayList는 클래스이다. // ArrayList는 List 인터페이스를 상속받는 형태로 구현이 되는 것이에요. // 그래서 이는 다형성 사례라고 할 수 있음. LinkedList 써도 마찬가지 //추가 // 알 수 없는 오류로 잘못 된 더미 값이 들어온다고 쳐보자 list.add("유재석"); list.add("(알 수 없음)"); list.add("김종국"); li..
후발대수업_15. Iterator, 퀴즈, 익명클래스 Iterator : 프로그래밍에서 이터레이터는 개발자가 컨테이너, 특히 리스트를 순회할 수 있게 해주는 객체다. 이터레이터는 데이터베이스 커서와 동작이 유사하다. 객체 지향적 프로그래밍에서 배열이나 그와 유사한 자료구조의 내부요소를 순회하는 객체 배열이나, 셋, 맵을 순회하고 불필요한 데이터를 바로 삭제 할 수 있다. 익명클래스는 내부클래스 (Inner Class) 일종으로 단어 그대로 이름이 없는 클래스를 말한다. 익명 클래스는 클래스 정의와 동시에 객체를 생성할 수 있다. 따로 클래스 정의 없이 메소드 내에서 바로 클래스를 생성해 인스턴스화 할 수 있으며 이렇게 클래스의 선언과 객체의 생성을 동시에 하기 때문에 단 한번만 사용 될 수 있고, 익명으..
LinkedList (2) public class _05_LinkedList { public static void main(String[] args) { // 링크드 리스트 // 여러명이 앉을 의자가 있다고 가정한 설명 /* 먼저 어레이리스트는, 여러명이 앉을 의자가 연달아 있으면, 중간에 누가 앉으려고 한다면 그 사람의 위치로부터 그 사람 뒤에 있는 사람들이 모두 일어나서 한 칸씩 이동해야 하는 번거로움이 있다. 링크드 리스트는 의자 없이 사람들이 나란히 손을 잡고 있는 상황이다. 중간에 한 명이 2-3번 사이로 들어간다고 하면, 잡았던 손을 놓고, 그 사이에 들어가고 나서 기존에 2-3번에 있는 사람과 손을 잡으면서 쉽게 여러 사람들 사이로 들어갈 수 있다. 그냥 손을 놨다가 새로 들어온 사람과 손을..
LinkedList(2), HashSet, HashMap, Iterator(1) 컬렉션 프레임워크라고 함은 많은 데이터를 효과적으로 쉽고 편리하게 관리하기 위해서 자바에서 제공해주는 어떤 클래스들의 모음 컬렉션 프레임 워크에서는 데이터를 저장하는 자료구조에 따라 다음과 같은 주요 인터페이스를 정의하고 있음 List 인터페이스 Set 인터페이스 Map 인터페이스 Iterator 데이터 처리하는 방법과 문법에 대해 바로 익힌다. LinkedList(2) import java.util.LinkedList; public class _05_LinkedList { public static void main(String[] args) { // 링크드 리스트 LinkedList list = new LinkedList(..
Generics(2) public class _02_GenericsClass { public static void main(String[] args) { // 다양한 형태의 메서드들을 받아서 하나로 처리하는 걸로 구현을 앞에서 했었지 // 커피 실습할거야.(커피 패키지 생성) // 5개 실습 중에 먼저 주문 번호로 알려주는 CoffeeByNumber부터 생성 CoffeeByNumber12 c1 = new CoffeeByNumber12(33); // 대기번호 c1.ready(); //커피 준비 완료 : 33 출력 // 이제 닉네임으로 불러드리는 고객님이 오셨다고 하자... // CoffeeByNumber12에서는 int로 받았으니까, 닉네임으로 받는 걸 만들어줘야지, 클래스 생성하자. 2. CoffeeBy..
Generics 2 Generics (제네릭스, 타입이 여러개일때), WrapperClass, 컬렉션 프레임 워크 中 ArrayList , LinkedList 컬렉션 프레임워크라고 함은 많은 데이터를 효과적으로 쉽고 편리하게 관리하기 위해서 자바에서 제공해주는 어떤 클래스들의 모음 컬렉션 프레임 워크에서는 데이터를 저장하는 자료구조에 따라 다음과 같은 주요 인터페이스를 정의하고 있음 List 인터페이스 Set 인터페이스 Map 인터페이스 1에서도 ArrayList 와 LinkedList가 있음 Generics 추가 import com.sparta.hbd04.prac01.prac12.coffee.*; import com.sparta.hbd04.prac01.prac12.user.User; import com..
일단 파일 모양 커밋 내용 코드 Generics _Generics_01 package Prac12; public class _01_Generics { public static void main(String[] args) { // 제네릭스 // 다양한 타입의 객체를 지원하는 클래스나 인터페이스 또는 메서드를 정의하는 방법 // 앞을 대문자로 수정할거야 Integer[] iArray = {1,2,3,4,5}; Double[] dArray = {1.0, 2.0, 3.0, 4.0, 5.0}; String[] sArray = {"Aa", "Bb", "Cc", "Dd", "Ee"}; printIntArray(iArray); // 아직 메서드를 만들지 않았기 때문에 빨간줄 printDoubleArray(dArray)..