JAVA 24

[Java #11] 15. 네트워크(Network)

네트워크(Network) 여러 대의 컴퓨터를 통신 회선으로 연결한 것(홈 네트워크 IOT, 지역 네트워크, 인터넷 등이 해당) 서버와 클라이언트 네트워크로 연결된 컴퓨터간의 관계를 역할로 구분한 개념 서버는 서비스를 제공하는 프로그램으로 클라이언트의 연결을 수락하고 요청 내용을 처리 후 응답을 보내는 역할 클라이언트는 서비스를 받는 프로그램으로 네트워크 데이터를 필요로 하는 모든 어플리케이션이 해당 됨 IP 주소 네트워크 상에서 컴퓨터를 식별하는 번호로 네트워크 어댑터(랜카드)마다 할당되어 있음 포트(Port) 같은 컴퓨터 내에서 프로그램을 식별하는 번호로 클라이언트는 서버 연결 요청 시 IP주소와 포트번호를 알아야 함 InetAddress 클래스 IP주소를 다루기 위해 자바에서 제공하는 클래스 소켓 프..

JAVA 2023.03.08

[JAVA #11] 14. 스레드(Thread)

프로세스(Process)란 간단한 의미로 실행중인 프로그램 프로세스는 프로그램이 실행될 때 마다 개별적으로 생성 하나의 프로세스는 프로그램을 수행함에 있어 필요한 데이터와 메모리 등의 할당 받은 자원, 그리고 하나 이상의 스레드로 구성된다. 스레드란 프로세스 내에서 할당된 자원을 이요해 실제 작업을 수행하는 작업 단위 모든 프로세스는 하나 이상의 스레드를 가지며 각각 독립적인 작업 단위를 가짐 메인 스레드 모든 자바 프로그램은 메인 스레드가 mian() 메소드를 실행하며 시작 main() 메소드의 첫 코드부터 아래로 순차적으로 실행되고 return을 만나면 종료 필요에 의해 작업 스레드들을 만들어서 병렬 코드를 실행 가능(멀티 스레드를 이용한 멅티 태스킹) 프로세스 종료 싱글 스레드의 경우 메인 스레드가..

JAVA 2023.03.07

[JAVA #9] 12. 입출력(IO)

입출력(IO) Input과 Output의 약자, 컴픁터 내부 또는 외부 장치와 프로그램 간의 데이터를 주고 받는 것 장치와 입출력을 위해서는 하드웨어 장치에 직접 접근이 필요한데 다양한 매체에 존재하는 데이터들을 사용하기 위해 입출력 데이터를 처리할 공통적인 방법으로 스트림 이용 스트림(Stream) 입출력 장치에서 데이터를 읽고 쓰기 위해서 자바에서 제공하는 클래스 모든 스트림은 단방향이며 각각의 장치마다 연결할 수 있는 스트림 존재 하나의 스트림으로 입출력을 동시에 수행할 수 없으므로 동시에 수행하려면 2개의 스트림 필요 분류 바이트 단위 처리 : ~InputStream /~OutputStream 문자 단위 처리 : ~Reader /~Writer 기반 스트림(File~) / 보조 스트림 InputSt..

JAVA 2023.03.07

[JAVA #9] 10. 기본 API

String 관련 클래스 String 클래스 문자열 값 수정 불가능, immutable(불변) (새롭게 공간이 할당됨) 수정 시 수정된 문자열이 새로 할당 되어 새 주소를 넘김 String Pool, Singleton StringBuffer 클래스 문자열 값 수정 가능, mutable(가변) 수정, 삭제 등이 기존 문자열에 수정되어 적용 기본 16문자 크기로 지정된 버퍼를 ㅣ용하면 크기 증가 가능 쓰레드 safe기능 제공(성능 저하 요인) StringBuilder 클래스 StringBuffer와 동일하나 쓰레드 safe기능을 제공하지 않음 메소드 체이닝 StringTokenizer 클래스 String클래스에서 제공하는 split()메소드와 같은 기능을 하는 클래스로 생성 시 전달받은 문자열을 구분자로 나..

JAVA 2023.03.03