진짜 개발자
본문 바로가기

Language/Java

Java - InputStream 의 read()메소드는 왜 int형을 반환 하는가

728x90


InputStream 의 read()는 입력스트림의 1바이트를 읽기위한 메소드이다

그런데 메소드의 시그니처를 살펴보면 반환형이 int형 인것을 볼 수 있다.


이유는 입력스트림을 읽다가 끝이란 것을 나타내기 위해 -1을 return 해야하지만

byte의 경우 8bit(0 ~ 255) 이기 때문에 -1 이란 값을 리턴할 수가 없다.


따라서 -1 (int형)을 리턴함으로써 입력스트림의 끝을 나타낸다.

'Language > Java' 카테고리의 다른 글

Java - 쓰레드 동기화 (Synchronized)  (0) 2018.08.26
Java - 멀티쓰레드 (Multi Thread)  (0) 2018.08.26
Java - String 과 StringBuffer 클래스  (0) 2018.08.25
Java - equals 과 == 차이  (0) 2018.08.25
Java - Wrapper / 오토박싱  (0) 2018.08.25