본문 바로가기

Dev/Java13

10.Network 교육을 받으면서 JAVA 파트 마지막에서 했던 것이 네트워크와 관련한 내용을 배운 것이었다. 이 때 했던 실습은 서버와 클라이언트 코드를 작성해서 컴퓨터 간 채팅을 해보는 기능을 사용했었는데 오늘은 그런 기능을 한번 다시 정리해보려고 한다. 0. Network 네트워크를 간단하게 알아보면 여러 대의 컴퓨터들이 연결되어있는 통신망 같은 것이라고 생각하면 편하다. 그러므로, 이 네트워크를 통해서 컴퓨터를 사용하는 사용자 서로 간의 데이터를 교환할 수 있는 것이다. 여기서 또 하나의 개념을 알아둬야 할 게 있는데 바로 "IP주소"이다. IP주소는 방금 설명한 네트워크 상에서 컴퓨터들을 식별해주는 번호라고 할 수 있다. 1. InetAdderess 자바에서 이런 네트워크와 관련한 메소드들을 제공해주는 클래스가 .. 2023. 8. 10.
09-2.Collection(HashSet, HashMap) 저번 게시글에서는 ArrayList와 배열에 대한 차이점과 ArrayList에서 사용할 수 있는 메소드를 알아봤는데 이번에는 HashSet과 HashMap을 알아보려고 한다. 1. HashSet HashSet은 ArrayList와 마찬가지로 동일하게 함수를 사용할 수 있다. 그러나 차이점이 있다. 코드로 바로 알아보자 사진으로 볼 수 있듯이 ArrayList는 리터럴 그 자체로 추가를 하던, String 객체로 추가를 하던 ArrayList에 저장이 되는 것을 확인 할 수 있다. 그러나 HashSet의 경우를 살펴본다면 이렇게 5개의 데이터를 넣었지만, 중복된 데이터는 저장이 되지 않는 것을 확인 할 수 있다. 즉, HashSet은 HashSet이라는 공간에 추가가 될 때마다 동일 객체인지 비교 후 동일.. 2023. 8. 7.
09-1.Collection(ArrayList) 교육을 받으면서 프로젝트 때 가장 많이 사용한 기능이기도 하고 사실 사용하다 보면 기본적인 개념을 까먹게 되는 개념인 것 같다. 그래서 컬렉션 중 ArrayList를 먼저 정리하고 HashSet, Map에 대한 개념을 정리하려고 한다. 1. 배열과 ArrayList의 차이 특징 배열 ArrayList 크기 지정 크기 지정 필요 필요 없음(기본 크기 10) 중간에 새로운 데이터 추가 가능은 하나 매번 땡겨주는 복잡한 알고리즘 기술 필요 필요 없음 데이터 종류 한 타입의 데이터만 저장 가능 여러 타입의 데이터 저장 가능 사용 시기 데이터를 단지 보관 및 조회 시 사용 보관 및 조회 + 추가 / 삭제 과정이 빈번한 경우 2. ArrayList 사용 - 선언 ArrayList를 선언하는 방법은 두가지가 있다. .. 2023. 8. 2.
08.IO(2) - 문자 기반 스트림, 버퍼(보조스트림) 지난 게시글에는 바이트 기반 스트림으로 1byte 단위의 데이터를 입출력 받는 것을 정리했다. 이번에는 문자기반 스트림으로 입출력을 받는 것에 대해 알아보려고 한다. 문자기반 스트림은 바이트 기반 스트림과 사용하는 방법에 있어서 차이가 없다. 다만, 바이트 기반 스트림은 한글을 입력했을 경우 깨지거나 정상적으로 입출력이 되지 않았지만, 문자 기반 스트림을 사용하면 한글도 문제 없이 출력을 할 수 있게 된다. 1. 문자 기반 스트림을 활용한 데이터 입출력 문자 기반 스트림을 사용해서 입출력을 받는 것도 위에서 언급한 바와 같이 순서는 동일하다. 그림과 같이 같은 방식으로 코드를 작성 후 생성 된 파일을 확인하면 한글도 문제 없이 출력 되는 것을 확인 할 수 있다. 입력을 받는 방법도 동일하다 그런데 이렇게.. 2023. 7. 31.
07.IO(1) - file, 바이트기반스트림 자바 수업을 들으면서 여태까지는 다양한 클래스에서 제공하는 메소드들을 많이 배웠는데 이 부분에서부터 컴퓨터에 관련한 내용들을 많이 배웠던것 같다. 첫번째로는 오늘 정리해볼 입출력(IO) - 파일을 만들고 스트림 등 다양한 기능들을 이용해서 첨부파일 등에 필요한 기능 두번째는 - 네트워크 - 소켓 등 다양한 기능을 통해서 옆사람과 간단한 채팅을 할 수 있는 기능을 배웠던 것으로 기억한다. 무튼 오늘은 파일과 스트림을 만들고 여기에 기록을 하는 방법에 대해서 알아보려고 한다 1. 스트림(stream)? 스트림은 우리가 설계한 프로그램에서 데이터를 외부로 출력하거나 입력을 받게 하는 통로 역할을 한다. 스트림은 다음과 같은 특징이 있는데 - 한 방향으로 흐름이 있다. 즉, 입력을 원하면 입력스트림, 출력을 원.. 2023. 7. 30.
06.StringTokenizer Math클래스나 String에 관련된 함수들을 여태까지 알아봤었는데 마지막으로 StringTokenizer에 대해서 알아보려고 한다. 오늘은 split()과 StringTokenizer에 대해서 알아보자 0. 사용이유 간단하게 설명해서 문자열을 분리하기 위함이다. 길게 나열된 문자열을 어떤 기준이 되는 구분자에 의해 나누고 싶을 때 위에서 언급한 split함수나 StringTokenizer를 사용하게 된다. 1. split(구분자) split()함수는 구분자로 선언된 문자열을 구분자를 기준으로 나눠서 String[]배열에 담아주는 역할을 한다. 내가 쓰고도 무슨말인지 모르겠지만 간단하게 코드로 알아보도록 하자. 그림과 같이 Java,Oracle,JDBC,JavaScript,JQuery,Mybatis,Aj.. 2023. 7. 27.