Purple Bobblehead Bunny

Backend/JAVA 40

[JAVA] MVC Pattern

MVC 패턴 효과적인 웹 어플리케이션 설계 및 프레임워크 활용을 위해서 꼭 필요한 개념 Model-View-Controller의 약어로 주로 GUI 기반의 어플ㄹ케이션 개발에 사용된 디자인 패턴 화면과 데이터 처리를 분리 해 코드간의 종속성을 줄이고, 구성요소간의 역할을 명확하게 함으로써 코드 분리가 쉽고 협업을 유리하게 할 수 있다. Model(모델) 데이터를 처리하는 영역 실제 구현에는 데이터베이스 연동을 위한 DAO(Data Access Object) 클래스, 데이터 구조를 표현하는 DO(Data Object, Entity) 클래스로 구성 View, Controller에 독립적인 구조 효과적인 구현을 위해 JPA를 사용하는 경우 DAO는 생략되거나, 구현 범위가 축소 될 수 있다. public cl..

Backend/JAVA 2022.05.09

[JAVA] ServerSocket

Socket JAVA에서 서버 프로그램을 개발할 때 쓰이는 클래스 Socket 클래스는 client에서 서버로 접속 하거나 Server에서 accept 하는데 필요한 클래스이다. 원격지에 있는 프로그램 간 연결에 사용한다. Socket 관련 클래스 / 함수 · Socket 클라이언트가 서버에 연결요청에 사용 · SocketServer 클라이언트의 연결요쳥을 받아 세션을 형성 · InputStream() 데이터를 받기 위해서 사용되는 함수 · OutputStream() 데이터를 보내기 위해서 사용되는 함수 ServerSocket, Socket 클래스의 주요 메서드 메서드 설명 Socket accept() · 클라이언트의 Socket 객체가 생성될 때 까지 블로킹 되는 메서드 · 클라이언트의 Socket객체..

Backend/JAVA 2022.05.02

[JAVA] HashMap

HashMap은 인터페이스 종류 중 하나로써 Key, Value 값으로 데이터를 저장하는 형태를 가지고 있다. 여기서 Map은 Key와 Value를 쌍으로 묶어 저장하는 컬렉션 클래스를 구현하는 데 사용이 된다. --> Key,Value 값으로 저장하는 List 형태의 조상 Hashtable, HashMap, LinkedHashMap, SortedMap, TreeMap 등 Map 종류는 다양하다. hashing(해싱)이라는 검색 방법을 사용하기 떄문에 많은 양의 데이터를 검색하는 데 있어서 유용하다. 여기서! HashMap의 Value값은 중복저장이 가능하지만, Key는 중복 저장이 불가능하고, 기존의 저장된 키와 동일한 키로 값을 저장하면 기존의 값은 없어지고 새로운 값으로 대체를 한다. Map 컬렉션..

Backend/JAVA 2022.04.27

[JAVA] chatAt(int i) - '0'

charAt은 자바에서 문자열에 index 값을 통해 문자를 읽어오는 방법이다. String a = "안녕하세요"; 문자열에서 public class Main { public static void main(String[] args) { String a = "안녕하세요"; a.charAt(0); //안 a.charAt(1); //녕 a.charAt(2); //하 a.charAt(3); //세 a.charAt(4); //요 } } 문자를 불러올 수 있다. public class Main { public static void main(String[] args) { String a = "1234"; System.out.println(a.charAt(0)); System.out.println(a.charAt(1)..

Backend/JAVA 2022.04.23

[JAVA] 상속(Inheritance)

자바는 상속(Inheritance)라는 개념이 존재한다. 부모 클래스(상위클래스)와 자식 클래스(하위 클래스)가 있고, 자식 클래스는 부모클래스를 선택해서, 그 부모의 멤버를 상속을 받아 그대로 쓸 수 있게 된다. 이미 준비가 되어 있는 클래스를 재 사용을 해서 만들 수 있기 때문에 효율적이고,시간 절약도 된다. 하지만 몇 가지 제한이 있다. 부모 클래스의 private 접근 제한을 갖는 필드 밑 메소드는 자식이 물려 받을 수 없다 부모와 자식 클래스가 서로 다른 패키지에 있다면,default 접근 제한을 갖는 필드, 메소드도 자식이 물려 받을 수 없다. (접근제한자) 그 이외의 경우는 모두 상속의 대상 상속 받는 자식 클래스 명 옆에 extends를 붙이고, 상속할 부모 클래스명을 적는다. 자바는 다중..

Backend/JAVA 2022.04.22

[JAVA] Singleton Pattern

싱글톤 패턴 어떤 클래스가 최초 한번만 메모리를 할당하고(static) 그 메모리에 객체를 만들어 사용햐는 디자인 패턴 생성자의 호출이 반복적으로 이뤄져도 실제로 생성되는 객체는 최초 생성된 객체를 반환 class C05Company { int x; int y; int z; //싱글톤 패턴 코드 시작 private static C05Company instance = new C05Company(); private C05Company() {} public static C05Company getInstance() { if(instance==null) instance=new C05Company(); return instance; } //싱글톤 패턴 끝 instance라는 전역변수를 선언하는데, static을 줌..

Backend/JAVA 2022.04.21

[JAVA] 간단한 커피 자판기 프로그램

커피 자판기에 돈과 주문할 커피를 전달 주문 할 수 있는 커피 종류와 가격을 정하고 입력을 한다 --> switch문 사용 없는 커피 주문 시 --> 입력한 돈 그대로 반환 return money; 정상 주문할 시 --> 주문한 커피와 잔돈 반환 return money - cost; package Coffee; import java.util.Scanner; class Machine { int calc_Change(int money, String menu) { System.out.println(money+"원에"+menu+"를 선택 하셨습니다."); int cost = 0; switch(menu) { case "Americano": cost=4000; break; case "Maggiyato": cost=..

Backend/JAVA 2022.04.17

[JAVA] 간단한 은행 입 출금 프로그램

클래스를 2가지로 나눈다. 보기 편함을 위함 Account , AccountApp 클래스 예금 출금 기능 정의 1. 예금 선택 --> 예금액 합산 후 출력 2. 출금 선택 --> 금액 입력 후 남은 금액 출력 3. 잔고 선택 --> 현재 가지고 있는 금액 출력 4. 종료 선택 --> 종료 이 외 다른 숫자 입력 시 "다시 입력 해 주세요" 출력 계좌번호 : account() 예금 : deposit() 출금: withdraw() 잔고 : showBalance() package Bank; public class Account { private String accountNum; private int balance; public Account(String accountNum) { // 계좌번호 this.acco..

Backend/JAVA 2022.04.17

[JAVA] 간단한 사칙 연산 계산기

import java.util.Scanner; public class Cal { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("첫 번째 숫자를 입력하세요 : "); String s1 = input.nextLine(); System.out.print("사칙 연산 기호를 입력하세요 : "); String com = input.nextLine(); System.out.print("두 번째 숫자를 입력하세요 : "); String s2 = input.nextLine(); int num1 = Integer.parseInt(s1); int num2 = Integer.parseInt(s2..

Backend/JAVA 2022.04.17