<img> 로 가져오는 방법방식
- public/icons/email.png 파일을 만들고,
사용할 파일에서 <img src="/icons/email.png" alt="이메일" />처럼 사용한다.
단점
- 스타일 변경이 불가능하다.
- <img>태그로는 text-indigo-400 같은 Tailwind CSS의 색상 클래스를 적용할 수 없다.
- 만약 indigo 색상 아이콘이 필요하면, 포토샵이나 피그마에서 email-indigo.png 파일을 따로 만들어서 저장해야 하며 hover 시 색상 변경은 더 어렵다.
<EnvelopeIcon>로 가져오는 방법 (이 방식 사용)방식
- EnvelopeIcon.tsx 파일을 만들고,
사용할 파일에서 <EnvelopeIcon className="..." /> 처럼 사용한다.
장점
- 스타일 변경이 아주 자유롭다.
- EnvelopeIcon 컴포넌트는 className을 받아서 자신의 <svg> 태그에 그대로 적용한다.
- 사용할 파일에서 <EnvelopeIcon className="text-indigo-400 w-8 h-8" /> 처럼 Tailwind CSS로 색상과 크기를 마음대로 바꿀 수 있다.

Envelope, Blog: Tailwind CSS를 만든 팀이 제공하는 Heroicons의 SVG 경로를 사용.
Github: 브랜드 로고에 가장 표준화되어 있다고 알려진 Simple Icons의 SVG 경로를 사용.
type IconProps = { className?: string; }:const EnvelopeIcon = ({ className }: IconProps) => (...);: IconProps는 이 props가 위에서 정의한 IconProps 타입을 따른다고 TypeScript에 알려주는 것이다.<svg className={className} ...>:className={className}: 사용할 파일에서 <EnvelopeIcon className="w-8 h-8 text-indigo-400" /> 처럼 전달하는 Tailwind CSS 클래스를, 이 <svg> 태그의 className 속성에 그대로 적용한다.<path ... />:<svg>태그 안에서, d="..." 부분의 복잡한 좌표값을 바탕으로 실제 모양을 그리는 경로 데이터이다.export default EnvelopeIcon;:import EnvelopeIcon from ... 와 같이 이 컴포넌트를 가져다 쓸 수 있도록 '내보내기'를 한다.
