본문 바로가기
Study/Java

왕초보를 위한!! 자바 기초 코드 해석 방법 3) 인스턴스 생성

by novxerim 2023. 6. 13.
FileInputStream stream = new FileInputStream(sectionName);

코드를 해석해보자

이 코드는 FileInputStream 클래스의 인스턴스를 생성하고, 이를 stream 변수에 할당하는 구문이다.

FileInputStream은 파일에서 데이터를 읽을 수 있는 스트림이다.

sectionName은 생성할 파일 입력 스트림의 대상 파일을 나타내는 문자열이다. 보통은 파일 경로나 파일명을 전달하여 해당 파일에 대한 입력 스트림을 생성한다. 예를 들어, "example.txt"와 같이 파일명을 전달할 수 있다.

따라서, 위의 코드는 sectionName에 해당하는 파일을 읽기 위한 FileInputStream 인스턴스를 생성하고, 이를 stream 변수에 할당하는 것이다.

이후에는 stream을 사용하여 파일에서 데이터를 읽을 수 있게 된다.

만약 해당 파일이 존재하지 않거나 열 수 없는 경우에는, FileNotFoundException이 발생할 수 있으므로 예외 처리가 필요할 수 있다.

 

그렇다면 인스턴스를 생성한다는 건 뭘까?

클래스는 객체를 만들기 위한 템플릿이고, 인스턴스는 실제로 메모리에 할당된 객체이다.

인스턴스를 생성한다는 것은, 클래스를 기반으로 메모리에 실제 객체를 만든다는 의미이다.

자바에서는 new 키워드를 사용하여 클래스의 인스턴스를 생성한다. new 키워드를 사용하면 해당 클래스의 생성자(constructor)를 호출하여 객체를 초기화하고, 메모리에 객체를 할당한다.

예를 들어, FileInputStream 클래스는 파일에서 데이터를 읽기 위한 기능을 제공한다.

new FileInputStream(sectionName)은 FileInputStream 클래스의 생성자를 호출하여 sectionName에 해당하는 파일을 읽기 위한 FileInputStream 객체를 생성한다.

인스턴스를 생성하면 해당 클래스의 메서드와 필드에 접근하여 작업할 수 있다. 생성된 인스턴스는 독립적인 상태를 가지며, 각 인스턴스는 클래스의 정의에 따라 행동하고 데이터를 저장한다.


왜 메모리에 실제 객체를 만들까?

메모리에 실제 객체를 만드는 이유는 프로그램에서 객체를 사용하여 데이터를 저장하고 조작하기 위해서이다.

객체는 특정한 데이터와 그 데이터를 조작하는 데 필요한 동작(메서드)을 포함하는 소프트웨어 구성 요소인데,

메모리에 객체를 생성하면 해당 객체는 프로그램 실행 중에 데이터를 저장하고, 객체의 메서드를 호출하여 원하는 동작을 수행할 수 있다.

이렇듯 객체는 데이터와 동작을 함께 캡슐화하여 코드의 가독성과 유지보수성을 향상시키는 데 도움이 된다.

객체를 사용하면 관련된 데이터와 동작을 그룹화할 수 있으며, 필요한 경우 객체 간의 상호작용을 통해 복잡한 기능을 구현할 수 있다.

객체 지향 프로그래밍에서는 클래스를 정의하고 해당 클래스로부터 객체를 생성하여 프로그램을 구성하는 것이 일반적이다.

또한, 객체를 생성하여 메모리에 저장하면 객체의 상태를 유지할 수 있다. 객체는 프로그램 실행 중에 데이터를 변경하고 저장할 수 있으며, 필요에 따라 다른 객체와 상호작용하며 데이터를 공유할 수 있다.

따라서 메모리에 실제 객체를 만들어 사용하는 것은 데이터와 동작을 캡슐화하고, 프로그램에서 필요한 기능을 수행하기 위한 중요한 개념이다.

 

댓글