전체 글 99

MVC 음료 자판기 프로그램 + 장바구니

로그: 사용자가 새로 입장합니다. === 자 판 기 === 1. 음료추가 2. 음료목록출력 3. 음료구매 4. 음료제거 5. 음료추가 6. 음료검색 7. 프로그램 종료 입력) View package view; import java.util.ArrayList; import java.util.Scanner; import model.DrinkVO; public class DrinkView { private static Scanner sc=new Scanner(System.in); public int tryCatch() { while(true) { try { System.out.print("입력) "); int action=sc.nextInt(); return action; } catch(Exception e)..

Test/JAVA Test 2023.05.24

[JAVA 기초 이론] MVC패턴

MVC MVC 템플릿을 제공하는 Spring 프레임워크 📌 MVC의 장점 유지보수 용이 모듈화를 강제해서 개발의 편의성 도모 ex) 레고-블록이 작을수록 다양한 output 프로젝트 코드가 '낮은 결합도'를 가짐 프로젝트 코드가 '높은 응집도'를 가짐 M V C Model View Controller 데이터(DB)와 연결 사용자가 보는 화면 V ↔ M 을 연결하는 파트 ✅ M ---- Model (모델) : 데이터(DB)와 관련된 로직을 담당하는 파트 DB에서 데이터를 다루는 방법에 대한 코딩 == SQL DB의 데이터 JAVA 환경 == JDBC, DAO CRUD 기능을 구현하는 파트(사용자에 제공할 서비스를 코딩) ✅ V ---- View (뷰) : 사용자가 보는 화면에 대한 모든것을 담당하는 파트 ..

Language/JAVA 2023.05.24

중복 허용 정수 값 구하기

중복허용 정수를 입력합니다. 0을 입력하면 종료됩니다. 프로그램이 종료되었을때 현재까지 이렵한 정수들의 평균을 출력 _._ 입니다. 입력한 정수중에서 짝수가 몇개인지 출력해주세요 짝수는 _개 입니다. 해당 컬렉션에 짝수만 남겨서 출력해주세요. package class02; import java.util.ArrayList; import java.util.Scanner; public class Test02 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); //배열은 개수가 정해져 있어야 하는데 그게 안되어 있으니까 못쓴다 //=> 배열리스트 써야함 ArrayList data=new ArrayList(); while(tr..

Test/JAVA Test 2023.05.22

중복을 제외한 랜덤수 출력

10개의 랜덤수를 생성해주세요. 범위는 1~15까지 입니다. 중복을 제외하고 생성된 랜덤수의 개수를 출력 랜덤수를 출력해주세요 랜덤수는 3개 생성되었고 [1,2,3] 입니다 package class02; import java.util.HashSet; import java.util.Random; public class Test01 { public static void main(String[] args) { // 1개씩 10번 // 10개를 1번 // -> 어떤 자료형을 선택하는지? //배열 / 컬랙션(배열리스트,집합) > 컬렉션 선택 컬렉션 중 어떤걸 선택? // 집합 선택 // 집한은 순서(정렬)개념 없음 HashSet data=new HashSet(); // 중복 방지 Random rand=new Ra..

Test/JAVA Test 2023.05.22

[JAVA 기초 이론] 집합 Set

set 순서가 없다 ( index X ) 중복 허용 X 다양한 자료형 저장 가능 HashSet data = new HashSet(); set 특성 데이터를 비순차적으로 저장 insert한 데이터가 순서대로 저장되지 않음 중복해서 삽입 불가능 제네릭 HashSet data = new HashSet(); 제네릭을 사용하여 같은 자료형만 허용 package class01; import java.util.HashSet; import java.util.Set; public class Test02 { public static void main(String[] args) { // 추상클래스 Set // Set류의 부모클래스 HashSet data=new HashSet(); // 집합(Set) // 1. 순서가 없음(..

Language/JAVA 2023.05.22

try catch문을 사용하여 해당 정수 값 구하기

정수를 입력 10개가 될때까지 계속 입력한 정수들을 모두 출력 [ 1, 3, -1, 0, 10, ...] 이중에서 0이하인 정수들을 모두 제거하고 출력 [1, 3, 10,...] 이중에서 가장 큰 정수가 저장된 인덱스 넘버 출력 [2]번 가장 큰 정수를 제외하고 남은 정수들의 합과 평균 출력 4 2.0 package class01; import java.util.ArrayList; import java.util.InputMismatchException; import java.util.Scanner; public class Test04 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); ArrayList data=new..

Test/JAVA Test 2023.05.22

[JAVA 기초 이론] 스레드 Thread

스레드 프로그램 실행의 기본 단위로, 하나의 프로세스 내에서 독립적으로 실행될 수 있는 흐름 프로세스 내에서 각각의 독립적인 작업을 수행하며, 여러 스레드가 동시에 실행 여러 작업을 병렬로 실행하거나, 프로그램의 반응성을 높이는 등의 다양한 목적으로 활용 이미 JAVA에서 구현한 Thread 클래스를 가져다가 사용 📍 스레드 생명주기 스레드 객체가 생성이 되면, 즉시 대기 → 수행 → 데드 ex) Th01 t1 = new Th01(); → 대기 → start() ... run() → 데드 start() 스레드 객체야, 일해! -> run()메서드를 실행시켜 수행하게 됨 📌 Thread 구현 방법 스레드 상속 class 클래스명 extends Thread{ @Override // run() 필수로 생성 :..

Language/JAVA 2023.05.22

[JAVA 기초 이론] 오버로딩 / 오버라이딩

오버로딩 오버라이딩 기존에 없던 새로운 메서드를 정의 상속받은 메서드의 내용만 변경 오버로딩 오버라이딩 매개변수 다름 동일 메서드 명 동일 동일 리턴값 다름 동일 ✅ 오버로딩 OverLoading 하나의 클래스에 같은 이름의 메소드를 여러 개 정의하여 구현 가능 메서드에 사용되는 이름을 절약 가능 📌 오버로딩 조건 한 클래스 내에서 메서드 명이 동일 매개변수의 개수 / 타입이 달라야함 매개변수는 같고 리턴타입이 다른 경우 오버로딩이 성립 x ex) class OverLoading { void print(int a){ System.out.println(a); } void print(String s){ System.out.println(s); } void print(int a, int b){ System.o..

Language/JAVA 2023.05.22

[JAVA 기초 이론] 예외처리 try / catch / finally

try - catch문 try - catch - finally문 try{ 예외가 발생되면, 즉시 catch문으로 이동 예외가 발생하지 않았다면, 아무일도 일어나지 않는다! // 결제코드(); // 잔액부족 한도초과 카드점검기간 카드단말기 } catch(예외클래스 e){ 해당 예외클래스의 문제가 발생되면, 이곳의 코드를 수행 // 결제된 곳까지의 돈을 다시 되돌려놓기 == rollback } finally{ 예외발생 여부와 무관하게 항상 수행되는 코드 // 통신을 위해 확보해둔 모든 연결스트림 해제 } ✅ 예외처리하면 좋은점 - 프로그램이 비정상적으로 종료되는 것을 막을 수 있음! - 예외가 발생되면서 커질 수 있는 피해들을 최소화 하는 것이 목표! package class01; import java.ut..

Language/JAVA 2023.05.21

[멘토씨리즈 자바] pg.273~275

1. 다음 중 상속과 관련된 단어를 모두 고르세요. ① super ② super() ③ this ④ extends 답: ④ extends, ② super() 2. 다음 코드를 실행했을 때 콘솔창에 출력되는 결과는 무엇입니까? package section10; class Person{ void printHello() { System.out.println("안녕하세요."); } } class Student extends Person{ } public class PRACTICE_10_02 { public static void main(String[] args) { Person p = new Person(); p.printHello(); Student s = new Student(); s.printHello()..