728x90
import java.io.FileNotFoundException;
import java.io.PrintWriter;
public class InstanceApp {
public static void main(String[] args) throws FileNotFoundException {
PrintWriter p1 = new PrintWriter("result1.txt"); //변수에 담겨있는 것은 PrintWriter 클래스의 인스턴스
p1.write("hello 1");
p1.close();
PrintWriter p2 = new PrintWriter("result2.txt"); //new를 통해서 인스턴스 생성. 긴 맥락의 작업일때 사용
p2.write("hello 2");
p2.close();
// PrintWriter.write("result1.txt", "Hello 1"); //write를 할 때마다 어떤 파일을 수정할건지 그때그때..
// PrintWriter.write("result2.txt", "Hello 2"); //일회성 작업용
}
}

PrintWriter 클래스는 위 사진에서 볼 수 있듯 Constructor 이라는 것이 존재한다.
Constructor이 존재한다면 이 클래스는 인스턴스로 활용 가능하다는 의미이다.
아직 잘 이해는 되지 않지만,
위 코드를 해석해 보면 new를 통하여 PrintWriter클래스를 통하여 얻은 result1.txt 파일을 복제하여 p1 변수에 저장하고,
이 변수에 들어갈 데이터 타입을 정해주기 위하여 PrintWriter 자료형을 앞에 붙여주었다.
PrintWriter.write("result1.txt", "Hello 1");
PrintWriter.write("result2.txt", "Hello 2");
위 코드는 인스턴스를 활용하지 않고 PrintWriter을 사용한 예시인데, 매번 쓸때마다 어떤 파일에 대해 수정할건지
알려줘야하는 번거로움이 있다. 물론 위처럼 Hello 1만 수정하는 일회성 작업일 경우는 인스턴스를 사용하지 않아도
무관하겠으나,
result1.txt 파일에 수많은 작업이 요구되는 경우에는 인스턴스를 생성하여 result1.txt파일에 접근하는게 효율적일 것이다.
728x90
'java study' 카테고리의 다른 글
[Java Study] 나만의 앱 만들기 (0) | 2022.07.18 |
---|---|
[Java Study] 상속에 대하여 (0) | 2022.07.18 |
[Java Study] 자바 문서 보는 법 (패키지, 클래스, 변수, 메소드) (0) | 2022.06.28 |
[Java Study] API와 UI의 개념 (0) | 2022.06.28 |
[Java Study] 입력과 출력 (0) | 2022.06.25 |