진짜 개발자
본문 바로가기

Language/Java

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

728x90


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

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


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

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


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

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