본문 바로가기

자바54

18일차 복습 GUI 기반 소프트웨어 만들기 GUI(Graphic User Interface) 우리가 흔히 보는 창을 띄워서 버튼을 눌러서 입력하고 x표시를 눌러 화면을 끄는 창(Interface)를 말한다. 요즘은 SAAS(서비스형 소프트웨어)라고 해서 대부분 웹 브라우져로 해결할수 있기 때문에 설치 소프트웨어 자체가 사장되어가는 분위기다. 특히 자바같이 연식이 있는 GUI라면 더더욱 그렇다. 크게 AWT와 SWING 두개의 방식이 존재한다. AWT는 저수준의 UI를 지원하며 Frame, Panel을 사용한다. 반대로 향상된 SWING는 고수준의 UI를 지원하며, JFrame, JPnel을 사용한다. 여기서 Frame란 윈도우창 뼈대, Panel이란 컨트롤 컨테이너, 즉 각종 조작 버튼, 입력창 등을 포함한 프레임 .. 2022. 12. 8.
16-17일 통신 통신 통신은 HTTP와 소켓(socket)통신으로 나눠진다. HTTP통신은 웹 브라우저와 같이 클라이언트(사용자)가 서버에 요청을 보낼때만 응답하는 통신이다. 예를 들어 우리가 특정 사이트에 로그인 할때, 우리는 "이 정보(ID/PW)가 맞는지 확인해주세요." 하는 식의 요청을 보내고 그에 맞춰 웹사이트에서는 "맞네요" 또는 "아닙니다" 와 같은 정보를 돌려주는 것이다. 반면 소켓 통신은 양방향 통신이다. 특정 포트(창구)를 통해 서버와 클라이언트가 실시간으로 정보를 주고받으며 소통할 수 있다. 채팅, 게임과 같이 응답 흐름이 양방향인 경우는 소켓통신이다. 연결지향적이며, 포트가 공개되어 있지 않아 제3자가 접근하기 힘들다. 달리 TCP/IP통신이라고 말하기도 한다. 포트, ip주소등, 서로 연결하기 위.. 2022. 12. 6.
16일차 복습 본래 어제 올려야 했으나, 막혔던 문제를 하루종일 붙잡고 있었던 관계로 하루 늦게 작성한다. IO (Input Output) 파일 읽고 쓰기 크게 3종류가 존재한다. 1. 바이트(byte)단위 2. 문자 단위 3. 대용량 - 속도 개선 1. 바이트 단위 파일쓰기 FileOutputStream 클래스: 주어진 file객체가 가르키는 파일을, 바이트 스트림으로 읽기 위한 클래스. 객체를 생성할때 FileOutputStream ( file ) 형식의 생성자 함수값을 넣어줘야 한다. 파일 경로를 넣어줄 수 도 있고, 파일이름을 넣을 수도 있다. public class ex121 { public static void main(String[] args) { String filePath = "./out1.txt"; .. 2022. 12. 6.
15일차 복습 콜렉션 클래스 리스트, 맵, 셋을 포함하는 상위 클래스. Hash란? 초보자인 만큼, 깊게 파지 않고 쉽게 설명하자. 간단하게 말해 Arrray List의 문제를 해결하기 위해서 나온 방식이다. 크게 map과 set이 존재한다. ArrayList는 검색이 빠를지 모르나 아이템의 추가/삭제가 힘들다. 그러나 map은 인덱스를 특정한 값과 연결시켜 저장하기에 (Key와 Value) 필요한 데이터만 호출하는데 편리하다. 또한 set는 중복을 허용하지 않고 순서가 없다는 특징, 즉 인덱스가 부여되지 않는다는 점 덕분에 내부에 어떤 값이 존재하는지 빠르게 확인할 수 있다. HashMap Key와 Value값으로 저장된다. 여기서 Key란, 인덱스 값에 또다른 값을 저장한 것이다. Map map = new Hash.. 2022. 12. 4.