반응형
인스턴스 변수와 참조 변수는 초기화 해줘야 한다.
Engine e = new Engine();
엔진을 만들어서 참조변수 e에 저장해줘야 한다.
인스턴스 초기화, 클래스 초기화, 생성자 생성 등 초기화는 왜 하는걸까???
초기화 시켜야 원하는 객체를 만들기 때문일까??
<chat gpt의 답>
자바에서 멤버변수, 즉 클래스 내부에 선언된 변수 중에서 인스턴스 변수는 객체가 생성될 때 자동으로 초기화됩니다. 하지만 개발자가 원하는 초기값으로 초기화하고자 할 때는 명시적으로 초기화를 해주어야 합니다. 이를 위해서는 변수의 선언과 동시에 초기값을 할당하거나, 생성자에서 초기화하는 방법 등이 있습니다.
멤버변수를 초기화하는 이유는 다음과 같습니다.
- 안정성을 높이기 위해 객체가 생성될 때, 인스턴스 변수가 자동으로 초기화되는 것은 그 객체가 사용될 때 제대로 된 값을 가지고 있을 것을 보장하기 위한 것입니다. 하지만 자동으로 초기화되는 값은 일반적으로 0이나 null과 같은 기본값이므로, 명시적으로 초기화하여 안정성을 높일 수 있습니다.
- 코드 가독성을 높이기 위해 객체를 사용하는 코드에서 해당 객체의 필드에 접근할 때, 필드의 값이 초기화되어 있지 않으면 예기치 않은 결과를 초래할 수 있습니다. 그러므로 초기화 코드를 명시해두면 코드 가독성이 좋아지고, 유지보수가 쉬워집니다.
- 객체간 상호작용을 위해 객체는 상호작용을 통해 프로그램을 수행합니다. 만약 필드 값이 초기화되지 않았다면, 다른 객체와의 상호작용에 문제가 발생할 수 있습니다. 초기화된 필드 값은 객체 간의 상호작용에서 중요한 역할을 합니다.
따라서 멤버변수를 초기화하는 것은 자바 객체지향 프로그래밍에서 매우 중요한 부분이며, 안정성과 가독성, 상호작용을 위해 반드시 필요한 작업입니다.
반응형
'Java' 카테고리의 다른 글
java에서 타입 간의 변환방법 (0) | 2023.03.17 |
---|---|
중첩 if문 (0) | 2023.03.16 |
다형성(polymorphism) 개념 (0) | 2023.03.06 |
열등감을 느꼈다 (0) | 2023.03.03 |
Scanner next()와 nextLine() 메서드의 차이점. (0) | 2023.02.24 |