자바 확장

최지홍·2022년 1월 27일
0

매일 공부

목록 보기
11/40

I/O

  • 데이터의 입력, 출력
  • 끝단: 노드
  • 노드 간 연결, 데이터 전송: 스트림
  • 스트림은 단방향

기본 스트림

  • 바이트: XXXInputStream, XXXOutputStream
  • 문자: XXXReader, XXXWriter
  • 버퍼 사용시 flush() 호출하여 버퍼 내용을 비움

File

  • 가장 기본적인 입출력 장치 중 하나로 파일과 디렉터리를 다루는 클래스

보조 스트림

  • Filter Stream, Processing Stream
  • 다른 스트림에 부가적인 기능을 제공
  • 스트림 체이닝: 필요에 따라 여러 보조 스트림을 연결하여 사용 가능

System.in: 바이트 스트림

객체 직렬화

  • 객체를 저장하거나 네트워크로 전송하기 위해 연속적 데이터로 변환
  • Serializable 인터페이스 구현 필요
  • 클래스의 모든 멤버가 Serializable 인터페이스를 구현해야 함
  • transient: 직렬화 제외
  • SerialVersionUID: 클래스의 버전을 나타냄. 저장된 파일과 현재 클래스 버전이 다를 경우 같은 클래스로 취급하지 않음(컴파일 시 변경) 👉 명시적으로 고정된 버전 사용으로 해결

Scanner

  • 자동 형변환 지원 등 간편하지만 느림

BufferedReader

  • 직접 스트림을 구성하는 등 번거롭지만 빠름

Parsing

  • parsing은 변환이라는 뜻, 태그 구별, 내용 추출
  • Parser: DOM, SAX

데이터 형태

  • csv, xml, json

XML

  • 마크업 언어: 태그 등을 이용하여 문서나 데이터의 구조를 명기하는 언어
  • XML: Extensible Markup Language
  • HTML과 달리 필요에 따라 태그 확장이 가능
  • DTD, Scheme: XML 규약, 규칙 정리, 형식을 규정
  • Valid: 규칙을 준수하고 있음을 뜻함

XML Parsing

  • Parsing: 문서에서 필요한 정보를 얻기 위해 태그를 구별하고 내용을 추출하는 과정
  • SAX parser: 이벤트 기반 처리. 빠르지만, 한번에 처리하여 다양한 탐색이 어려움
  • DOM parser: 문서 구조 전체를 자료구조에 저장하여 탐색(트리 구조). 다양한 탐색이 가능하지만, 느리고 무거움

SAX Parser

  • Factory에서 Parser 생성 👉 이벤트 발생 👉 DefaultHandler를 상속받은 커스텀 Handler 호출

DOM Parser

  • 문서를 완전히 메모리에 로딩 후 필요한 내용을 찾음
  • 문서를 구성하는 모든 요소를 노드(태그, 속성, 값)로 구성
  • Element는 태그만을 뜻함

Swing

  • GUI 제공
  • Container: 다른 컴포넌트들을 배치하기 위한 컴포넌트. 다른 Container를 포함할 수 있고, 복합적인 Layout 구성 가능
  • JFrame: 독립적으로 사용될 수 있으며 타이틀과 사이즈 조절 가능
  • JPanel: 반드시 다른 Container에 포함되어야 함
  • Layout: 배치 방법
  • LayoutManager: Container 별 Component의 위치와 크기, 배치 방식을 결정

XXXListener

  • 이벤트 처리에 대한 메서드를 정의한 인터페이스
  • 하나의 컴포넌트에 여러 핸들러 붙일 수 있음

XXXEventAdapter

  • 이벤트 핸들러를 구현하나 필요한 메서드만 재정의할 때 이용
profile
백엔드 개발자가 되자!

0개의 댓글