953061688145744
Park Hansu
  • 2016.6.18 15:28
  • 조회수 94
  • 답변수 1
953061688145744
Park Hansu
  • 2016.6.18 15:28
  • 조회수 94
  • 답변수 1

FileInputStream과 FileOutputStream은 static 클래스인가요?

FileInputStream fis = null; 
FileOutputStream fos = null;        

예제를 보면 이런 식으로 적혀 있는데, static 클래스인 건가요?
아니면 null을 이용하면, new없이 클래스를 인스턴트화할 수 있는 건가요?

그리고 다음 줄에

fis = new FileInputStream("src/javaIO/exam/ByteExam1.java");
fos = new FileOutputStream("byte.txt");

이런 식으로 인스턴트를 생성하여 입력하고 있는데

FileinputStream fis =  new FileInputStream("src/javaIO/exam/ByteExam1.java");
FileOutputStream fos = new FileOutputStream("byte.txt");

처음부터 이렇게 하지 않는 이유가 있나요?

  • #자바 중급
  • #Byte 단위 입출력

1 답변

  • Spgjnhnsidwygch8ddkd
    Chandler
    • 2016.6.20 18:37

    FileInputStream fis = null; 
    FileOutputStream fos = null; 
    

    static으로 선언하지 않았기 때문에 static 클래스 아닙니다.
    null을 이용하여 객체가 의미 없는 값을 가리키게 한 것으로, 실제 인스턴스가 생성된 것은 아닙니다.

    변수 선언과 값을 할당을 따로 해준 이유는 try-catch 때문입니다.
    만약 try 내부에 선언과 동시에 초기화가 되어 있다면 try-catch 외부에서 fis와 fos 변수를 사용할 수 없기 때문에, 외부에서 따로 선언을 해주어 더 효율적으로 사용할 수 있게 만든 것 입니다.

    • 덕분에 문법과 그 의미를 이해했습니다. 답변 감사합니다^^-Park Hansu
      2016.6.24 21:18

답변 쓰기

이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.