일반적으로 "defaultValue"는 명시적인 값이 주어지지 않았을 때 자동으로 사용되는 초기(기본) 값을 뜻합니다. 프로그램이나 데이터 모델이 예측 가능하게 동작하도록 하기 위해 미리 정해두는 값입니다. 주요 용도와 예시 - 함수 매개변수 기본값 - 설명: 호출자가 인자를 넘기지 않으면 정의해둔 값이 사용됩니다. - 예: JavaScript: function f(a = 1) { ... } → a가 주어지지 않으면 1 - 주의: Python에서는 기본값이 함수 정의 시 한 번 평가되므로 mutable 객체([] 등)를 기본값으로 사용하면 상태가 공유되어 문제가 생길 수 있습니다. 이 경우 None을 기본으로 하고 내부에서 새 객체를 만드는 패턴을 사용합니다. - 폼 요소(브라우저 DOM)의 defaultValue - 설명: 입력 요소의 초기 값(초기 상태)을 나타냅니다. 사용자가 입력한 현재 값은 value 속성으로 접근합니다. - 예: 요소의 defaultValue는 HTML 로드 시 설정된 초기 문자열이며, 이후 사용자가 바꿔도 defaultValue는 변하지 않고 value만 변합니다. - 프레임워크(예: React)의 defaultValue - 설명: 주로 "uncontrolled" 컴포넌트의 초기값을 지정할 때 쓰입니다. 컴포넌트를 제어(controlled)하는 경우에는 value를 사용해야 합니다. - 예: 는 초기값을 "abc"로 세팅하되 이후 DOM이 자체적으로 값 관리를 하게 합니다. 반면 는 외부 상태로 값을 완전히 제어합니다. - 데이터베이스 컬럼의 DEFAULT - 설명: INSERT 시 해당 컬럼 값이 누락되면 자동으로 넣어주는 값입니다. - 예: CREATE TABLE t (cnt INT DEFAULT 0); INSERT할 때 cnt를 지정하지 않으면 0이 들어갑니다. - API/라이브러리에서의 defaultValue 매개변수 - 설명: Map.getOrDefault(key, defaultValue)처럼 조회 시 값이 없을 때 반환할 대체값을 의미합니다. 주의사항 요약 - 기본값은 편리하지만, 언제 적용되는지(초기 한 번만인지, 매 호출마다 새로 생성되는지 등)를 정확히 이해해야 합니다. - mutable 객체를 기본값으로 사용하면 의도치 않은 상태 공유가 발생할 수 있음. - 프레임워크별로 defaultValue와 value(또는 controlled/uncontrolled)의 동작이 다르므로 문서를 확인해야 함. 요약 defaultValue는 "값이 주어지지 않았을 때 자동으로 사용되는 기본값"으로, 초기 설정, 결측 처리, 편의 제공 등을 위해 여러 곳에서 사용됩니다. 적용 시점과 동작 방식을 정확히 이해하는 것이 중요합니다.