해결된 질문
작성
·
542
0
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)
[질문 내용]
강의를 계속 돌려봤는데도 초기화에 대한 명확한 정의가 나와있지않아서 질문드립니다.
강의에서 말씀하시는 초기화의 정의가 무엇인가요?
강의 14분에보면 초기화는 객체를 생성하는 작업이 아니고, 객체안에 필요한 값이 다 연결되어있고 처음 제대로 일을 시작하는것이다. 라고 말씀하시고,
강의 자료에보면 초기화는 생생된 값들을 활용해서 외부커넥션을 연결하는등 무거운 동작을 수행한다. 라고 되어있는데요.
이게 무슨말인지 모르겠습니다...
초기화란,
빈이 생성되고, 빈의 의존관계주입도 완료되어서 객체를 사용할준비를 마친것 또는 빈이 생성되고, 빈의 의존관계주입이 완료된 실제 객체가 동작하는것. 이라고 이해하면될까요?
초기화의 정의가 무엇인지 질문드립니다....
답변 1
2
안녕하세요. gomdole03님, 공식 서포터즈 David입니다.
강의 14분에보면 초기화는 객체를 생성하는 작업이 아니고, 객체안에 필요한 값이 다 연결되어있고 처음 제대로 일을 시작하는것이다. 라고 말씀하시고,
강의 자료에보면 초기화는 생생된 값들을 활용해서 외부커넥션을 연결하는등 무거운 동작을 수행한다. 라고 되어있는데요.
객체가 생성되어 사용되기 전에 진행되어야 할 일련의 과정들이 있을 수 있습니다.
예를 들어, 특정 네트워크와 통신해야 하는 책임을 갖는 NetworkClient 객체가 있습니다. 해당 객체가 사용되기 전에 특정 네트워크와의 연결이 수립되어야 한다면, '특정 네트워크와의 연결'이 초기화 과정에서 진행되어야 하는 것입니다.
이런 맥락에서 초기화의 정의를 '초기화는 객체를 생성하는 작업이 아니고, 객체안에 필요한 값이 다 연결되어있고 처음 제대로 일을 시작하는것이다.'로 볼 수 있습니다.
그렇다면 왜 객체를 생성할 때 초기화를 진행하지 않느냐고 물으실 수 있을 것 같습니다.
생성과 초기화를 서로 다른 관심사로 보고 각 과정을 분리했다고 이해하시면 좋을 것 같습니다.
감사합니다.
답변 감사드립니다. 그런데 아직 네트워크와 통신을 하는것을 구현해보지못해서 그런지 말씀하신게 재대로 이해가 되지않습니다.. 특정 네트워크와 연결하는것도 객체를 사용해서 연결하는거 아닌가요..?
말씀하신것을 참고하면
초기화란, 빈이 생성되고, 빈의 의존관계주입도 완료되어서 객체를 사용할준비를 마친것 또는 빈이 생성되고, 빈의 의존관계주입이 완료된 실제 객체가 동작하는것. 이라고 이해하면될까요?
아니면 빈이 생성되고 의존관계주입이 완료된 상태를 초기화라고 하는건가요??