강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

sohi lee님의 프로필 이미지
sohi lee

작성한 질문수

OOP named construct 질문

작성

·

22

0

2강 OOP 약 18분~19분 내용

클래스에 const에 붙이는건 이해했는데,

네임드 컨스트럭트를 const로 만들려면 어떻게 해야하나요?

빌드타임과 관련이 있는건가요?

image.png

 

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.
sohi lee님께서 질문해 주신 네임드 컨스트럭트를 const로 만드는 것에 대한 답변을 드리겠습니다.

네임드 컨스트럭션을 const로 사용하려면, const로 선언할 수 있는 모든 조건을 만족해야 합니다. 즉, const를 사용하는 경우 모든 객체들이 컴파일 타임에 완전히 결정되어야 합니다. 정적 상수만 포함하거나 평가할 수 있는 식(?)이 필요합니다.

빌드타임과 관련이 있는데, const 선언은 컴파일 타임에 상수 값을 평가하기 때문에 런타임에 그 값을 변경할 수 없습니다. const로 선언하려면 다음과 같은 조치를 고려할 수 있습니다:

  1. 초기화 리스트로 값을 정적 상수 또는 리터럴로 직접 대입하여 컨스트럭터 내에서 동적 계산을 피해야 합니다.
  2. const context에서 지원되지 않는 작업을 피해야 합니다. 예를 들어, 인덱스를 사용하여 리스트에 접근하는 작업은 런타임 시에만 가능하며 const로 사용할 수 없습니다.

이러한 점을 유의하며 코드를 작성하시면 const 네임드 컨스트럭션을 사용할 수 있을 것입니다.

질문해 주셔서 감사합니다. 더 궁금한 점이 있다면 언제든 다시 문의해 주세요!
이미지 출처: Inflearn

sohi lee님의 프로필 이미지
sohi lee

작성한 질문수

질문하기