본문 바로가기

전체 글

(267)
[MVC] DB사용 없이 기초예제 (학생부) 아직 DB의 사용법을 몰라서 컬렉션 ArrayList로 DB역할을 해주고, 기초적인 코드를 이용해 MVC 구조패턴을 익힐 것이다. package model; // VO -> 벨류 오브젝트 , DB의 데이터를 -> Java // 이름, 점수 // PK public class StudentVO { private int num; // PK , 각 객체의 고유값 private String name; // 이름 저장변수 private int score; // 학생의 점수를 저장할 변수 public int getNum() { // private처리 된 멤버변수를 호출하기 위한 get return num; } public void setNum(int num) { private처리 된 멤버변수를 호출하기 위한 set ..
개발의 구조적 패턴 [MVC] ✅[M] - Model DB에 저장된 데이터 => VO : 어떻게 Java 객체로 표현할지. DB연동 ex) 재고 데이터 DBMS(Oracle,MySQL) DBMS에 저장된 데이터를 Java단으로 불러오는 역할 => DAO : CRUD(핵심로직,비즈니스 메서드) == 실질적으로 사용자에게 서비스(제공)되는 메서드 ✅[V] -View 사용자공간 : console,브라우저, 웹 페이지 => 화면 구성 => 사용자가 입력한 모든 값에 대해서 유효성 검사 ✅[C] - Controller Model과 View를 연결하는 역할 전체적인 로직과 흐름을 알아야 하기 때문에 숙련도가 높거나 로직에 대한 이해가 충분해야한다. MVC 구조를 사용하는 이유는? ★유지보수가 용이한 코드 == 낮은 결합도, 높은 응집도★ 를 위..
Resource 파일 복사하기 [buff]와 [FileIn/OutputStream] 응용 기본 매커니즘은 일반적인 [FileIn/Output]과 같다. 복사할 대상을 FileInputStream으로 특정 장소[buff]에 받아온 뒤 FileOutputStream으로 내보내 주는 것이다. 이 때 나오는 [buff]는 buffer를 뜻한다. 아래는 MyCoding 이라는 이미지를 MyCoding-복사본 으로 복사하기 예제이다. package class03; import java.io.FileInputStream; import java.io.FileOutputStream; public class Test05 { public static void main(String[] args) { final String path = "C:\\Users\\test\\test\\resource\\"; // 경로를 ..
Resource의 문자들을 [.parseInt]를 사용하여 연산하기 내가 쓴 Resource 파일인 test2.txt 에는 1234라는 값이 저장되어있는데, 이 값들의 합을 출력 하고 싶다. 일반적으로는 각각의 값을 받아서 더해주면 되는데 FileInputSteam을 하게 되면, 1의 아스키코드인 49, 2의 아스키코드인 50, 3의 아스키코드인 51 ...등등이 출력될 것이고, 문자형으로만 형변환을 한다면 문자끼리의 연산이 되지 않아 "1234"로 출력될 것이다. 이럴 때 사용되는 것이 .parseInt 이다. parseInt는 입력받은 String 값을 Integer 형태로 변환해 리턴해주는 기능이다. package class03; import java.io.FileInputStream; import java.io.FileNotFoundException; import..
Resource [FileOutputStream]를 이용한 파일 생성과 입력 외부의 값을 받아오는 것 뿐 아니라 지정된 경로의 파일의 수정이 가능한데 이 때 사용되는 것이 바로 FileOutputStream이다. 기본 식은 FileOutputStream 객체명 = new FileOutputStream(파일경로); 이다. 아래는 기본입력에 대한 예제이다. package class03; import java.io.FileOutputStream; // 파일 생성과 입력 public class Test003 { public static void main(String[] args) { final String path1 = "C:\\Users\\test\\test\\resource\\"; // 경로 상수화, 마지막에 \\ 확실하게 써주기! final String path2 = ".txt";..
Resource를 (클래스 생성없이) JAVA로 불러오기 (FileInputStream) 저번에 했던 객체를 생성하여 JAVA로 불러오는 것 외에도 불러오는 동시에 선언을 하는 방법이 있다. 그 방법은 FileInputStream fis=new FileInputStream(경로/파일명.확장자) 로 생성하면 된다. 이번에는 이것을 사용하여 문자열의 값을 받고, 그 문자열을 int로 다시 형변환하여 연산자 사용까지 하는 것을 해보는 예제이다. package class03; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; public class Test03 { public static void main(String[] args) { S..
Resource를 JAVA로 불러오기 (FileInputStream) 먼저 외부에 있는 데이터를 사용하기 위해선 File 이라는 클래스가 자바 내에 hiding 되어있기 때문에 File file = new File();로 임포트한다. 그리고 이 때 , Input 값에 자신이 불러오고자 하는 파일의 경로와 파일명.확장자를 입력하면 된다. 이 파일을 불러올 때에 대한 오류가 있을 수 있기 때문에 try catch로 예외처리를 완료하면 불러온 값을 file이라는 객체로 생성하는 것 까지 완료가 된 것이다. package class03; import java.io.File; import java.io.FileInputStream; import java.io.IOException; // [파일객체] public class Test02 { public static void main(..
반복문 for / for each + 컬렉션 [Iterator] for문과 for each문의 차이 ArrayList al =new ArrayList(); al.add(1); al.add(2); al.add(3); al.add(4); al.add(5); Integer 값만 받는 ArrayList al을 생성하여 {1,2,3,4,5} 를 배열에 넣어줬다. 이 때 배열 안에 인자값 들을 보기 위해서는 다음과 같이 for문을 사용했는데, for (int i = 0; i < al.size(); i++) { System.out.println(i); } 이 때 일반 for문 , for(초기식 ; 조건식 ; 증감식){ 반복 수행할 작업 } 을 사용하여도 상관이 없지만 1. 가독성이 떨어질 수 있고 2. ArrayIndexOutOfBoundException을 만날 수도 있다. 이러..