facts: 가. 원고는 2016. 9. 21. 피고로부터 터빈엔진용 윤활유(규격 MIL-PRF-6081) 8,116쿼트(QT)(이하 '이 사건 윤활유'라 한다)를 1쿼트(QT)당 미화 3.74 달러로 계산하여 총 미화 30,353.84 달러에 매수하기로 하는 계약(이하 '이 사건 계약'이라 한다)을 체결하였다.
  나. 원고는 2016. 12. 21. 피고로부터 제조자 'B회사', 제조일자가 '2016. 9. 30.'로 된 이 사건 윤활유 8,116쿼트(QT)를 모두 인도받고 피고에게 대금을 지급하였다. 피고가 인도한 이 사건 윤활유의 포장용기 캔 표지에는 '생산일로부터 36개월이 지나면 성분 테스트를 하고 사용 여부를 판단해야 한다'("Test date is 36 months from DOM")라는 문구가 표시되어 있다.
  다. 원고 소속 공군 군수사령부 제81항공정비창에서는 2019. 3. 14. J79엔진 정비 후 엔진에 이 사건 윤활유를 주입하는 작업을 준비하던 중 이 사건 윤활유 덮개와 상단 부분에서 이물질을 발견하였고, 이후 추가로 이 사건 윤활유 중 18쿼트(QT)를 개봉하여 샘플링 검사를 한 결과 같은 부위에서 동일한 이물질이 발견되었다. 이후 원고가 공군 군수사령부 항공기술연구소에 의뢰하여 이 사건 윤활유에서 발견된 이물질의 성분을 분석하였는데, 철산화물(Fe2O3)인 녹(Rust)으로 확인되었다. 이물질이 발견되기 전까지 원고가 사용한 이 사건 윤활유의 양은 702쿼트(QT)였다.
  라. 이 사건 계약을 체결할 때 원고와 피고는 '2016년 국외조달(수리부속) 계약 일반조건'(이하 '일반조건'이라 한다)과 '2016년 특수윤활유 계약특수조건'(이하 '특수조건'이라 한다)을 계약내용에 편입시키기로 합의하였다. 그중 이 사건과 관련된 주요 내용은 다음과 같다.
  
  
  
  특수조건의 내용은 다음과 같다.
  
  
  마. 원고는 2019. 3. 20. 피고에게 이 사건 윤활유에 하자가 있음을 통보하고 교환·환불 등의 조치를 요구하였다. 피고는 2019. 3. 25. 원고에게 이 사건 윤활유의 제조사(B회사)가 이 사건 윤활유의 이물질(녹) 발생 원인은 '캔 안에 들어 있는 오일은 캔의 위쪽 끝까지 차지는 않고, 제품이 포장된 환경에서 수분을 흡수할 수도 있는데 습기항목은 적합성 시험의 필수조건이 아니어서 제품생산이나 포장 중에 검사하지 않는다. 제품은 외부 환경에서 자연적으로 열을 받아 수증기를 방출할 수 있는데, 캔 안의 공간에 미량 포함되어 있던 습기가 캔의 위쪽 표면과 반응해서 캔의 부식이 일어난다. 이 현상은 창고에게 (30개월간 움직이지 않은 캔 내부의) 오일과 닿지 않은 캔의 위쪽의 부식으로 증명된다'고 한 문서를 제출하면서 이에 대한 교환이나 환불을 거절하였다.
  바. 원고는 이물질을 발견한 다음 2019. 5. 17.경 이를 대체하기 위하여 C로부터 윤활유 총 960쿼트(QT)를 1쿼트(QT)당 14,000원으로 계산하여 총 14,784,000원(부가가치세 10%를 더한 금액이다)에 매수하였다.