study/JAVA 🦊

JAVA - 10

서나쓰 2021. 1. 7. 15:28
728x90
✅ 공부를 할 때 코드를 전부 외우려고 하지 말고, 예제에서 적힌 주석, 클래스 선언 라인, 파라미터 등을 외워라

컬렉션 프레임 워크

컬렉션이란?

  • 다수의 데이터를 쉽게 처리할 수 있는 표준화된 방법을 제공하는 클래스

  • List와 Map은 인터페이스로 추상메서드이다
    • List → ArrayList 상속 (인덱스 값, 순서 O, 중복 O)
    • Map → HashMap 상속 (키 값, 순서 X, 중복 X)
  • 두 클래스가 컬렉션에서 가장 대표적인 클래스이다

HashMap 클래스

  • HashMap은 Map의 인터페이스를 상속받는 클래스
Map<String, 저장할 데이터 클래스 이름> data = new HashMap<String, 저장할 데이터의 클래스이름>();
  • 선언과 할당 시에 데이터형(String)과 저장할 데이터형을 클래스의 이름으로 명시하는 것을 제너릭스 라고 한다.
    • <값의 이름, 값의 종류>
  • 기본 자료형을 보관할 경우 Wrapper 클래스 이름 사용한다.
  • 기존 저장된 데이터와 중복되는 이름이 저장될 경우, 기존 데이터를 덮어씌우게 된다.
✅ 암묵적 형변환을 하면서 선언하는 이유? → 객체의 다향성을 보존하면서 효율적으로 한꺼번에 관리하려고
  • 데이터를 넣을 때는 put , 데이터를 꺼낼 때는 get(키값)
    • 객체를 넣는 것이므로 Null 값도 넣을 수 있다

ArrayList 클래스

  • ArrayList는 List 인터페이스를 상속받는 클래스
List<저장할 데이터 클래스 이름> list = new ArrayList<저장할 데이터 클래스 이름>();
  • 데이터를 이름표 없이 무제한으로 저장 가능하다.
  • 알아서 인덱스 값을 부여받는다.
  • 순서가 있으니, 데이터 넣을 때는 add 로 추가한다.
  • List를 사용하는 가장 일반적인 방법은, 사용자 정의 클래스에 대한 객체를 포함하도록 지정하는 것

네트워크와 통신

URI, URL

URI (Uniform Resource Identifiers)의 약자

리소스를 식별하기 위한 문자열 전반을 나타낸다

URL 은 리소스의 장소(네트워크 상의 위치)를 나타낸다

URI 밑에 URL이 포함되는 구조이다.

보통 클라이언트가 서버에 요청할 때는 URL을 사용한다

프로토콜이란?

  • 외규협정문서라고도 하며, 통신을 할 때 있어서 어떠한 방식으로 통신을 하느냐에 따라 정해놓은 것이다.

통신이란?

  • 서로 다른 프로그램 간에 데이터를 주고 받는 것이다
  • 서버-클라이언트 간의 통신을 가장 많이 한다
https://comic.naver.com/webtoon/weekdayList.nhn?week=tue&order=StarScore&view=image
→ URL에서 ? 이후는 getParameter이며 전달자이다 → 이 URL에서 전달 요소는 총 3개이다

클라이언트가 서버에 요청할 때 사용하는 기능은

  • get/post, cookie/session 이렇게 총 4가지이다 → 웹 상태유지 기법이다

운영체제의 기능

  • 프로세스 관리
  • 파일 시스템 관리
  • 명령어 해석
  • 하드웨어 제어

하드링크란?

디렉토리 - 파일 - 이름, i-node, datablock 구조로 구성되어 있는데,

이름과 i-node를 연결하는 것을 하드링크라고 한다.

→ 이 개념은 윈도우에는 없고 리눅스에만 있다. 윈도우는 파일에 신뢰성이 부족하기 때문이다.

파일 입출력

File 클래스란?

  • 파일 또는 폴더에 대한 정보를 제공하는 클래스
  • 정보를 조회하고자 하는 파일이나 폴더의 경로에 대한 문자열을 파라미터로 전달 → 이때 경로가 실제로 존재하지 않더라고 객체 생성 가능
✅ 파일의 위치를 나태는 것 : 경로
      절대 경로 → 절대적인 위치를 의미하는 경로
            장점 : 어디서 말해도 똑같은 위치 / 단점 : 길다
      상대 경로 → 작업 디렉토리 기준으로 위치 표현
            장점 : 편하다, 간편하다 / 단점 : 그때그때 다르다

스트림이란?

  • 통로, 입출력 디바이스의 방식을 무시하고 1바이트씩 연속적으로 전달되는 추상화된 형태

OutputStream 과정

  1. OutputStream 객체 생성
  2. 저장할 내용 byte 배열로 변환
  3. 변환한 배열 write 메서드에게 파라미터로 전달
  4. OutputStream 닫기

InputStream 과정

  1. InputStream 객체 생성
  2. 읽을 내용을 담기 위한 빈 byte 배열 생성
  3. 파일 내용 read로 읽기
  4. InputStream 닫기
  5. 읽을 내용 문자열로 변환 (변환시 인코딩 필요)

파일 저장/출력 시 유의사항 : 각각 단계마다 예외처리를 강제적으로 요구한다. 예외처리시 변수의 유효성 범위에 대한 처리에 유의해야 한다.

 

이 내용은 itpaper 주영아 강사님의 교재를 발췌했습니다.
728x90

'study > JAVA 🦊' 카테고리의 다른 글

JAVA - 9  (0) 2021.01.07
JAVA - 8  (0) 2021.01.07
JAVA - 7  (0) 2021.01.07
JAVA - 6  (0) 2020.12.28
JAVA - 5  (0) 2020.12.28