java 12

JAVA 채팅 프로그램

✔ JAVA 채팅 프로그램 쓰레드 병렬처리 ServerSocket의 accept() 실행하면 해당 작업이 완료되기전까지 블로킹(blocking)이 일어남 쓰레드를 사용하면 블로킹이 일어나는 현상을 해결할 수 있음 DataInputStream - 기본 데이터타입 단위로 데이터를 읽을 수 있음 - byte 단위로 데이터를 읽는 것이 아님 - readUTF() : UTF-8(모든 언어가 사용가능한) 형식으로 코딩된 문자열을 읽을 수 있음 DataOutputStream - 기본 데이터타입 단위로 데이터를 쓸 수 있음 - byte 단위로 데이터를 쓴는 것이 아님 - writeUTF() : UTF-8(모든 언어가 사용가능한) 형식으로 코딩된 문자열을 출력할 수 있음 서버 import java.io.DataInput..

Java/Java 2022.10.20

JDBC(영어 단어장, 학생 성적 관리 프로그램 )

영어 단어장 import java.sql.SQLException; import java.util.Scanner; public class VocaMain { public static void main(String[] args) { Scanner sc = new Scanner(System.in); VocaDAO vocaDAO = new VocaDAO(); while(true){ System.out.println(" 📚📚📚📚📚 단어장 📚📚📚📚📚"); System.out.println("원하는 메뉴를 선택하세요"); System.out.println("1. 등록 2. 리스트 3. 검색 4. 수정 5 삭제 6. 종류"); int input = sc.nextInt(); if(input == 6){ System.ou..

JDBC 2022.10.19

자바 File 다루기

3. 파일 다루기 File 클래스 파일 또는 디렉토리 다루는 클래스 입출력 관한 작업 File 참조변수 = new File(파일 경로 또는 파일이름); ✔ 스트림(Stream) - 자바는 파일이나 콘솔에 입출력을 직접 다루지 않고 스트림이라는 흐름을 통해 다룸 - 운영체제에 의해 생성되는 가상의 연결고리를 의미하고 중간 매개자 역할을 함 Java 프로그램 OS(운영체제) 디스크(파일, 디렉토리) 스트림(흐름) 모니터, 프린터, 네트워크... ✔ 절대경로 믈리적인 경로 예) C:\Java\Day9\Day9.txt ✔ 상대경로 현재 동작하고 있는 파일을 중심으로 상대적인 경로 예) Day9.txt, 디렉토리명/Day9.txt, ../Day9.txt import java.io.File; import java...

Java/Java 2022.10.07

국비지원 자바 복습 8(래퍼, 추상 클래스, 인터페이스, static)

1. 래퍼 클래스(Wrapper Class) - 포장 - 기본형(primitive type) 변수 데이터를 객체로 취급해야 할 경우 객체로 포장해주는 클래스 - 자바는 객체지향 언어이지만 기본형이라는 예외를 둔 이유는 성능때문 @배열의 단점 1. 배열의 수를 미리 저장해야한다.(최댓값을 넘을 경우 새로 선언하거나 변경해야 하는 단점) 2. 배열의 타입을 상이하게 사용할 수 없다. 3. 인덱스 번호를 모를 경우 주소 값을 처음부터 일일히 대조해야한다는 단점을 가지고 있다. 래퍼 클래스가 필요한 이유 - 기본형 변수는 값을 저장하고, 첨조형 변수는 주소를 저장하기 때문 - 컬렉션 프리임워크(자료구조와 데이터를 처리하는 알고리즘)는 참조형 변수만을 다루기 때문 - 멀티쓰레딩(다수의 스레드를 동시에 이용하는 작..

Java/Java 2022.10.05

자바 접근 권한 제어자, Casting -학원

# 접근 권한 제어자(접근자) ​ 주로 클래스의 멤버(변수, 메서드)에 접근을 제어하기 위해 사용한다. ​ public : 모든 곳에서 접근 가능, 대표 클래스를 의미할 때 사용 protected : 다른 패키지에서 접근 불가, 자식은 허용 default : 다른 패키지에서 접근 불가 ( 별도로 명시하지 않고 접근제어자 생략시 자동으로 default가 됨) private : 다른 클래스에서 접근 불가, 메소그로만 접근하자! (getter, setter) ​ //alt shift s -> r 접근 권한 제어자 설정하기 ​ ​ # Casting ​ up casting : 자식 값을 부모 타입으로 형변환 down casting : 이미 up casting된 값을 다시 자식 타입으로 형변환 ※ 부모 값을 자식 ..

자바 상속 - 학원

상속(inheritance) 1. 기존에 선언된 클래스의 멤버(생성자는 제외)를 새롭게 만들 클래스에서 사용하고 싶을 때 상속을 받고 새로운 기능만 추가한다. 2. 여러 클래스 선언 시 멤버가 겹치는 경우, 부모 클래스를 먼저 선언하고 공통멤버를 자식 클래스에게 상속해준다. ​ ​ 상속 문법 ​ class Parents{ Parents멤버 } ​ class Child extends Parents{ Parents, Child 멤버 } ​ ​ super : 부모의 참조값 부모의 멤버에 접근할 때 사용한다. ​ super() : 부모 생성자 자식 클래스 타입의 객체로 부모 필드에 접근할 수 있다. 우리는 객체를 만들 때 자식 생성자만 호출하기 때문에, 자식 필드만 메모리에 할당된다고 생각할 수 있다. ex)C..

자바 학원 필기 9

# 2022.09.02 //art shift a 커서 키워서 한번에 지우기 ​ # 다마고치 문제 복습 ​ ​ package day08; ​ import java.util.Scanner; ​ class Creature { // 캐릭터 이름 String name; // hp int hp; // 밥먹은 수 int eatCnt; // 턴 int turn; // 변 boolean poo; ​ ​ ​ ​ ​ public Creature(String name, int hp) { this.name = name; this.hp = hp; } ​ // 먹기 : 턴을 1중가, hp 2증가 void eat() { this.turn++; this.hp += 2; this.eatCnt++; } ​ // 자기 : 3초 동안 잠에 ..

자바 클래스 - 학원

# 클래스 ​ 객체지향 프로그래밍(Object Oriented Prigramming) 이란? (OOP) 추상화된 클래스로 객체를 만들고 객체들 간의 관계를 맺어 상호작용하는 프로그래밍 기법 ​ 추상화란? (객체 모델링) 공통적인 특징을 파악하여 하나의 묶음으로 만들어내는 것 ​ 클래스 1. 사용자 정의 타입이다. - 클래스를 사용하면 여러 타입, 여러 값을 저장할 수 있는 저장공간을 만들 수 있다. - 클래스 안에 선언된 변수와 메서드를 서용하고 싶다면, 해당 클래스 타입으로 변수를 선언해야 한다. ​ 2. 연관성 있는 저장공간과 기능을 한 곳에 모아 편하게 관리할 수 있다. - 저장공간과 기능을 나누어 관리하게되면 코드가 길어졌을 때 사용하기 불편하다. 이때 연관되는 저장공간과 기능을 클래스로 묶어서 ..

자바 학원 필기 7

# 메소드 ​ 자료형 메소드명(매개변수){ 실행할 코드; return 리턴값; } 변수명.메소드명() ​ 함수와 메소드 클래스 밖에 선언되어 있다면 함수라고 부르지만 클래스 내부에 선언되어 있는 함수는 메소드라고 부른다. 자바에서는 모든 함수가 클래스 내부에서 선언되기 때문에 메소드만 존재한다. 개념 상 함수가 메소드보다 더 큰 범주이므로 메소드를 함수라고 불러도 되지만, 자바는 메소드만 존재하므로 메소드라고 부르는게 좋다. ​ 메소드 기능 이름 뒤에 소괄호. 단, 키워드 뒤에 소괄호는 메소드가 아니다. ​ ​ 메소드 선언과 구현 리턴타입 메소드명(자료형 매개변수명, .....)

자바 학원 필기 5

# 복습 switch ​ ​ ​ ​ # 반복문 ​ - 대입연산자 - 복합 대입 연산자 (누적 연산자) ​ - (+=,-=,/=,*=,%=,.............................) - int money = 1000; - money + 1000; // money += 1000; - syso(money); // 2000 - money -= 1000 - syso(money); // 1000 ​ ​ - 증감 연산자(++,--) - 전위 형(++i, --i) : 해당 라인부터 바로 적용 - 후위 형(i++, i--) : 다음 라인부터 적용(정확히는 증감연산자가 끝난 시점부터 적용) ​ ​ ​ ​ ​ - for 문- 몇 번 박본할지 알 때(음식이 나오면 진동벨 5번 울린다.) ​ - for(초기식; 조..

Java 국비지원 OT

2022. 9. 22 - 국비지원 Day1 ​ # 학습 순서 및 프로젝트 계획 ​ * 웹 개발 - 문법 정도로 학습 Java -> 내부요소 (로그인, 로그아웃 등) HTML/CSS/JavaScript (user interface) -> 화면구성 JSP(최근 사용X)/Spring(자바 웹 개발간 편리하고 강하게 사용) -> (Server) ----------------------------------------------------------------- 프로젝트 1차실시 ​ * AI Python - 자바로도 AI를 다룰 수 있지만 가장 대중적으로 쓰이는 언어가 Python이다. ----------------------------------------------------------------- 프로젝트 ..

Java/Java 2022.10.02

Java 인강 필기 1

1강 프로그램이란? -> 나열된 명령들의 집합 프로그래밍 언어란? -> 사람이 컴퓨터에게 명령을 내릴 때 사용하는 언어 프로그래밍 언어의 종류? -> c언어, c++, python, java 등 일반 프로그램 실행 과정 ; 1.코드작성(.java) -> //JVM : 자바의 중간코드를 실행할 수 있는 주체로, JAVA 프로그램과 OS 사이의 중재자 역할 JVM을 통해 OS에 종속되지 않고 사용하게 도와줌 JVM(2, 컴파일 ->3, 링크 ->4. 디버깅 -> 5,실행) 2강 한줄 주석처리 ctrl / 여러 줄 주석처리 ctrl shift / ctrl d 줄 삭제 ctrl F11 실행 System.out.print(“”); // 띄어쓰기 X System.out.println(“”); //띄어쓰기 Syste..

Java/Java 인강 2022.10.01