본문 바로가기

전체 글520

MVC (Model-View-Controller) 메모 DAO 예시) 1. VO 클래스의 객체를 생성해서, VO 클래스의 배열리스트 (객체배열)에 .add 하는 모습. 2. CRUD의 Create에 해당하는 insert 메서드에 인자값으로, DrinkVO(클래스명/타입) vo(참조변수) 를 확인 할 수 있다. 원래라면, DrinkVO의 객체를 배열리스트에 .add 할 때 VO의 생성자가 PK,name,price,cnt 라서 (PK는 직접 입력 받지 않음) insert 메서드의 인자로 위와 같이 표현 했다. 그래서 접근할 때 참조변수.메서드, 참조변수.메서드, 참조변수,메서드 로 표기 할 수 있다. 3. CRUD의 Read에 해당하는 selectAll 메서드에 인자값으로, DrinkVO(클래스명/타입) vo(참조변수) 를 확인 할 수 있다. 1) 리턴값으로 D.. 2023. 5. 24.
MVC (Model-View-Controller) 프로그래밍을 할 때 설계 하는 방식을 뜻한다. 다양한 언어를 공부해도 문법은 바뀔지언정, 프로그래밍 설계의 구조는 바뀌지 않는다. Model : 모델은 데이터(DB)와 관련된 로직을 담당하는 파트 이다. DB에서 데이터를 다루는 방법에 대한 코딩이 == SQL (DB의 데이터를 JAVA환경으로 가져올 수 있도록 하고 반대도 마찬 가지 이다) DB JAVA == JDBC, DAO (Data Access Object : 데이터 접근 객체) CRUD "기능"을 구현하는 파트 (사용자에게 제공할 서비스를 코딩) CRUD를 비즈니스 메서드 (핵심 로직) 라고도 부른다. JAVA에서 데이터를 "정의" 하는 코딩은 == VO (Value Object : 값 오브젝트 (Read-Only)) 이다. View : 사용자가.. 2023. 5. 23.
파일 입출력 간단 정리 2 생성자에 직접 경로를 설정하는것은 위험하기도 하고, 유지보수에 불리하기 때문에, 상단에 배치해서 가독성을 높히고, 하드코딩을 하지 않을 수 있다. [ 사진 복사하기 ] 2023. 5. 22.
파일 입출력 간단 정리 [ 파일 입출력 ] 파일 : 사진, 영상, 음성 파일, 액셀, 문서, 텍스트 문서, ... 이다. 웹에서는 사진 파일, .. 기존에 봐왔던, java.util이 아닌 java.io를 확인 할 수 있다. io는 in / out 을 의미하고, 자바 내부에서가 아닌, 컴퓨터와 소통하기 위한 그런 기능의 느낌으로 생각 하면 된다. 이클립스에서 구현 1. 파일 생성하기. 2. File 참조변수 = new File(경로); try catch로 감싸지 않으면 사용이 불가능 하다. 1. 파일 읽어오기. 2. FileInputStream 참조변수 = new FileInputStream(); 3. EOF : end of file 파일의 끝이 자바에서는 int값 -1로 받는다. 1. 파일 작성하기. 2. FileOuputS.. 2023. 5. 22.
Thread 문제 Thread : 메모리를 할당받은 프로세스에서 실질적인 작업을 수행하는 주체. Process : "실행중인 프로그램" 을 의미. 문제 요구 조건 : 1. 가족이 공유의 계좌를 사용 한다. 2. 가족은 총 3명이고, 계좌의 잔고는 1만원이다. 3. 돈은 항상 5천원을 사용하고, 돈이 5천원 보다 적으면 결제 실패 문구가 뜨게. 포인트 : 1. Thread 클래스를 상속받는 클래스는 Thread 클래스의 run() 메서드를 오버라이딩 해서 사용 해야 한다. why ? Family 클래스를 객체화 해서, 객체화된 가족이 계좌를 사용해야하는 상황이므로 ! => Thread는 참조변수.start() 메서드로 수행을 시작하면, 바로 내부의 run() 메서드를 수행 한다. 이 run() 메서드를 오버라이드 해서 이 .. 2023. 5. 22.
스레드 (Thread) 간단 정리 2 Thread : 메모리를 할당받은 프로세스에서 실질적인 작업을 수행하는 주체. Process : "실행중인 프로그램" 을 의미. Thread의 특징 : "독립적"으로 일을 수행. 개념 : 공유자원을 어떤 스레드가 점유 하고 있을 때, 다른 스레드의 접근을 잠시 막아야만 한다. 이것을 "동기화" 라고 한다. 동기화 == synchronized 예시 1) 계좌 (결제를 만약 동시에 한다고 할때, 0.00000001초라도 빠르게 내 돈을 가져가면 다른 사람의 접근을 잠시 막는다) (그렇지 않으면 내 계좌 잔고가 100만원인데, 동시에 총 1000만원어치를 결제하면 돈이 차감될 수는 없기에) 예시 2) 인터넷 쇼핑 구매시 이클립스에서 구현하기 상황 : 사람들이 공유 자원인 티켓을 구매하는 상황. 1. Threa.. 2023. 5. 22.
스레드 (Thread) 간단 정리 Thread : 메모리를 할당받은 프로세스에서 실질적인 작업을 수행하는 주체. Process : "실행중인 프로그램" 을 의미. Thread의 특징 : "독립적"으로 일을 수행. (스레드 객체들은 독립적으로 일을 수행 하고 있음을 이해 해야 한다) => A 객체가 있고, B 객체가 있으면, A 객체가 끝나고 B 객체가 실행되는게 아니라 ! A 객체를 실행시키고 곧바로 B 객체도 실행을 동시에 진행 ! 프로세스가 실행되는 방식 : 1. 선점형 방식 우선순위 순서대로 자원(메모리)을 할당 받아 진행되는 방식. 단점 - 기아현상이 발생될 가능성이 있음. 기아현상 - 자원을 할당받지 못함을 의미한다. why ? - 우선 순위에서 계속 계속 밀려버리면 실행이 안되기 때문이다. 2. 시간분할 방식 시간을 동일하게 .. 2023. 5. 22.
[응용문제] 다형성과 타입 변환 SECTION 11 - 다형성과 타입 변환 300 ~ 301 page. 1. 다음 코드는 컴파일 에러가 발생합니다. 컴파일 에러가 발생하는 곳을 모두 찾아 수정해 보세요. class Car { } class Bus extends Car { } class SchoolBus extends Bus { } class OpenCar extends Car { } classSportsCar extends OpenCar { } main() Car c1 = new SchoolBus(); Bus b1 = new Bus(); SchoolBus sb = new Car(); Car c2 = new OpenCar(); OpenCar oc = new SportsCar(); Bus b3 = new OpenCar(); Bus b4 =.. 2023. 5. 22.
[응용문제] 상속 SECTION 10 - 상속 273 ~ 275 page. 1. 다음 중 상속과 관련된 단어를 모두 고르세요. 1) super 2) super() 3) this 4) extends => 1), 2), 4) 3)은 인스턴스변수 자기 자신을 의미하는 참조변수 이다. 2. 다음 코드를 실행했을 때 콘솔창에 출력되는 결과는 무엇입니까 ? class Person { void printHello() { sysout("안녕하세요."); } } class Student extends Person { } main() Person person = new Person(); person.printHello(); Student student = new Student(); student.printHello(); => 안녕하세요. .. 2023. 5. 21.