본문 바로가기

Java (국비)86

4주차 복습 주석 (많이 달기) 연산자 (우선순위체크) 제어문(한글코딩) 배열(3요소) 배열의 3요소를 체크하고, 컬렉션 프레임워크 사용이 훨씬 좋은데 ? 하면 사용. (때로는 배열리스트보다 그냥 배열을 쓰는게 좋을 수도 있으니까 ~) 함수(3요소 == 메서드 시그니쳐) 메서드 디버깅표 -------------------------------------------------------------------------------------------------- 객체지향 프로그래밍 (OOP)의 특징 4가지 1) 추상화, 2) 캡슐화, 3) 상속, 4) 다형성 1 ) 추상화 : abstract 추상클래스 객체화 XXXXX 추상메서드 == 오버라이딩을 강제 ex) 포켓몬, 모양,.. (포켓몬은 없고, 포켓몬을 상속받은 피.. 2023. 5. 25.
MVC 패턴 느낀점 23.05.25 1. 컨트롤러에서 전체적인 흐름을 구성해 본다. M C V (M과 V가 직접적으로 연결되지 않도록 이해하기 쉽도록 한글코딩 하기) 이때, 내가 사용할 모든 함수명, 멤버변수, 변수명을 정해놓으면 훨씬 수월한 느낌. 2. DAO에서 사용할 기능들은 어차피 CRUD에 의해 구현되고, CRUD (DAO 함수)의 이름은 고정이다. 이름은 아래와 같다. 1) insert 2) selectAll (getAll) 3) selectOne (getOne) 4) update 5) delete 또한 CRUD (DAO 함수)는 input이 VO(클래스명) vo(참조변수) 으로 고정이다. 또한 CRUD (DAO 함수)는 output이 boolean 으로 고정이다. (특별하게 사용자 정의 타입의 무언가를 반환 해.. 2023. 5. 25.
MVC (Model-View-Controller) 메모 2 DAO 코드 수정) Controller 예시) View와 DAO를 사용해야하므로, 선언 후 생성자에서 초기화. 장바구니 기능을 위해 controller 에 추가. 1. V의 프린트메뉴 메서드를 호출해서 인자를 받고, int action에 저장. 2. action이 1, 2, 3, 4, 5, 6, 7 에 따라, 기능이 실행.. (View에서 기능을 알려주는 인터페이스가 있다면, 기능을 사용하기 위해 번호 입력을 하면 그 번호를 Controller에서 받아서 action에 저장하고, 여기서 1번일때는 무슨무슨기능 2번일때는 무슨무슨기능 .. 7번일때는 무슨무슨기능 하면서 View와 DAO를 연결시켜준다. 3. View와 DAO는 절대로 한줄에 같이 있지 않음을 알 수 있다. 4. 컨트롤러에서 DAO로 그저 .. 2023. 5. 24.
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.