<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>PARK_90</title>
    <link>https://trace90.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Sat, 15 Aug 2026 06:32:45 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>PARK_90</managingEditor>
    <item>
      <title>롯데월드 아쿠아리움 마린프렌즈권 연간회원권 할인 가격 이용시간 주차 정리</title>
      <link>https://trace90.tistory.com/entry/lotteworld-aquarium-annual-pass-discount-price-hours-parking</link>
      <description>&lt;div style=&quot;margin: 18px 0 36px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #fefce8 100%); box-shadow: 0 10px 28px rgba(245,158,11,0.08);&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;한눈에 보기&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 2.0; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;상품명&lt;/b&gt; : 롯데월드 아쿠아리움 마린프렌즈권(연간권)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;판매기간&lt;/b&gt; : &lt;span style=&quot;color: #334155; text-align: left;&quot;&gt;2026.04.30 &lt;/span&gt;~ 2026.05.17&lt;/li&gt;
&lt;li&gt;&lt;b&gt;구매 후 가입기간&lt;/b&gt; : 2026.05.01 ~ 2026.05.18&lt;/li&gt;
&lt;li&gt;&lt;b&gt;핵심&lt;/b&gt; : &lt;span style=&quot;color: #334155; text-align: left;&quot;&gt;&lt;span style=&quot;background-color: #ffc1c8;&quot;&gt;&lt;b&gt;마린 마스터 109,000원&lt;/b&gt;&lt;/span&gt; / &lt;/span&gt;마린 닥터 150,000원&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;margin: 24px 0 24px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;마린프렌즈권 (연간이용권)&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;696&quot; data-origin-height=&quot;562&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7qHgr/dJMcacbTnqH/RBqUW1d8zcLKtiGqH7evR0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7qHgr/dJMcacbTnqH/RBqUW1d8zcLKtiGqH7evR0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7qHgr/dJMcacbTnqH/RBqUW1d8zcLKtiGqH7evR0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7qHgr%2FdJMcacbTnqH%2FRBqUW1d8zcLKtiGqH7evR0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;500&quot; height=&quot;404&quot; data-origin-width=&quot;696&quot; data-origin-height=&quot;562&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 36px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.9; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; color: #1d4ed8;&quot;&gt;상품&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 20%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;가격&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 52%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;특징&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #334155; text-align: start;&quot;&gt;마린 마스터&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #334155; text-align: start;&quot;&gt;109,000원&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #334155; text-align: start;&quot;&gt;주중&amp;middot;주말&amp;middot;대인&amp;middot;소인 공통 / 정상가 130,000원 대비 16% 할인&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #334155; text-align: start;&quot;&gt;마린 닥터&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #334155; text-align: start;&quot;&gt;150,000원&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #334155; text-align: start;&quot;&gt;주중&amp;middot;주말&amp;middot;대인&amp;middot;소인 공통 / 체험권 포함&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 36px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 2.0; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;마린 마스터는 &lt;b&gt;1년 자유 이용권&lt;/b&gt;입니다.&lt;/li&gt;
&lt;li&gt;마린 닥터는 &lt;b&gt;해양동물병원 체험권 포함&lt;/b&gt; 상품입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;margin: 24px 0 24px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;판매 및 가입 기간&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 36px; padding: 18px 20px; border: 1px solid #bfdbfe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.06);&quot;&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 2.0; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;판매기간&lt;/b&gt; : &lt;span style=&quot;background-color: #ffffff; color: #334155; text-align: left;&quot;&gt;2026.04.30 &lt;/span&gt;~ 2026.05.17&lt;/li&gt;
&lt;li&gt;&lt;b&gt;구매 후 가입기간&lt;/b&gt; : 2026.05.01 ~ 2026.05.18&lt;/li&gt;
&lt;li&gt;&lt;b&gt;당일 사용 가능&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;미사용 100% 환불&lt;/b&gt; 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;margin: 24px 0 24px; padding: 16px 20px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;이용방법&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;922&quot; data-origin-height=&quot;1533&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bqJ8Bg/dJMcaiwnUDH/LNskDEo6Vw1UKY2AwTVhkK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bqJ8Bg/dJMcaiwnUDH/LNskDEo6Vw1UKY2AwTVhkK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bqJ8Bg/dJMcaiwnUDH/LNskDEo6Vw1UKY2AwTVhkK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbqJ8Bg%2FdJMcaiwnUDH%2FLNskDEo6Vw1UKY2AwTVhkK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;350&quot; height=&quot;582&quot; data-origin-width=&quot;922&quot; data-origin-height=&quot;1533&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 36px; padding: 18px 20px; border: 1px solid #bae6fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(14,165,233,0.05);&quot;&gt;
&lt;ol style=&quot;margin: 0; padding-left: 22px; color: #334155; line-height: 2.0; font-size: 15px;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;티켓교환번호(핀코드)를 받습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;https://aqaticket.lotteworld.com/myMembership&lt;/b&gt; 접속 후 핀번호 입력 및 연간가입신청서를 등록합니다.&lt;/li&gt;
&lt;li&gt;회원가입 후 사진 등록과 심사 접수를 진행합니다.&lt;/li&gt;
&lt;li&gt;아쿠아리움 연간이용센터를 방문해 승인 대기 화면을 제시합니다.&lt;/li&gt;
&lt;li&gt;담당자 승인 후 모바일 연간이용권을 게이트에 제시하고 입장합니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 36px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(245,158,11,0.06);&quot;&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 2.0; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;모바일 신청만으로 끝나는 것이 아니라 &lt;b&gt;연간이용센터 현장 방문 승인&lt;/b&gt;이 필요합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;본인 확인 불가&lt;/b&gt; 또는 &lt;b&gt;타인 사진 등록&lt;/b&gt; 시 이용이 불가합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;엘포인트 로그인 후 모바일 카드 제시&lt;/b&gt;가 필수입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 36px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(245,158,11,0.06); text-align: center;&quot;&gt;&lt;a style=&quot;display: block; color: #1d4ed8; text-decoration: none; font-size: 18px; line-height: 1.8; font-weight: 800; text-align: center;&quot; href=&quot;https://leisure-web.yanolja.com/leisure/10330702&quot;&gt;롯데월드 아쿠아리움 연간회원권 구매하기&lt;/a&gt;&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;margin: 24px 0 24px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;찾아오시는 길&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 36px; padding: 18px 20px; border: 1px solid #bfdbfe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.06);&quot;&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 2.0; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;롯데월드 아쿠아리움&lt;/li&gt;
&lt;li&gt;&lt;b&gt;주소&lt;/b&gt; : 서울특별시 송파구 올림픽로 300&lt;/li&gt;
&lt;li&gt;&lt;b&gt;문의전화&lt;/b&gt; : 02-1661-2000&lt;/li&gt;
&lt;li&gt;&lt;b&gt;홈페이지&lt;/b&gt; : &lt;a href=&quot;https://aquarium.lotteworld.com&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://aquarium.lotteworld.com&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;margin: 24px 0 24px; padding: 16px 20px; border-left: 5px solid #ef4444; background: #fff5f5; border-radius: 14px; box-shadow: 0 6px 18px rgba(239,68,68,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;이용안내&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 36px; padding: 18px 20px; border: 1px solid #fecdd3; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(244,63,94,0.05);&quot;&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 2.0; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;운영시간&lt;/b&gt; : 10:00 ~ 22:00 (마감시간 1시간 전까지 입장가능)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;마린프렌즈권&lt;/b&gt;은 롯데월드 아쿠아리움 365일 언제나 자유롭게 이용가능&lt;/li&gt;
&lt;li&gt;&lt;b&gt;36개월 미만 유아&lt;/b&gt;는 입장 무료입니다. (단체입장객 제외)&lt;/li&gt;
&lt;li&gt;36개월 미만 유아 입장 시 &lt;b&gt;증빙서류(가족관계증명서 등)&lt;/b&gt;가 필요하며, 직계가족에 한합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 24px 0 24px; padding: 16px 20px; border-left: 5px solid #f43f5e; background: #fff1f2; border-radius: 14px; box-shadow: 0 6px 18px rgba(244,63,94,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;주차안내&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 36px; padding: 18px 20px; border: 1px solid #fecdd3; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(244,63,94,0.05);&quot;&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 2.0; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;주간 요금(10시~20시)&lt;/b&gt; : 10분당 500원&lt;/li&gt;
&lt;li&gt;&lt;b&gt;그 외 시간(20시~익일10시)&lt;/b&gt; : 10분당 200원&lt;/li&gt;
&lt;li&gt;&lt;b&gt;주차요금 할인&lt;/b&gt; : 최대 4시간까지 4,800원(10분당 200원) 적용&lt;/li&gt;
&lt;li&gt;&lt;b&gt;주차 할인권 지급&lt;/b&gt; : 입장 게이트&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 56px 0 56px;&quot;&gt;&amp;nbsp;&lt;/div&gt;</description>
      <category>일상정보</category>
      <category>롯데월드 아쿠아리움 가격</category>
      <category>롯데월드 아쿠아리움 연간권</category>
      <category>롯데월드 아쿠아리움 연간회원권 할인</category>
      <category>롯데월드 아쿠아리움 이용시간</category>
      <category>롯데월드 아쿠아리움 주차</category>
      <category>롯데월드 아쿠아리움 최저가</category>
      <category>롯데월드 아쿠아리움 할인</category>
      <category>마린프렌즈권 5월</category>
      <category>아쿠아리움 연간회원권</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/145</guid>
      <comments>https://trace90.tistory.com/entry/lotteworld-aquarium-annual-pass-discount-price-hours-parking#entry145comment</comments>
      <pubDate>Fri, 1 May 2026 15:23:55 +0900</pubDate>
    </item>
    <item>
      <title>고유가 피해지원금 신청방법 총정리 | 온라인&amp;middot;오프라인 신청, 필요서류, 대리신청까지</title>
      <link>https://trace90.tistory.com/entry/high-oil-price-relief-fund-application-guide</link>
      <description>&lt;div style=&quot;margin: 18px 0 36px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #fefce8 100%); box-shadow: 0 10px 28px rgba(245,158,11,0.08);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;핵심 요약&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 2.05; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;온라인 신청&lt;/b&gt;은 카드사 앱&amp;middot;홈페이지, 간편결제 앱, 지역사랑상품권 앱을 통해 본인 명의로 진행합니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;오프라인 신청&lt;/b&gt;은 주민센터와 은행 영업점에서 가능하며, 지급수단에 따라 방문 장소가 다릅니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;필요서류&lt;/b&gt;는 본인 신청 시 신분증, 대리신청 시 위임장&amp;middot;관계증명서류&amp;middot;대리인 신분증까지 추가됩니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;가장 중요한 포인트&lt;/b&gt;는 신청 첫 주 요일제, 본인 명의 원칙, 대리신청 가능 범위를 미리 알고 들어가는 것입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 24px 0 24px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;내 상황에 맞는 신청 방법 빠르게 찾기&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 36px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.9; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 30.0697%; text-align: left; color: #1d4ed8;&quot;&gt;내 상황&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 24.9303%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;신청 방법&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 45%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;바로 볼 포인트&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155; width: 30.0697%;&quot;&gt;본인 명의 카드로 직접 신청 가능&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155; width: 24.9303%;&quot;&gt;온라인 신청&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155; width: 45%;&quot;&gt;카드사 앱&amp;middot;홈페이지, 간편결제 앱, 지역사랑상품권 앱 확인&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155; width: 30.0697%;&quot;&gt;앱 사용이 어렵거나 방문 신청이 편함&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155; width: 24.9303%;&quot;&gt;오프라인 신청&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155; width: 45%;&quot;&gt;주민센터인지 은행 영업점인지 먼저 구분&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155; width: 30.0697%;&quot;&gt;가족이 대신 가야 함&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155; width: 24.9303%;&quot;&gt;대리신청 가능 유형 확인&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155; width: 45%;&quot;&gt;위임장, 관계 증명서류, 대리인 신분증 준비&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155; width: 30.0697%;&quot;&gt;신청 첫 주에 접수 예정&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155; width: 24.9303%;&quot;&gt;요일제 확인 후 신청&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155; width: 45%;&quot;&gt;출생연도 끝자리 기준으로 접수일 확인&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 24px 0 24px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;온라인 신청방법 | 카드사&amp;middot;앱으로 어떻게 신청할까?&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;온라인 신청은 가장 빠르고 편한 방식이지만, 조건이 있습니다. 핵심은 &lt;b&gt;본인 명의로만 신청하는 것이 원칙&lt;/b&gt;이라는 점입니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 36px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;온라인 신청 가능 채널&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 2.0; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;신용&amp;middot;체크카드 : 카드사 홈페이지, 카드사 앱, 콜센터, ARS&lt;/li&gt;
&lt;li&gt;간편 앱 경로 : 카카오뱅크, 토스, 케이뱅크, 카카오페이, 네이버페이 등 안내된 앱&lt;/li&gt;
&lt;li&gt;지역사랑상품권 : 지역사랑상품권 앱 또는 지역화폐 앱&lt;/li&gt;
&lt;li&gt;일부 지역은 온라인 신청이 안 되는 상품권이 있어 지자체 확인이 필요&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;신용&amp;middot;체크카드 신청은 신청 다음 날 충전되는 방식으로 안내되고 있습니다. 반면 지역사랑상품권은 지역별 운영 방식이 조금씩 다를 수 있어서, 같은 온라인 신청이라도 실제 사용 시작 시점이나 수령 경로를 지역별로 다시 확인해야 합니다.&lt;/p&gt;
&lt;div style=&quot;margin: 24px 0 24px; padding: 16px 20px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;오프라인 신청방법 | 주민센터와 은행 어디로 가야 할까?&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 36px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.9; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 22.6512%; text-align: left; color: #1d4ed8;&quot;&gt;신청 수단&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 35.4186%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;방문 장소&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 41.9302%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;주의할 점&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155; width: 22.6512%;&quot;&gt;신용&amp;middot;체크카드&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155; width: 35.4186%;&quot;&gt;카드사 연계 은행 영업점&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155; width: 41.9302%;&quot;&gt;카드사별 제휴 은행이 다르므로 미리 확인해야 합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155; width: 22.6512%;&quot;&gt;선불카드&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155; width: 35.4186%;&quot;&gt;주소지 관할 읍면동 주민센터&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155; width: 41.9302%;&quot;&gt;본인 또는 대리인 방문 신청이 가능한 유형입니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155; width: 22.6512%;&quot;&gt;지류 지역사랑상품권&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155; width: 35.4186%;&quot;&gt;주소지 관할 읍면동 주민센터&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155; width: 41.9302%;&quot;&gt;지자체별 발행 여부와 수령 방식이 다를 수 있습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오프라인 신청은 디지털 기기 사용이 익숙하지 않거나 본인 명의 온라인 신청이 어려운 분에게 더 현실적인 방식입니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 36px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(245,158,11,0.06); text-align: center;&quot;&gt;&lt;a style=&quot;display: block; color: #1d4ed8; text-decoration: none; font-size: 18px; line-height: 1.8; font-weight: 800; text-align: center;&quot; href=&quot;https://trace90.tistory.com/entry/high-oil-price-relief-fund-eligibility-guide&quot;&gt;고유가 피해지원금 대상 확인&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 56px 0 56px;&quot;&gt;
&lt;div id=&quot;code_coupang_support_apply_1&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 24px 0 24px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;필요서류는 무엇일까? | 본인 신청과 대리신청 준비물&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 36px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.9; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 14.1163%; text-align: left; color: #1d4ed8;&quot;&gt;구분&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 39.5349%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;필요서류&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 46.3488%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;메모&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155; width: 14.1163%;&quot;&gt;본인 신청&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155; width: 39.5349%;&quot;&gt;주민등록증, 운전면허증, 여권, 모바일 신분증 등&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155; width: 46.3488%;&quot;&gt;신분 확인이 가능한 공식 신분증이 필요합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155; width: 14.1163%;&quot;&gt;대리신청&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155; width: 39.5349%;&quot;&gt;대리인 신분증, 위임장, 본인-대리인 관계 증명서류&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155; width: 46.3488%;&quot;&gt;관계 증빙이 빠지면 접수가 지연될 수 있습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155; width: 14.1163%;&quot;&gt;미성년자&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155; width: 39.5349%;&quot;&gt;주민등록상 세대주 기준 신청이 원칙&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155; width: 46.3488%;&quot;&gt;성인 구성원이 없으면 직접 신청 가능한 경우가 안내됩니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 36px; padding: 18px 20px; border: 1px solid #bae6fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(14,165,233,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0369a1; margin-bottom: 10px;&quot;&gt;실수하기 쉬운 서류 포인트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 2.0; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;온라인은 편하지만 본인 명의 원칙 때문에 가족 대신 대신 신청하기 어려울 수 있습니다.&lt;/li&gt;
&lt;li&gt;대리신청은 위임장만으로 끝나는 것이 아니라 관계 증명서류까지 같이 보는 경우가 많습니다.&lt;/li&gt;
&lt;li&gt;주민센터 방문 전에 지자체 공지나 전화 확인으로 추가 안내가 있는지 체크하는 편이 안전합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 24px 0 24px; padding: 16px 20px; border-left: 5px solid #ef4444; background: #fff5f5; border-radius: 14px; box-shadow: 0 6px 18px rgba(239,68,68,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;대리신청은 어디까지 가능할까?&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;오프라인에서는 선불카드나 지류형 지역사랑상품권 신청처럼 &lt;b&gt;대리인 방문 신청이 가능한 방식&lt;/b&gt;이 따로 안내됩니다. 또한 거동이 불편한 주민은 지자체의 찾아가는 신청 서비스를 요청할 수 있는 경우가 있어, 무조건 본인이 창구에 가야 하는 것은 아닙니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 36px; padding: 18px 20px; border: 1px solid #fecdd3; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(244,63,94,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #be123c; margin-bottom: 10px;&quot;&gt;대리신청 가능성 체크&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 2.0; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;온라인 카드 신청 : 원칙적으로 본인 명의&lt;/li&gt;
&lt;li&gt;주민센터 신청 : 본인 또는 대리인 방문 가능 유형 존재&lt;/li&gt;
&lt;li&gt;거동 불편 : 찾아가는 신청 서비스 문의 가능&lt;/li&gt;
&lt;li&gt;미성년 자녀 : 세대주 신청 원칙 확인 필요&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 36px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(245,158,11,0.06); text-align: center;&quot;&gt;&lt;a style=&quot;display: block; color: #1d4ed8; text-decoration: none; font-size: 18px; line-height: 1.8; font-weight: 800; text-align: center;&quot; href=&quot;https://trace90.tistory.com/entry/high-oil-price-relief-fund-eligibility-guide&quot;&gt;고유가 피해지원금 대상 확인&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 56px 0 56px;&quot;&gt;
&lt;div id=&quot;code_coupang_support_apply_2&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 24px 0 24px; padding: 16px 20px; border-left: 5px solid #8b5cf6; background: #f5f3ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(139,92,246,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;신청 첫 주 요일제는 꼭 봐야 합니다&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;온라인과 오프라인 모두 신청 초반에는 혼잡을 줄이기 위해 출생연도 끝자리 기준 요일제가 적용됩니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 36px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;요일제 체크리스트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 2.0; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;신청 첫 주인지 확인하기&lt;/li&gt;
&lt;li&gt;내 출생연도 끝자리 확인하기&lt;/li&gt;
&lt;li&gt;주민센터는 지역별로 요일제가 더 길어질 수 있는지 확인하기&lt;/li&gt;
&lt;li&gt;급하지 않다면 둘째 주 이후 신청도 고려하기&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 36px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;FAQ&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 2.0; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 온라인 신청은 가족이 대신 해줄 수 있나요?&lt;br /&gt;&amp;rarr; 본인이 직접 신청해야 합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 주민센터에 가면 다 신청 가능한가요?&lt;br /&gt;&amp;rarr; 선불카드, 지류형 지역사랑상품권 등은 주민센터 신청이 가능하지만 카드 충전 방식은 은행 영업점인 경우가 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 대리신청할 때 위임장만 있으면 되나요?&lt;br /&gt;&amp;rarr; 보통 대리인 신분증, 위임장, 본인과의 관계 증명서류까지 함께 준비해야 합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 신청하면 바로 사용할 수 있나요?&lt;br /&gt;&amp;rarr; 선불카드는 현장 수령 후 바로 가능한 경우가 있지만, 카드 충전 방식은 다음 날 충전으로 안내되고 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description>
      <category>지원금&amp;middot;정책</category>
      <category>고유가 피해지원금 대리신청</category>
      <category>고유가 피해지원금 신청</category>
      <category>고유가 피해지원금 신청방법</category>
      <category>고유가 피해지원금 오프라인 신청</category>
      <category>고유가 피해지원금 온라인 신청</category>
      <category>고유가 피해지원금 요일제</category>
      <category>고유가 피해지원금 필요서류</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/144</guid>
      <comments>https://trace90.tistory.com/entry/high-oil-price-relief-fund-application-guide#entry144comment</comments>
      <pubDate>Fri, 24 Apr 2026 01:00:58 +0900</pubDate>
    </item>
    <item>
      <title>고유가 피해지원금 대상은 누구일까? | 70% 기준, 신청일, 지급금액, 사용처까지 총정리</title>
      <link>https://trace90.tistory.com/entry/high-oil-price-relief-fund-eligibility-guide</link>
      <description>&lt;div style=&quot;margin: 18px 0 36px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #fefce8 100%); box-shadow: 0 10px 28px rgba(245,158,11,0.08);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;핵심 요약&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 2.05; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;지원 대상&lt;/b&gt;은 소득 하위 70% 국민이 기본이며, 기초생활수급자&amp;middot;차상위계층&amp;middot;한부모가족은 더 두텁게 지원합니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;지급 금액&lt;/b&gt;은 1인당 10만 원부터 최대 60만 원까지이고, 소득구간과 거주지역에 따라 달라집니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;신청 기간&lt;/b&gt;은 1차 4월 27일~5월 8일, 2차 5월 18일~7월 3일입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;가장 중요한 포인트&lt;/b&gt;는 내가 대상인지, 얼마를 받는지, 어디서 쓸 수 있는지 먼저 확인하는 것입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 24px 0 24px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;한눈에 보는 기준&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 36px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.9; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 10.2558%; text-align: left; color: #1d4ed8;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 48.3024%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;내용&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 41.4418%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;체크 포인트&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155; width: 10.2558%;&quot;&gt;지원 대상&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155; width: 48.3024%;&quot;&gt;소득 하위 70% 국민, 기초생활수급자, 차상위계층, 한부모가족&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155; width: 41.4418%;&quot;&gt;일반 국민 70%와 취약계층은 신청 시기와 금액이 다릅니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155; width: 10.2558%;&quot;&gt;지급 금액&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155; width: 48.3024%;&quot;&gt;1인당 10만 원~60만 원&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155; width: 41.4418%;&quot;&gt;거주지역이 수도권인지, 비수도권인지, 인구감소지역인지에 따라 달라집니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155; width: 10.2558%;&quot;&gt;신청 기간&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155; width: 48.3024%;&quot;&gt;1차 4월 27일~5월 8일 / 2차 5월 18일~7월 3일&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155; width: 41.4418%;&quot;&gt;1차에 받은 사람은 2차 중복 신청이 불가합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155; width: 10.2558%;&quot;&gt;지급 수단&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155; width: 48.3024%;&quot;&gt;지역사랑상품권, 신용&amp;middot;체크카드, 선불카드 중 선택&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155; width: 41.4418%;&quot;&gt;신청 채널과 수령 방식이 수단별로 다릅니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155; width: 10.2558%;&quot;&gt;사용 기한&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155; width: 48.3024%;&quot;&gt;2026년 8월 31일까지&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155; width: 41.4418%;&quot;&gt;남은 금액은 기한이 지나면 자동 소멸합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 24px 0 24px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;고유가 피해지원금 대상은 누구일까?&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;margin: 0 0 36px; color: #334155; font-size: 15px; line-height: 2.05;&quot; data-ke-size=&quot;size16&quot;&gt;이번 고유가 피해지원금은 고유가&amp;middot;고환율&amp;middot;고물가로 인한 생활 부담을 낮추기 위해 마련된 지원입니다.&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 36px; color: #334155; font-size: 15px; line-height: 2.05;&quot; data-ke-size=&quot;size16&quot;&gt;가장 넓게 보면 &lt;b&gt;소득 하위 70% 국민&lt;/b&gt;이 대상이고, 취약계층은 더 큰 금액으로 우선 지원받습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 36px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;지원 대상 체크리스트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 2.0; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;기초생활수급자인가&lt;/li&gt;
&lt;li&gt;차상위계층 또는 한부모가족인가&lt;/li&gt;
&lt;li&gt;위 항목은 아니지만 소득 하위 70%에 해당하는가&lt;/li&gt;
&lt;li&gt;2026년 3월 30일 기준 주민등록 주소지가 어디인가&lt;/li&gt;
&lt;li&gt;내가 받는 금액이 수도권인지 비수도권인지 인구감소지역인지에 따라 달라지는가&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 36px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(245,158,11,0.06); text-align: center;&quot;&gt;&lt;a style=&quot;display: block; color: #1d4ed8; text-decoration: none; font-size: 18px; line-height: 1.8; font-weight: 800; text-align: center;&quot; href=&quot;https://trace90.tistory.com/entry/high-oil-price-relief-fund-application-guide&quot;&gt;고유가 피해 지원금 신청&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 24px 0 24px; padding: 16px 20px; border-left: 5px solid #0ea5e9; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(14,165,233,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;소득 하위 70% 기준&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 36px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.9; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 16%; text-align: left; color: #1d4ed8;&quot;&gt;가구원 수&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;월 소득 기준&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;직장가입자 건보료&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;바로 볼 포인트&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;1인&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;384만 원&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;6만~7만 원&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;급여명세서 또는 건보 앱에서 확인&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;2인&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;629만 원&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;12만~13만 원&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;맞벌이는 합산 기준 확인&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;3인&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;810만 원&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;18만~19만 원&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;가구원 수 기준 먼저 확인&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;4인&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;974만 원&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;297,000원&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;가장 많이 찾는 기준&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 36px; padding: 18px 20px; border: 1px solid #bae6fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(14,165,233,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0369a1; margin-bottom: 10px;&quot;&gt;바로 확인하는 방법&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 2.0; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;The건강보험 앱에서 최근 건강보험료 확인&lt;/li&gt;
&lt;li&gt;국민건강보험공단 홈페이지에서 보험료 조회&lt;/li&gt;
&lt;li&gt;직장가입자는 급여명세서 건강보험 항목 확인&lt;/li&gt;
&lt;li&gt;맞벌이는 두 사람 건강보험료 합산 확인&lt;/li&gt;
&lt;li&gt;지역가입자는 소득과 재산이 함께 반영되므로 앱 조회값 기준으로 확인&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 24px 0 24px; padding: 16px 20px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;얼마를 받을까? | 지급금액 기준 정리&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 36px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.9; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; color: #1d4ed8;&quot;&gt;구분&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 24%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;수도권&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 24%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;비수도권&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 24%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;인구감소지역&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;기초생활수급자&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;55만 원&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;60만 원&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;우대 적용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;차상위계층&amp;middot;한부모가족&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;45만 원&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;50만 원&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;우대 적용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;소득 하위 70%&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;10만 원&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;15만 원&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;20만 원~25만 원&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;margin: 0 0 36px; color: #334155; font-size: 15px; line-height: 2.05;&quot; data-ke-size=&quot;size16&quot;&gt;핵심은 &lt;b&gt;같은 70% 대상자라도 거주지역에 따라 금액이 달라진다&lt;/b&gt;는 점입니다.&lt;/p&gt;
&lt;div style=&quot;margin: 56px 0 56px;&quot;&gt;
&lt;div id=&quot;code_coupang_support_policy_1&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 36px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(245,158,11,0.06); text-align: center;&quot;&gt;&lt;a style=&quot;display: block; color: #1d4ed8; text-decoration: none; font-size: 18px; line-height: 1.8; font-weight: 800; text-align: center;&quot; href=&quot;https://trace90.tistory.com/entry/high-oil-price-relief-fund-application-guide&quot;&gt;고유가 피해 지원금 신청&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 24px 0 24px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;신청일은 언제일까? | 1차&amp;middot;2차 일정 정리&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 36px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.9; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 11.3721%; text-align: left; color: #1d4ed8;&quot;&gt;구분&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 32.0465%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;신청 기간&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 34.6279%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;대상&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 21.9535%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;비고&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155; width: 11.3721%;&quot;&gt;1차&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155; width: 32.0465%;&quot;&gt;2026년 4월 27일 ~ 2026년 5월 8일&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155; width: 34.6279%;&quot;&gt;기초생활수급자, 차상위계층, 한부모가족&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155; width: 21.9535%;&quot;&gt;우선 지급&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155; width: 11.3721%;&quot;&gt;2차&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155; width: 32.0465%;&quot;&gt;2026년 5월 18일 ~ 2026년 7월 3일&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155; width: 34.6279%;&quot;&gt;소득 하위 70% 일반 국민, 1차 미신청자&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155; width: 21.9535%;&quot;&gt;1차 지급자는 중복 불가&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 36px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.9; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 16%; text-align: left; color: #1d4ed8;&quot;&gt;요일&lt;/th&gt;
&lt;td style=&quot;padding: 14px; background: #ffffff; border-bottom: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;월요일&lt;/td&gt;
&lt;td style=&quot;padding: 14px; background: #ffffff; border-bottom: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;화요일&lt;/td&gt;
&lt;td style=&quot;padding: 14px; background: #ffffff; border-bottom: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;수요일&lt;/td&gt;
&lt;td style=&quot;padding: 14px; background: #ffffff; border-bottom: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;목요일&lt;/td&gt;
&lt;td style=&quot;padding: 14px; background: #ffffff; border-bottom: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;금요일&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; text-align: left; color: #1d4ed8;&quot;&gt;출생연도 끝자리&lt;/th&gt;
&lt;td style=&quot;padding: 14px; background: #ffffff; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;1, 6&lt;/td&gt;
&lt;td style=&quot;padding: 14px; background: #ffffff; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;2, 7&lt;/td&gt;
&lt;td style=&quot;padding: 14px; background: #ffffff; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;3, 8&lt;/td&gt;
&lt;td style=&quot;padding: 14px; background: #ffffff; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;4, 9&lt;/td&gt;
&lt;td style=&quot;padding: 14px; background: #ffffff; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;5, 0&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;margin: 0 0 36px; color: #334155; font-size: 15px; line-height: 2.05;&quot; data-ke-size=&quot;size16&quot;&gt;신청 첫 주에는 온라인과 오프라인 &lt;b&gt;모두 출생연도 끝자리를 기준으로 한 요일제가 적용&lt;/b&gt;됩니다.&lt;/p&gt;
&lt;p style=&quot;margin: 0 0 36px; color: #334155; font-size: 15px; line-height: 2.05;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;margin: 24px 0 24px; padding: 16px 20px; border-left: 5px solid #ef4444; background: #fff5f5; border-radius: 14px; box-shadow: 0 6px 18px rgba(239,68,68,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;대상조회는 어떻게 할까? | 미리 확인해야 할 포인트&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 36px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.9; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 15.7674%; text-align: left; color: #1d4ed8;&quot;&gt;확인 항목&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 43.7675%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;내용&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 40.4651%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;비고&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155; width: 15.7674%;&quot;&gt;알림서비스 신청&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155; width: 43.7675%;&quot;&gt;네이버앱, 카카오톡, 토스, 국민비서 누리집 등에서 가능&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155; width: 40.4651%;&quot;&gt;지급 신청 시작 전 미리 안내받을 수 있습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155; width: 15.7674%;&quot;&gt;사전 안내 시점&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155; width: 43.7675%;&quot;&gt;1차는 4월 25일 전후, 2차는 5월 16일 전후 안내&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155; width: 40.4651%;&quot;&gt;금액, 신청방법, 사용기한 등을 확인할 수 있습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155; width: 15.7674%;&quot;&gt;선별 기준&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155; width: 43.7675%;&quot;&gt;건강보험료 등 데이터를 활용한 소득 선별&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155; width: 40.4651%;&quot;&gt;단순 체감 소득과 다를 수 있습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155; width: 15.7674%;&quot;&gt;이의신청&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155; width: 43.7675%;&quot;&gt;조건 변동이나 예외 사유가 있으면 이의신청 가능&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155; width: 40.4651%;&quot;&gt;해외 체류 후 귀국, 수급자 자격 변동 등 사례가 안내되어 있습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 56px 0 56px;&quot;&gt;
&lt;div id=&quot;code_coupang_support_policy_2&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 24px 0 24px; padding: 16px 20px; border-left: 5px solid #8b5cf6; background: #f5f3ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(139,92,246,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;어디서 쓸 수 있을까? | 사용지역&amp;middot;사용처&amp;middot;제한 업종&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;margin: 0 0 36px; color: #334155; font-size: 15px; line-height: 2.05;&quot; data-ke-size=&quot;size16&quot;&gt;고유가 피해지원금은 아무 곳에서나 자유롭게 쓰는 현금성 지원이 아닙니다. &lt;b&gt;신청자 본인의 주소지 관할 지역&lt;/b&gt;에서 사용해야 하고, 업종 제한도 있습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 36px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;사용 기준 요약&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 2.0; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역사랑상품권은 지역사랑상품권 가맹점에서 사용&lt;/li&gt;
&lt;li&gt;신용&amp;middot;체크카드&amp;middot;선불카드는 매출액 30억 원 이하 소상공인 매장에서 사용&lt;/li&gt;
&lt;li&gt;특별시&amp;middot;광역시&amp;middot;특별자치도 거주자는 해당 시&amp;middot;도 안에서 사용&lt;/li&gt;
&lt;li&gt;도 지역 거주자는 주소지 시&amp;middot;군 안에서 사용&lt;/li&gt;
&lt;li&gt;사용기한은 2026년 8월 31일까지이며 남은 금액은 자동 소멸&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 36px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.9; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 20.5581%; text-align: left; color: #1d4ed8;&quot;&gt;구분&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 42.1628%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;사용 가능&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 37.2791%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;사용 제한&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155; width: 20.5581%;&quot;&gt;지역사랑상품권&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155; width: 42.1628%;&quot;&gt;지역사랑상품권 가맹점&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155; width: 37.2791%;&quot;&gt;가맹점이 아닌 곳, 온라인 사용처 다수 제한&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155; width: 20.5581%;&quot;&gt;신용&amp;middot;체크카드&amp;middot;선불카드&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155; width: 42.1628%;&quot;&gt;매출 30억 원 이하 소상공인 매장&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155; width: 37.2791%;&quot;&gt;유흥&amp;middot;사행업종, 대형 외국계 매장, 프랜차이즈 직영점, 온라인전자상거래, 자동이체 공공요금&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155; width: 20.5581%;&quot;&gt;배달앱&amp;middot;키오스크&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155; width: 42.1628%;&quot;&gt;가맹점 자체 단말기 대면결제 등 일부 가능 사례 있음&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155; width: 37.2791%;&quot;&gt;PG 결제 시스템 키오스크&amp;middot;테이블오더&amp;middot;온라인 결제는 제한&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 24px 0 24px; padding: 16px 20px; border-left: 5px solid #14b8a6; background: #f0fdfa; border-radius: 14px; box-shadow: 0 6px 18px rgba(20,184,166,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;자주 묻는 질문&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 36px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05); color: #334155; font-size: 15px; line-height: 2.0;&quot;&gt;
&lt;div style=&quot;margin-bottom: 14px;&quot;&gt;&lt;b&gt;Q. 고유가 피해지원금은 정말 국민 70%만 받나요?&lt;/b&gt;&lt;br /&gt;A. 기본 틀은 소득 하위 70% 국민 대상이며, 기초생활수급자&amp;middot;차상위계층&amp;middot;한부모가족은 별도 구간으로 더 두텁게 지원합니다.&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 14px;&quot;&gt;&lt;b&gt;Q. 신청 전에 내가 받을 금액을 미리 알 수 있나요?&lt;/b&gt;&lt;br /&gt;A. 네이버앱, 카카오톡, 토스, 국민비서 누리집 등을 통한 알림서비스 신청으로 사전 안내를 받을 수 있습니다.&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 14px;&quot;&gt;&lt;b&gt;Q. 1차를 놓치면 끝인가요?&lt;/b&gt;&lt;br /&gt;A. 1차 대상자라도 1차에 신청하지 못했다면 2차 기간에 신청 가능한 경우가 안내되어 있습니다. 다만 1차에 이미 지급받았다면 2차 중복 신청은 안 됩니다.&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 14px;&quot;&gt;&lt;b&gt;Q. 외국인도 신청할 수 있나요?&lt;/b&gt;&lt;br /&gt;A. 원칙적으로 제외되지만, 내국인 포함 세대이거나 영주권자&amp;middot;결혼이민자&amp;middot;난민인정자 등 일부 예외 조건에 해당하면 신청 가능한 경우가 있습니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Q. 남은 금액은 나중에 다시 쓸 수 있나요?&lt;/b&gt;&lt;br /&gt;A. 아닙니다. 사용기한인 2026년 8월 31일이 지나면 남은 금액은 자동 소멸합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 56px 0 56px;&quot;&gt;
&lt;div id=&quot;code_coupang_support_policy_3&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
      <category>지원금&amp;middot;정책</category>
      <category>고유가 피해지원금</category>
      <category>고유가 피해지원금 70%</category>
      <category>고유가 피해지원금 대상</category>
      <category>고유가 피해지원금 대상조회</category>
      <category>고유가 피해지원금 사용처</category>
      <category>고유가 피해지원금 신청일</category>
      <category>고유가 피해지원금 지급금액</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/143</guid>
      <comments>https://trace90.tistory.com/entry/high-oil-price-relief-fund-eligibility-guide#entry143comment</comments>
      <pubDate>Fri, 24 Apr 2026 00:06:48 +0900</pubDate>
    </item>
    <item>
      <title>퇴직연금 디폴트옵션 뜻, 원리금보장형과 TDF 차이까지 정리</title>
      <link>https://trace90.tistory.com/entry/retirement-pension-default-option-meaning-guaranteed-tdf-guide</link>
      <description>&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #fefce8 100%); box-shadow: 0 10px 28px rgba(245,158,11,0.08);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;핵심 요약&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;이 글에서 바로 볼 것&lt;/b&gt; 퇴직연금 디폴트옵션 뜻, 누가 대상인지, 어떤 상황에서 적용되는지&lt;/div&gt;
&lt;div&gt;&lt;b&gt;판단 기준&lt;/b&gt; 원리금보장형과 TDF 중 무엇을 먼저 봐야 하는지&lt;/div&gt;
&lt;div&gt;&lt;b&gt;체크해야 할 항목&lt;/b&gt; 내 계좌 유형, 만기 후 미지시 여부, 변경 가능 여부, 수익률보다 먼저 볼 위험도&lt;/div&gt;
&lt;div&gt;&lt;b&gt;핵심 결론&lt;/b&gt; 디폴트옵션은 자동으로 굴러가는 선택지일 뿐, 내 성향에 맞는 상품인지 직접 확인하는 것이 가장 중요합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;한눈에 보는 기준&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; color: #1d4ed8;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 36%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;기준 / 설명&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 36%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;체크 포인트&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;디폴트옵션 뜻&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;가입자가 운용 지시를 하지 않았을 때 미리 정한 방법으로 적립금을 운용하도록 하는 사전지정운용제도입니다.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;자동으로 아무 상품이나 들어가는 것이 아니라, 사전에 지정된 옵션 안에서 운용됩니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;주로 보는 사람&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;퇴직연금 DC형 또는 IRP 계좌를 가지고 있지만 운용 지시를 자주 하지 않는 가입자&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;DB형 중심인지, DC형&amp;middot;IRP인지 먼저 확인해야 해요.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;많이 비교하는 상품&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;원리금보장형, TDF, 밸런스드펀드(BF), 단기채권형 등&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;이 글에서는 검색량이 많은 원리금보장형과 TDF 중심으로 비교합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;핵심 판단 기준&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;원금 안정성, 기대 수익률, 변동성 감내 수준, 남은 투자 기간&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;수익률만 보지 말고, 손실 가능성과 장기 유지 가능성을 함께 봐야 합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;변경 가능 여부&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;한 번 지정했다고 끝이 아니라, 금융사/계좌 화면에서 변경 가능한 경우가 많습니다.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;실제 변경 절차, 적용 시점, 보유 상품 전환 여부는 금융사 안내를 꼭 확인해야 합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;font-size: 15px; line-height: 1.95; color: #334155; margin: 0 0 18px;&quot; data-ke-size=&quot;size16&quot;&gt;디폴트옵션을 이해하려면 먼저 &lt;b&gt;퇴직연금 구조 자체&lt;/b&gt;를 짧게 잡고 가는 게 훨씬 쉽습니다. 특히 DB형과 DC형 차이를 헷갈리면 디폴트옵션이 어디에 붙는 제도인지부터 흐려지기 쉽습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 30px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(245,158,11,0.06);&quot;&gt;&lt;a style=&quot;display: block; color: #1d4ed8; text-decoration: none; font-size: 18px; line-height: 1.8; font-weight: 800;&quot; href=&quot;https://trace90.tistory.com/entry/db-vs-dc-difference-republish-1&quot;&gt;퇴직연금 DB형 DC형 차이, 무엇이 더 유리할까? 쉽게 정리&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;디폴트옵션 뜻, 가장 쉽게 풀면&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot; data-ke-size=&quot;size16&quot;&gt;퇴직연금 디폴트옵션은 말 그대로 &lt;b&gt;기본으로 지정해 두는 운용 방식&lt;/b&gt;입니다. 정식 표현으로는 &lt;b&gt;사전지정운용제도&lt;/b&gt;라고 부릅니다.&lt;/p&gt;
&lt;p style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot; data-ke-size=&quot;size16&quot;&gt;쉽게 말하면, 퇴직연금 계좌에 돈이 들어와 있는데 가입자가 별도 지시를 하지 않으면 그 돈이 장기간 대기 상태로만 남을 수 있습니다. 이때 아무 조치 없이 방치되는 일을 줄이기 위해, &lt;b&gt;미리 정한 상품이나 운용 방법으로 적립금을 운용하도록 만든 장치&lt;/b&gt;가 디폴트옵션입니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #bfdbfe; border-radius: 18px; background: #f8fbff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #1d4ed8; margin-bottom: 10px;&quot;&gt;한 줄로 이해하면&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;&lt;b&gt;운용 지시를 하지 않을 때를 대비해 미리 정해 두는 기본 투자 경로&lt;/b&gt;라고 생각하면 가장 이해가 쉽습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot; data-ke-size=&quot;size16&quot;&gt;여기서 중요한 점은 &lt;b&gt;디폴트옵션 = 무조건 공격적인 투자&lt;/b&gt;가 아니라는 것입니다. 어떤 금융사는 원리금보장형 중심 옵션을 제공하고, 어떤 곳은 TDF나 분산형 상품을 포함한 옵션을 보여주기도 합니다. 결국 핵심은 &lt;b&gt;내가 아무것도 하지 않았을 때 무엇이 자동으로 적용될 수 있는가&lt;/b&gt;를 아는 것입니다.&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #0ea5e9; background: #f0fdfa; border-radius: 14px; box-shadow: 0 6px 18px rgba(14,165,233,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;누가 디폴트옵션을 특히 신경 써야 할까?&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 30%; text-align: left; color: #1d4ed8;&quot;&gt;구분&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 35%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;왜 중요할까&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 35%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;이런 분이면 특히 체크&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;퇴직연금 DC형 가입자&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;회사 부담금이 적립되더라도 직접 운용 지시를 놓치면 방치 구간이 생길 수 있습니다.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;바쁘고 운용 변경을 자주 하지 않는 직장인&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;IRP 가입자&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;추가 납입은 하지만 어떤 상품으로 둘지 자주 결정하지 못하는 경우가 많습니다.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;절세는 챙기지만 운용 관리는 익숙하지 않은 사람&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;원금 손실이 부담되는 사람&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;디폴트옵션 안에서도 보수형 선택지가 무엇인지 먼저 봐야 합니다.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;원리금보장형 위주로 보고 싶은 사람&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;장기 수익률을 더 중시하는 사람&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;TDF 같은 분산형 상품을 함께 비교해야 판단이 됩니다.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;은퇴까지 기간이 비교적 길고 변동성을 일부 감수할 수 있는 사람&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot; data-ke-size=&quot;size16&quot;&gt;IRP 자체가 낯설다면 먼저 구조를 이해해 두는 것이 좋습니다. 디폴트옵션은 결국 &lt;b&gt;내 계좌가 어떤 성격인지&lt;/b&gt;부터 알아야 제대로 판단할 수 있기 때문입니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 30px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;&lt;a style=&quot;display: block; color: #1d4ed8; text-decoration: none; font-size: 18px; line-height: 1.8; font-weight: 800;&quot; href=&quot;https://trace90.tistory.com/entry/what-is-irp-beginners-guide&quot;&gt;IRP란 무엇인가? 퇴직연금&amp;middot;절세&amp;middot;노후준비까지 한 번에 이해하는 쉬운 가이드&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;원리금보장형과 TDF, 무엇이 다를까?&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 30%; text-align: left; color: #1d4ed8;&quot;&gt;비교 항목&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 35%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;원리금보장형&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 35%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;TDF&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;기본 성격&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;예금성&amp;middot;보수형 중심으로 원금 안정성을 우선 보는 선택지&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;은퇴 시점을 기준으로 자산 비중을 조정하는 장기 분산투자형 상품&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;장점&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;이해가 쉽고, 가격 변동에 대한 심리적 부담이 상대적으로 적습니다.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;장기 성장성과 분산 효과를 함께 기대할 수 있습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;주의할 점&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;물가상승률과 장기 수익률 관점에서는 아쉬울 수 있습니다.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;시장 상황에 따라 평가액 변동이 생길 수 있고, 단기 수익률만 보고 흔들리기 쉽습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;어울리는 사람&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;손실 가능성이 매우 부담스럽고 우선 안정이 중요한 사람&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;은퇴까지 시간이 남아 있고 장기 분산투자를 받아들일 수 있는 사람&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;볼 때 핵심&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;만기, 금리 수준, 재예치 조건, 실제 적용 금리&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;목표시점, 자산배분 구조, 수수료, 변동성 감내 가능 여부&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;핵심 체크리스트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;원금 손실 가능성을 정말 견딜 수 있는지 먼저 판단했는가&lt;/li&gt;
&lt;li&gt;은퇴까지 남은 기간이 길다면 단기 수익률보다 장기 유지 가능성을 보는가&lt;/li&gt;
&lt;li&gt;원리금보장형의 만기 후 재지시 여부를 확인했는가&lt;/li&gt;
&lt;li&gt;TDF의 이름에 붙는 목표연도와 실제 자산 비중을 봤는가&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot; data-ke-size=&quot;size16&quot;&gt;많은 분들이 여기서 &lt;b&gt;어느 쪽이 무조건 더 좋으냐&lt;/b&gt;를 묻지만, 실제로는 그렇게 단순하지 않습니다. 노후 자금은 단기 승부보다 &lt;b&gt;오래 유지할 수 있는 구조&lt;/b&gt;가 훨씬 중요하기 때문입니다.&lt;/p&gt;
&lt;div style=&quot;margin: 56px 0 56px;&quot;&gt;
&lt;div id=&quot;code_coupang_default_option_1&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;어떤 사람에게 무엇이 더 현실적일까?&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 30%; text-align: left; color: #1d4ed8;&quot;&gt;상황&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 35%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;먼저 볼 선택지&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 35%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;이유&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;곧 퇴직이 가깝고 손실이 매우 부담됨&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;원리금보장형 쪽을 먼저 점검&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;계좌 변동을 크게 원치 않는 경우가 많기 때문입니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;은퇴까지 시간이 많이 남고 장기투자 경험이 있음&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;TDF를 함께 비교&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;긴 시간 동안 분산투자 구조를 활용할 여지가 있기 때문입니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;투자 경험은 적지만 방치도 싫음&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;디폴트옵션 구성표 전체를 보고 보수형&amp;middot;중립형을 비교&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;무조건 극단으로 가기보다 중간 위험 수준이 더 맞을 수 있습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;수익률만 보고 급히 정하려는 경우&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;잠시 멈추고 위험도와 유지 가능성을 먼저 확인&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;퇴직연금은 한 번 이익보다 오래 가져가는 설계가 더 중요합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #22c55e; background: #f7fee7; border-radius: 14px; box-shadow: 0 6px 18px rgba(34,197,94,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;체크리스트 / 준비항목&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;디폴트옵션 확인 전에 꼭 볼 것&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;내 계좌가 DC형인지, IRP인지 먼저 확인하기&lt;/li&gt;
&lt;li&gt;현재 적립금이 대기 자금으로 오래 남아 있는지 확인하기&lt;/li&gt;
&lt;li&gt;금융사 앱&amp;middot;홈페이지에서 사전지정운용 등록 여부 확인하기&lt;/li&gt;
&lt;li&gt;디폴트옵션 후보 상품의 설명서와 위험등급 확인하기&lt;/li&gt;
&lt;li&gt;원리금보장형이면 만기와 재예치 구조, TDF면 목표시점과 자산배분 보기&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 30%; text-align: left; color: #1d4ed8;&quot;&gt;준비항목&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 35%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;왜 필요한가&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 35%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;실수 포인트&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;계좌 유형 확인&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;디폴트옵션 적용 구조를 이해하는 출발점입니다.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;DB형 개념과 섞어서 판단하는 경우가 많습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;상품 설명서&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;원금 보장 여부, 위험도, 구조를 정확히 볼 수 있습니다.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;이름만 보고 안전하거나 수익형이라고 단정하기 쉽습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;변경 절차&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;나중에 조정 가능한지 알아야 부담 없이 시작할 수 있습니다.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;기존 적립금까지 자동 전환된다고 오해하는 경우가 있습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;수수료&amp;middot;보수&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;장기 운용에서는 작은 비용 차이도 체감이 커질 수 있습니다.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;단기 성과만 보고 비용을 놓치기 쉽습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;변경 방법은 어떻게 보면 될까?&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #1d4ed8; margin-bottom: 10px;&quot;&gt;보통은 이렇게 확인합니다&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;금융사 앱 또는 홈페이지에서 퇴직연금 메뉴 진입&lt;/li&gt;
&lt;li&gt;사전지정운용 또는 디폴트옵션 등록 화면 확인&lt;/li&gt;
&lt;li&gt;후보 상품별 설명서, 위험등급, 수익구조 비교&lt;/li&gt;
&lt;li&gt;기존 적립금과 앞으로 들어올 적립금에 각각 어떻게 적용되는지 확인&lt;/li&gt;
&lt;li&gt;변경 후 실제 반영 시점과 알림 메시지 확인&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot; data-ke-size=&quot;size16&quot;&gt;다만 여기서 꼭 기억할 점이 있습니다. &lt;b&gt;변경 가능하다 = 아무 때나 같은 방식으로 전부 바뀐다&lt;/b&gt;는 뜻은 아닙니다. 금융사마다 화면 구조와 적용 안내가 다를 수 있고, 현재 보유 중인 상품과 앞으로 새로 들어올 적립금의 처리 방식도 다를 수 있습니다.&lt;/p&gt;
&lt;p style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot; data-ke-size=&quot;size16&quot;&gt;그래서 실제 변경 전에는 &lt;b&gt;적용 대상, 반영 시점, 기존 자산 포함 여부&lt;/b&gt;를 한 번 더 확인하는 것이 안전합니다.&lt;/p&gt;
&lt;div style=&quot;margin: 56px 0 56px;&quot;&gt;
&lt;div id=&quot;code_coupang_default_option_2&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;FAQ&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 퇴직연금 디폴트옵션 뜻은 정확히 무엇인가요?&lt;br /&gt;&amp;rarr; 가입자가 운용 지시를 하지 않았을 때를 대비해, 미리 지정한 방법으로 적립금을 운용하도록 하는 제도입니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 디폴트옵션은 무조건 TDF로 해야 하나요?&lt;br /&gt;&amp;rarr; 아닙니다. 금융사에서 제공하는 사전지정운용 옵션 안에는 원리금보장형이나 분산형 상품 등 여러 선택지가 있을 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 원리금보장형이 더 안전하니 무조건 유리한가요?&lt;br /&gt;&amp;rarr; 안정성 측면에서는 장점이 있지만, 장기 수익률과 물가 대응 측면에서는 아쉬울 수 있습니다. 본인의 투자 기간과 성향을 함께 봐야 합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; TDF는 왜 많이 언급되나요?&lt;br /&gt;&amp;rarr; 은퇴 시점에 맞춰 자산 비중을 자동 조절하는 구조라서, 장기 분산투자 관점에서 디폴트옵션 비교군으로 자주 언급됩니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 디폴트옵션은 나중에 바꿀 수 없나요?&lt;br /&gt;&amp;rarr; 일반적으로 변경 가능 여부를 확인할 수 있지만, 실제 절차와 적용 범위는 금융사 및 계좌 조건에 따라 다를 수 있어 사전 확인이 필요합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;결론 / 선택 정리&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;margin: 0 0 16px; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;디폴트옵션은 방치된 퇴직연금을 줄이기 위한 기본 운용 장치로 이해하면 쉽습니다.&lt;/li&gt;
&lt;li&gt;원리금보장형은 안정성, TDF는 장기 분산투자 성격이 강하므로 내 성향과 투자 기간에 맞게 봐야 합니다.&lt;/li&gt;
&lt;li&gt;수익률 숫자 하나보다 계좌 유형, 위험도, 변경 가능 여부를 먼저 확인하는 것이 실수 줄이는 길입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;퇴직연금 디폴트옵션은 &amp;ldquo;자동이라 편한 제도&amp;rdquo;가 아니라, &lt;b&gt;자동으로 적용될 수 있으니 더 미리 확인해야 하는 제도&lt;/b&gt;라고 이해하면 가장 정확합니다.&lt;/blockquote&gt;
&lt;p style=&quot;color: #6b7280; font-size: 14px; line-height: 1.7; margin-top: 24px;&quot; data-ke-size=&quot;size16&quot;&gt;※ 이 글은 퇴직연금 디폴트옵션의 구조와 비교 포인트를 쉽게 설명하기 위한 정보성 가이드입니다. 실제 적용 대상, 등록 절차, 상품 구성, 위험등급, 수익률, 변경 가능 여부는 금융사와 계좌 조건에 따라 다를 수 있으므로 최종 결정 전에는 반드시 본인 금융사 안내와 상품설명서를 확인하세요.&lt;/p&gt;</description>
      <category>경제&amp;middot;재테크/연금&amp;middot;노후</category>
      <category>TDF</category>
      <category>디폴트옵션뜻</category>
      <category>사전지정운용제도</category>
      <category>원리금보장형</category>
      <category>퇴직연금</category>
      <category>퇴직연금디폴트옵션</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/142</guid>
      <comments>https://trace90.tistory.com/entry/retirement-pension-default-option-meaning-guaranteed-tdf-guide#entry142comment</comments>
      <pubDate>Tue, 21 Apr 2026 21:55:05 +0900</pubDate>
    </item>
    <item>
      <title>집주인이 세금 체납이면 위험할까? 전세 계약 전 꼭 확인해야 할 핵심</title>
      <link>https://trace90.tistory.com/entry/landlord-tax-delinquency-risk-contract-check-guide</link>
      <description>&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #fefce8 100%); box-shadow: 0 10px 28px rgba(245,158,11,0.08);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;핵심 요약&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;이 글에서 바로 볼 것&lt;/b&gt; 집주인 세금 체납이 왜 위험할 수 있는지와 계약 전에 꼭 확인해야 할 핵심 포인트&lt;/div&gt;
&lt;div&gt;&lt;b&gt;판단 기준&lt;/b&gt; 등기부등본, 소유자 확인, 권리관계, 체납 관련 불안 신호, 보증금 보호 장치&lt;/div&gt;
&lt;div&gt;&lt;b&gt;가장 중요한 포인트&lt;/b&gt; &lt;b&gt;세금 체납 자체보다 그로 인해 보증금 회수 구조가 흔들릴 수 있는지&lt;/b&gt;를 먼저 봐야 해요.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;한 줄 결론&lt;/b&gt; 집주인 세금 체납이 의심되면 괜찮겠지 하고 넘어가지 말고, &lt;b&gt;권리관계 확인 &amp;rarr; 설명 검증 &amp;rarr; 보증금 보호 가능성&lt;/b&gt; 순서로 다시 점검해야 합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;한눈에 보는 기준 | 세금 체납 의심 시 먼저 볼 것&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 22%; text-align: left; color: #1d4ed8;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 38%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;무엇을 확인하나&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 40%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;왜 중요한가&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;등기부등본&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;소유자, 압류&amp;middot;가압류&amp;middot;근저당 등 권리관계 확인&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;보증금 회수 구조에 직접 영향을 줄 수 있어요.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;소유자 설명&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;체납 여부를 둘러싼 설명이 일관된지 확인&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;설명이 자꾸 바뀌면 위험 신호일 수 있어요.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;보증금 보호&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;전입신고, 확정일자, 보증보험 가능 여부 확인&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;리스크를 줄이는 핵심 안전장치예요.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;계약 태도&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;서류 확인 전 계약을 재촉하는지 확인&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;확인 시간을 주지 않으면 더 위험해요.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;먼저 결론 | 세금 체납이 무조건 끝은 아니지만 가볍게 보면 안 돼요&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;집주인의 세금 체납 이야기가 나오면 많은 분들이 바로 &quot;그럼 이 집은 절대 안 된다&quot;거나 반대로 &quot;세금 문제는 집주인 개인 사정일 뿐&quot;이라고 생각해요. &lt;br /&gt;&lt;br /&gt;하지만 실제로 중요한 것은 &lt;b&gt;그 체납이 현재 계약 구조와 보증금 회수 가능성에 어떤 영향을 줄 수 있느냐&lt;/b&gt;예요. 그래서 무조건 단정하기보다, &lt;b&gt;계약 전 권리관계와 보증금 보호 장치가 흔들리는지&lt;/b&gt;를 먼저 봐야 합니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 24px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(245,158,11,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #92400e; margin-bottom: 10px;&quot;&gt;핵심 이해 포인트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;세금 체납 이슈는 &lt;b&gt;권리관계 점검을 더 엄격하게 해야 하는 신호&lt;/b&gt;로 보는 편이 좋아요.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;설명보다 서류와 기록&lt;/b&gt;으로 판단해야 해요.&lt;/li&gt;
&lt;li&gt;보증보험 가능 여부, 특약, 계약 상대방 확인까지 함께 봐야 안전합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;세금 체납 이야기가 나왔을 때 가장 먼저 흔들림 없이 봐야 하는 서류가 등기부등본이에요. 압류&amp;middot;가압류&amp;middot;근저당을 어디서 어떻게 확인하는지까지 정확히 알아야 실제 위험을 놓치지 않습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 30px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(245,158,11,0.06);&quot;&gt;&lt;a style=&quot;display: block; color: #1d4ed8; text-decoration: none; font-size: 18px; line-height: 1.8; font-weight: 800;&quot; href=&quot;https://trace90.tistory.com/entry/how-to-read-real-estate-register-before-contract-guide&quot;&gt;등기부등본 보는법 | 매매&amp;middot;전세&amp;middot;월세 계약 전 꼭 확인할 핵심 정리&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;계약 전 꼭 확인해야 할 핵심&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;1. 등기부등본에서 현재 권리관계를 먼저 봐요&lt;/div&gt;
&lt;div style=&quot;color: #334155; line-height: 1.95; font-size: 15px;&quot;&gt;계약 직전 최신 등기부등본으로 소유자와 압류&amp;middot;가압류&amp;middot;근저당 등 권리관계를 먼저 확인해야 해요. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;세금 체납이 의심되는데도 등기부등본 확인을 대충 넘기면 가장 큰 실수&lt;/b&gt;가 될 수 있습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;2. 소유자와 계약 상대방이 일치하는지 확인해요&lt;/div&gt;
&lt;div style=&quot;color: #334155; line-height: 1.95; font-size: 15px;&quot;&gt;세금 체납이 있는 상황일수록 실제 소유자와 계약 상대방이 정확히 일치하는지 더 중요해져요. &lt;br /&gt;&lt;br /&gt;대리인이 나온다면 &lt;b&gt;단순 가족 설명이 아니라 실제 권한과 연결 구조&lt;/b&gt;를 다시 봐야 합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;3. 보증금 보호 장치가 가능한지 같이 확인해요&lt;/div&gt;
&lt;div style=&quot;color: #334155; line-height: 1.95; font-size: 15px;&quot;&gt;전입신고, 확정일자, 보증보험 가능 여부는 이런 상황에서 더 중요해요. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;보증보험 가능 여부 답변이 애매하거나 계속 미뤄지면 위험 신호로 봐야&lt;/b&gt; 합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_realestate_tax_1&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;4. 설명이 자꾸 바뀌면 계약을 늦추는 편이 맞아요&lt;/div&gt;
&lt;div style=&quot;color: #334155; line-height: 1.95; font-size: 15px;&quot;&gt;체납 여부를 둘러싼 설명, 대출 규모, 압류 여부, 보증금 반환 계획이 자꾸 달라진다면 바로 다시 확인해야 해요. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;작은 설명 불일치가 더 큰 위험의 신호일 수 있기 때문&lt;/b&gt;입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;5. 특약으로 남길 수 있는 내용은 최대한 남겨요&lt;/div&gt;
&lt;div style=&quot;color: #334155; line-height: 1.95; font-size: 15px;&quot;&gt;잔금 전 권리변동 금지, 보증보험 협조, 서류 협조 같은 내용은 계약서 특약으로 남겨두는 것이 좋아요. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;말로만 약속하고 문서에 안 남기면 나중에 분쟁 시 불리할 수 있어요.&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #ef4444; background: #fff5f5; border-radius: 14px; box-shadow: 0 6px 18px rgba(239,68,68,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;이럴 땐 특히 더 조심해야 해요&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(239,68,68,0.05);&quot;&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;체납 이야기가 나오는데 서류 확인을 피하려는 경우&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;등기부등본 재확인을 꺼리는 경우&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;보증보험 가능 여부를 명확히 답하지 않는 경우&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;오늘 계약해야 한다며 과하게 재촉하는 경우&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;소유자, 대리인, 중개사 설명이 서로 다른 경우&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;체크리스트 | 계약 직전에 다시 확인할 것&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #bae6fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(56,189,248,0.06);&quot;&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;등기부등본 최신본으로 소유자와 권리관계를 다시 봤는가&lt;/li&gt;
&lt;li&gt;계약 상대방과 실제 소유자가 일치하는가&lt;/li&gt;
&lt;li&gt;압류&amp;middot;가압류&amp;middot;근저당 등 위험 요소를 점검했는가&lt;/li&gt;
&lt;li&gt;보증보험 가능 여부를 확인했는가&lt;/li&gt;
&lt;li&gt;전입신고&amp;middot;확정일자 계획까지 세웠는가&lt;/li&gt;
&lt;li&gt;권리변동 금지와 협조 특약을 넣었는가&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; color: #1d4ed8;&quot;&gt;준비항목&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 40%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;왜 필요한가&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 32%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;실수 포인트&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;등기부등본 최신본&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;현재 권리관계를 확인하는 가장 기본 자료예요.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;이전 출력본으로 대신하는 경우&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;신분&amp;middot;위임 확인&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;계약 상대가 실제 권한 있는 사람인지 확인할 수 있어요.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;구두 설명만 믿고 넘어가는 경우&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;보증보험 가능 여부&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;보증금 보호 가능성을 다시 점검할 수 있어요.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;애매한 답변을 그냥 넘기는 경우&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;특약 문구&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;분쟁 시 중요한 조건을 남길 수 있어요.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;말로만 약속하고 끝내는 경우&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_realestate_tax_2&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;보증금을 지키는 관점에서는 세금 체납 의심 여부만 보는 것으로 끝나지 않아요. 계약 후 어떤 순서로 보호 장치를 챙겨야 하는지도 함께 알아두어야 실제 대응이 쉬워집니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 30px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(245,158,11,0.06);&quot;&gt;&lt;a style=&quot;display: block; color: #1d4ed8; text-decoration: none; font-size: 18px; line-height: 1.8; font-weight: 800;&quot; href=&quot;https://trace90.tistory.com/entry/report-move-in-and-fixed-date-difference-guide&quot;&gt;전입신고와 확정일자 차이 | 왜 둘 다 중요한가&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;FAQ&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Q. 집주인 세금 체납이면 무조건 계약하면 안 되나요?&lt;/b&gt;&lt;br /&gt;&amp;rarr; 무조건 단정하기보다 &lt;b&gt;현재 권리관계와 보증금 회수 구조&lt;/b&gt;를 먼저 봐야 해요. 다만 가볍게 넘기면 안 되는 신호인 것은 맞습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q. 중개사가 괜찮다고 하면 믿어도 되나요?&lt;/b&gt;&lt;br /&gt;&amp;rarr; 중개사 설명은 참고가 되지만, &lt;b&gt;등기부등본과 계약 조건은 직접 다시 확인&lt;/b&gt;하는 편이 안전해요.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q. 세금 체납 의심 시 가장 먼저 볼 것은 무엇인가요?&lt;/b&gt;&lt;br /&gt;&amp;rarr; 최신 등기부등본과 소유자, 압류&amp;middot;가압류&amp;middot;근저당 같은 권리관계를 먼저 보세요.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q. 보증보험 가능 여부도 같이 봐야 하나요?&lt;/b&gt;&lt;br /&gt;&amp;rarr; 네. 이런 상황일수록 보증보험 가능 여부와 협조 여부를 함께 보는 것이 중요합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;결론 | 체납 의심이 보이면 설명보다 구조를 먼저 보세요&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;집주인 세금 체납 이슈는 계약을 더 신중하게 봐야 한다는 신호예요.&lt;/li&gt;
&lt;li&gt;중요한 것은 현재 권리관계와 보증금 회수 가능성이 흔들리는지 여부입니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;서류 확인 전 계약을 서두르거나 보증보험 답변을 피하면 일단 멈추는 것이 맞아요.&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;집주인 세금 체납이 의심될 때는 &quot;괜찮다더라&quot;보다, 내 보증금을 끝까지 지킬 수 있는 구조인지부터 따져보는 것이 더 중요해요.&lt;/blockquote&gt;
&lt;p style=&quot;color: #6b7280; font-size: 14px; line-height: 1.8; margin-top: 24px;&quot; data-ke-size=&quot;size16&quot;&gt;※ 참고: 실제 체납 정보와 계약 리스크 판단은 현재 권리관계, 설명 자료, 보증금 규모, 계약 구조에 따라 달라질 수 있어요. 계약 전에는 최신 서류와 보호 장치를 함께 점검하는 것이 안전합니다.&lt;/p&gt;</description>
      <category>부동산/매매&amp;middot;전세&amp;middot;월세</category>
      <category>보증금 보호</category>
      <category>부동산 계약 체크리스트</category>
      <category>세금 체납 확인</category>
      <category>임대인 체납</category>
      <category>전세 계약 주의사항</category>
      <category>전세 위험</category>
      <category>전세사기 예방</category>
      <category>집주인 세금 체납</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/141</guid>
      <comments>https://trace90.tistory.com/entry/landlord-tax-delinquency-risk-contract-check-guide#entry141comment</comments>
      <pubDate>Fri, 17 Apr 2026 08:34:25 +0900</pubDate>
    </item>
    <item>
      <title>부동산 가계약 후 취소 가능할까? 계약금 돌려받는 기준 총정리</title>
      <link>https://trace90.tistory.com/entry/real-estate-precontract-cancel-deposit-refund-guide</link>
      <description>&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #fefce8 100%); box-shadow: 0 10px 28px rgba(245,158,11,0.08);&quot;&gt; 
 &lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
  핵심 요약
 &lt;/div&gt; 
 &lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt; 
  &lt;div&gt;
   &lt;b&gt;이 글에서 바로 볼 것&lt;/b&gt; 부동산 가계약 후 취소가 가능한지, 계약금 반환이 어떻게 갈리는지 핵심 기준
  &lt;/div&gt; 
  &lt;div&gt;
   &lt;b&gt;판단 기준&lt;/b&gt; 가계약 문구, 송금 목적, 취소 사유, 기록 유무, 상대방 귀책, 권리관계 이상 여부
  &lt;/div&gt; 
  &lt;div&gt;
   &lt;b&gt;가장 중요한 포인트&lt;/b&gt; &lt;b&gt;가계약이라고 해서 무조건 쉽게 취소되거나, 무조건 못 돌려받는 것은 아니에요.&lt;/b&gt;
  &lt;/div&gt; 
  &lt;div&gt;
   &lt;b&gt;한 줄 결론&lt;/b&gt; 결국 반환 여부는 &lt;b&gt;어떤 조건으로 돈을 보냈는지, 누가 어떤 이유로 취소했는지, 그 내용이 기록으로 남아 있는지&lt;/b&gt;에 따라 크게 달라집니다.
  &lt;/div&gt; 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  한눈에 보는 기준 | 가계약 취소와 계약금 반환은 이렇게 갈려요
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt; 
 &lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 22%; text-align: left; color: #1d4ed8;&quot;&gt;구분&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 38%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;주요 기준&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 40%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;실무 포인트&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;가계약 문구&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;어떤 매물인지, 금액, 본계약일, 취소 시 처리 기준이 남아 있는지&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;문구가 모호할수록 반환 분쟁이 커져요.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;취소 사유&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;단순 변심인지, 상대방 문제인지, 권리관계 이상인지&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;누구 책임인지가 반환 판단에서 중요해요.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;기록 유무&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;문자, 카톡, 계좌이체 내역, 설명 기록이 있는지&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;기록이 없으면 말싸움으로 가기 쉬워요.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;상대방 하자&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;소유자 불일치, 권리관계 이상, 설명과 다른 사실이 있는지&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;상대방 문제라면 반환 주장 근거가 더 분명해질 수 있어요.&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  먼저 결론 | 가계약 후 취소 가능 여부는 &quot;가계약이라서&quot;가 아니라 &lt;span style=&quot;color: #dc2626;&quot;&gt;합의 내용&lt;/span&gt;을 봐야 해요
 &lt;/div&gt; 
&lt;/div&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;많은 분들이 가계약은 본계약이 아니니까 언제든 쉽게 취소할 수 있다고 생각해요. 반대로, 일단 돈을 보냈으니 무조건 포기해야 한다고 생각하는 경우도 많습니다. &lt;br&gt;&lt;br&gt;하지만 실제로는 &lt;b&gt;어떤 조건으로 돈을 보냈는지&lt;/b&gt;, &lt;b&gt;본계약 일정과 취소 기준을 어떻게 정했는지&lt;/b&gt;, &lt;b&gt;누가 어떤 이유로 취소하게 됐는지&lt;/b&gt;에 따라 결과가 달라질 수 있어요.&lt;/p&gt;&lt;div style=&quot;margin: 18px 0 24px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(245,158,11,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #92400e; margin-bottom: 10px;&quot;&gt;
  핵심 이해 포인트
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;가계약은 이름보다 &lt;b&gt;실제 합의 내용&lt;/b&gt;이 중요해요.&lt;/li&gt; 
  &lt;li&gt;계약금 반환은 &lt;b&gt;단순 취소&lt;/b&gt;인지, &lt;b&gt;상대방 문제로 무산된 것인지&lt;/b&gt;를 구분해 봐야 해요.&lt;/li&gt; 
  &lt;li&gt;결정적으로 중요한 것은 &lt;b&gt;문자·카톡·송금내역 같은 기록&lt;/b&gt;입니다.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.07);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  계약금 돌려받는 기준 | 무엇이 반환 여부를 가를까?
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;
  1. 단순 변심인지 먼저 구분해요
 &lt;/div&gt; 
 &lt;div style=&quot;color: #334155; line-height: 1.95; font-size: 15px;&quot;&gt;
  가장 흔한 경우가 임차인이나 매수인이 마음이 바뀌는 상황이에요. 
  &lt;br&gt;
  &lt;br&gt;이 경우에는 &lt;b&gt;이미 어떤 조건으로 가계약이 성립했는지&lt;/b&gt;에 따라 반환 가능성이 달라질 수 있어요. 그래서 &quot;그냥 취소했으니 당연히 돌려받는다&quot;고 보기는 어렵습니다.
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;
  2. 상대방 설명과 실제 상황이 다른지 봐요
 &lt;/div&gt; 
 &lt;div style=&quot;color: #334155; line-height: 1.95; font-size: 15px;&quot;&gt;
  소유자가 다르거나, 대리권이 불명확하거나, 등기부등본상 권리관계가 설명과 다르거나, 중요한 사실을 숨겼다면 이야기가 달라질 수 있어요. 
  &lt;br&gt;
  &lt;br&gt;이런 경우는 &lt;b&gt;단순 변심이 아니라 상대방 문제 때문에 본계약이 어려워진 상황&lt;/b&gt;으로 볼 여지가 생기기 때문입니다.
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;
  3. 취소·반환 기준을 미리 정했는지가 중요해요
 &lt;/div&gt; 
 &lt;div style=&quot;color: #334155; line-height: 1.95; font-size: 15px;&quot;&gt;
  문자나 카카오톡으로라도 &quot;본계약 전 취소 시 어떻게 처리한다&quot;는 기준을 남겼다면 훨씬 분명해져요. 
  &lt;br&gt;
  &lt;br&gt;반대로 &lt;b&gt;아무 기준 없이 돈만 보냈다면 반환 분쟁이 훨씬 커질 수 있어요.&lt;/b&gt;
 &lt;/div&gt; 
&lt;/div&gt;&lt;div id=&quot;code_coupang_realestate_cancel_1&quot; data-ke-type=&quot;html&quot; data-source=&quot;&lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&lt;/script&gt;&quot;&gt; 
 &lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt; 
 &lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  상황별 판단 | 이런 경우 특히 많이 헷갈려요
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #1d4ed8; margin-bottom: 10px;&quot;&gt;
  상황 1. 그냥 마음이 바뀌었어요
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;이 경우에는 반환이 당연하다고 보기 어려울 수 있어요.&lt;/li&gt; 
  &lt;li&gt;가계약 합의 내용과 취소 기준 문구가 핵심입니다.&lt;/li&gt; 
  &lt;li&gt;기록이 없다면 서로 해석이 크게 갈릴 수 있어요.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #1d4ed8; margin-bottom: 10px;&quot;&gt;
  상황 2. 집주인 쪽 설명이 달랐어요
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;소유자 불일치, 대리권 문제, 권리관계 이상, 중요한 사실 누락은 반환 판단에 큰 영향을 줄 수 있어요.&lt;/li&gt; 
  &lt;li&gt;이 경우는 단순 변심과 다르게 볼 여지가 있습니다.&lt;/li&gt; 
  &lt;li&gt;등기부등본, 문자, 설명 내역을 같이 정리해 두는 것이 좋아요.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #1d4ed8; margin-bottom: 10px;&quot;&gt;
  상황 3. 중개사가 &quot;원래 못 돌려받는다&quot;고 해요
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;이 말만으로 바로 결론 내리면 안 돼요.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;가계약 문구, 송금 목적, 취소 사유, 상대방 문제 유무&lt;/b&gt;를 함께 봐야 해요.&lt;/li&gt; 
  &lt;li&gt;즉, 이름보다 실제 합의 내용이 더 중요합니다.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #ef4444; background: #fff5f5; border-radius: 14px; box-shadow: 0 6px 18px rgba(239,68,68,0.07);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  이럴 땐 반환 분쟁이 커지기 쉬워요
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(239,68,68,0.05);&quot;&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;&lt;b&gt;어떤 조건인지 정하지 않고 돈만 먼저 보낸 경우&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;취소 시 반환 기준을 기록으로 남기지 않은 경우&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;계좌 명의, 설명 내용, 소유자 정보가 서로 다른 경우&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;상대방 문제인지 내 변심인지 정리가 안 된 경우&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;전화 통화만 있고 문자·카톡 기록이 없는 경우&lt;/b&gt;&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #8b5cf6; background: #faf5ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(139,92,246,0.07);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  체크리스트 | 취소와 반환 판단 전에 바로 확인할 것
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #ddd6fe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;가계약금이 어떤 명목으로 송금됐는지 기록이 있는가&lt;/li&gt; 
  &lt;li&gt;어느 매물인지 특정할 수 있는가&lt;/li&gt; 
  &lt;li&gt;본계약 예정일과 취소 기준이 남아 있는가&lt;/li&gt; 
  &lt;li&gt;취소 사유가 단순 변심인지 상대방 문제인지 구분되는가&lt;/li&gt; 
  &lt;li&gt;등기부등본, 소유자, 대리권, 권리관계 이상 여부를 확인했는가&lt;/li&gt; 
  &lt;li&gt;문자·카톡·송금내역을 모두 보관하고 있는가&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt; 
 &lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; color: #1d4ed8;&quot;&gt;준비항목&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 40%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;왜 필요한가&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 32%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;실수 포인트&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;송금 내역&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;누구에게 어떤 금액을 보냈는지 기본 증거가 돼요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;송금만 하고 설명 기록이 없는 경우&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;문자·카톡 기록&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;가계약 조건과 취소 사유를 정리할 수 있어요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;전화로만 설명 듣고 끝내는 경우&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;등기부등본 등 확인자료&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;상대방 설명과 실제 상황이 다른지 판단할 수 있어요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;문제 발견 후에도 자료를 안 남기는 경우&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;취소 사유 정리&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;내 사유인지 상대방 사유인지 구분할 수 있어요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;막연히 &quot;취소했어요&quot;만 말하는 경우&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt;&lt;div id=&quot;code_coupang_realestate_cancel_2&quot; data-ke-type=&quot;html&quot; data-source=&quot;&lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&lt;/script&gt;&quot;&gt; 
 &lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt; 
 &lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
  FAQ
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;&lt;b&gt;Q. 가계약 후 취소는 무조건 가능한가요?&lt;/b&gt;&lt;br&gt;→ 무조건 가능하다고도, 무조건 불가능하다고도 보기 어려워요. &lt;b&gt;실제 합의 내용과 취소 사유&lt;/b&gt;를 봐야 합니다.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q. 계약금은 무조건 못 돌려받나요?&lt;/b&gt;&lt;br&gt;→ 그렇지 않아요. &lt;b&gt;상대방 문제로 본계약이 어려워진 경우&lt;/b&gt;처럼 사정에 따라 반환 판단이 달라질 수 있어요.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q. 가계약인데도 기록이 중요하나요?&lt;/b&gt;&lt;br&gt;→ 네. 오히려 가계약일수록 문서가 약한 경우가 많아서 문자·카톡·송금내역이 더 중요해요.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q. 중개사가 원래 못 돌려받는다고 하면 끝인가요?&lt;/b&gt;&lt;br&gt;→ 아니에요. 그 말 하나로 결론 내리지 말고, &lt;b&gt;가계약 조건과 취소 사유&lt;/b&gt;를 다시 정리해 봐야 해요.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  결론 | 반환 여부는 이름보다 기록과 사유가 좌우해요
 &lt;/div&gt; 
&lt;/div&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;부동산 가계약 후 취소 가능 여부는 &quot;가계약&quot;이라는 이름만으로 판단하기 어려워요.&lt;/li&gt;&lt;li&gt;반환 여부는 가계약 조건, 취소 사유, 상대방 문제 유무, 기록 유무에 따라 크게 달라질 수 있습니다.&lt;/li&gt;&lt;li&gt;&lt;b&gt;돈을 보낼 때보다 취소할 때 더 중요해지는 것이 바로 기록&lt;/b&gt;이에요.&lt;/li&gt;&lt;/ul&gt;&lt;blockquote data-ke-style=&quot;style1&quot;&gt;부동산 가계약 반환 분쟁은 &quot;가계약이냐 아니냐&quot;보다, 어떤 조건으로 돈을 보냈고 왜 취소됐는지가 핵심이에요.&lt;/blockquote&gt;&lt;div style=&quot;margin: 24px 0 0; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
  관련 글 링크
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/jeonse-pre-contract-deposit-warning-guide&quot;&gt;가계약금 먼저 보내도 될까? 전세 계약 전 꼭 알아야 할 주의사항&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/landlord-agent-contract-6-checkpoints-guide&quot;&gt;집주인 대신 대리인이 나오면 꼭 확인해야 할 6가지 | 전세계약 체크리스트&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/jeonse-contract-checklist-beginners-mistake-prevention-guide&quot;&gt;전세 계약 전 꼭 확인해야 할 체크리스트 | 초보자용 실수 방지 가이드&lt;/a&gt;&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;※ 참고: 실제 가계약 취소와 계약금 반환 판단은 합의 문구, 송금 시점, 취소 이유, 상대방 설명과 실제 상태의 차이에 따라 달라질 수 있어요. 중요한 내용은 반드시 기록으로 남기고, 취소 사유를 구분해서 정리하는 것이 안전합니다.&lt;/p&gt;</description>
      <category>부동산/매매&amp;middot;전세&amp;middot;월세</category>
      <category>가계약 후 취소</category>
      <category>가계약금 반환</category>
      <category>계약금 돌려받기</category>
      <category>매매 계약금</category>
      <category>부동산 가계약</category>
      <category>부동산 계약 취소</category>
      <category>부동산 계약금 반환</category>
      <category>전세 계약금</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/140</guid>
      <comments>https://trace90.tistory.com/entry/real-estate-precontract-cancel-deposit-refund-guide#entry140comment</comments>
      <pubDate>Thu, 16 Apr 2026 20:40:11 +0900</pubDate>
    </item>
    <item>
      <title>전세 만기인데 보증금을 안 돌려주면 어떻게 해야 할까? 꼭 알아야 할 대응 순서</title>
      <link>https://trace90.tistory.com/entry/jeonse-deposit-not-returned-at-maturity-response-guide</link>
      <description>&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #fefce8 100%); box-shadow: 0 10px 28px rgba(245,158,11,0.08);&quot;&gt; 
 &lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
  핵심 요약
 &lt;/div&gt; 
 &lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt; 
  &lt;div&gt;
   &lt;b&gt;이 글에서 바로 볼 것&lt;/b&gt; 전세 만기 후 보증금을 돌려받지 못했을 때 실제로 어떤 순서로 대응해야 하는지
  &lt;/div&gt; 
  &lt;div&gt;
   &lt;b&gt;핵심 기준&lt;/b&gt; 만기 전 통지, 증거 확보, 반환 요청 기록, 임차권등기 검토, 보증보험 여부, 다음 거주 일정
  &lt;/div&gt; 
  &lt;div&gt;
   &lt;b&gt;가장 중요한 포인트&lt;/b&gt; 화를 내기보다 &lt;b&gt;증거를 남기면서 순서대로 대응&lt;/b&gt;해야 보증금 회수 가능성이 높아져요.
  &lt;/div&gt; 
  &lt;div&gt;
   &lt;b&gt;한 줄 결론&lt;/b&gt; 전세 만기인데 보증금을 못 받으면 기다리기만 하지 말고, &lt;b&gt;요청 기록 → 보호 장치 확인 → 공식 절차&lt;/b&gt; 순서로 바로 움직여야 합니다.
  &lt;/div&gt; 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  한눈에 보는 대응 순서 | 감정보다 순서가 중요해요
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt; 
 &lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 18%; text-align: left; color: #1d4ed8;&quot;&gt;단계&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 40%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;무엇을 해야 하나&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 42%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;왜 중요한가&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;1&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;계약 종료 의사와 반환 요청 기록 정리&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;나중에 분쟁이 생겼을 때 만기와 반환 요구 사실을 증명하는 기초가 돼요.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;2&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;문자·통화·내용증명 등 증거 남기기&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;말로만 요구하면 나중에 다툼이 생기기 쉬워요.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;3&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;전입신고·확정일자·보증보험 상태 확인&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;보호 장치가 현재 어떻게 살아 있는지 점검해야 해요.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;4&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;이사 계획이 있으면 임차권등기 검토&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;보증금 보호를 유지한 채 다음 일정으로 넘어가려면 중요할 수 있어요.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;5&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;필요 시 보증보험 청구 또는 공식 절차 준비&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;시간만 보내면 불리해질 수 있어서 다음 단계 준비가 필요해요.&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  먼저 결론 | 보증금을 안 주면 기다리기만 하면 안 돼요
 &lt;/div&gt; 
&lt;/div&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;전세 만기가 됐는데도 집주인이 보증금을 바로 돌려주지 않는 상황은 생각보다 흔해요. 이때 가장 많이 하는 실수가 &lt;b&gt;&quot;조금만 더 기다려보자&quot; 하면서 기록 없이 시간을 보내는 것&lt;/b&gt;입니다. &lt;br&gt;&lt;br&gt;물론 실제 사정상 며칠 조율이 필요한 경우도 있지만, 임차인 입장에서는 &lt;b&gt;언제 계약이 끝났는지, 언제 반환을 요구했는지, 집주인이 어떤 답을 했는지&lt;/b&gt;를 남기면서 대응하는 것이 중요해요.&lt;/p&gt;&lt;div style=&quot;margin: 18px 0 24px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(245,158,11,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #92400e; margin-bottom: 10px;&quot;&gt;
  이 글의 핵심 기준
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;만기와 반환 요청 사실을 &lt;b&gt;증거로 남긴다&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;현재 내 보증금 보호 장치를 &lt;b&gt;다시 확인한다&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;이사 일정이 있다면 &lt;b&gt;보호를 잃지 않도록&lt;/b&gt; 절차를 먼저 본다&lt;/li&gt; 
  &lt;li&gt;집주인 말만 기다리지 말고 &lt;b&gt;다음 단계 준비&lt;/b&gt;를 병행한다&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.07);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  보증금을 안 돌려줄 때 먼저 해야 할 일
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;
  1. 계약이 끝난다는 사실과 반환 요구를 기록으로 남겨요
 &lt;/div&gt; 
 &lt;div style=&quot;color: #334155; line-height: 1.95; font-size: 15px;&quot;&gt;
  문자, 카카오톡, 이메일처럼 &lt;b&gt;증거가 남는 방식&lt;/b&gt;으로 계약 종료 의사와 보증금 반환 요청을 명확하게 남기는 것이 좋아요. 
  &lt;br&gt;
  &lt;br&gt;이미 구두로 여러 번 이야기했더라도, &lt;b&gt;기록이 남지 않으면 나중에 &quot;그런 말 들은 적 없다&quot;는 식의 다툼&lt;/b&gt;이 생길 수 있어요.
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;
  2. 집주인 답변과 약속 내용도 모두 저장해요
 &lt;/div&gt; 
 &lt;div style=&quot;color: #334155; line-height: 1.95; font-size: 15px;&quot;&gt;
  &quot;다음 주에 준다&quot;, &quot;새 세입자 구하면 준다&quot;, &quot;대출 나오면 준다&quot; 같은 답변도 모두 보관해 두는 것이 좋아요. 
  &lt;br&gt;
  &lt;br&gt;&lt;b&gt;언제 어떤 이유로 지연되고 있는지&lt;/b&gt;를 정리해 두면 이후 대응 판단이 훨씬 쉬워집니다.
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;
  3. 전입신고·확정일자·보증보험 상태를 다시 확인해요
 &lt;/div&gt; 
 &lt;div style=&quot;color: #334155; line-height: 1.95; font-size: 15px;&quot;&gt;
  이미 해둔 절차라도 지금 내 상황에서 보호 장치가 어떻게 연결되는지 다시 보는 것이 중요해요. 
  &lt;br&gt;
  &lt;br&gt;&lt;b&gt;특히 이사 계획이 있는 경우에는 섣불리 먼저 나가면 보호에 영향이 생길 수 있어&lt;/b&gt;서 더 조심해야 합니다.
 &lt;/div&gt; 
&lt;/div&gt;&lt;div id=&quot;code_coupang_realestate_return_1&quot; data-ke-type=&quot;html&quot; data-source=&quot;&lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&lt;/script&gt;&quot;&gt; 
 &lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt; 
 &lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  이사해야 한다면 | 임차권등기 검토가 중요한 이유
 &lt;/div&gt; 
&lt;/div&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;전세 만기 후 보증금을 못 받았는데도 직장, 학교, 다음 계약 때문에 이사를 해야 하는 경우가 많아요. 이때는 단순히 짐부터 빼는 것이 아니라 &lt;b&gt;현재 보호를 유지하면서 이동할 수 있는지&lt;/b&gt;를 먼저 봐야 합니다. &lt;br&gt;&lt;br&gt;이런 상황에서 많이 언급되는 것이 &lt;b&gt;임차권등기명령&lt;/b&gt;이에요. 이 부분은 실제 일정과 서류, 현재 주거 상태에 따라 판단이 달라질 수 있어서, 이사 전 단계에서 꼭 같이 검토하는 편이 좋아요.&lt;/p&gt;&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #bae6fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(56,189,248,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0369a1; margin-bottom: 10px;&quot;&gt;
  이런 경우 더 중요해요
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;다음 집 입주일이 이미 정해져 있어요&lt;/li&gt; 
  &lt;li&gt;현재 집에서 더 이상 거주하기 어려워요&lt;/li&gt; 
  &lt;li&gt;집주인이 계속 날짜만 미루고 있어요&lt;/li&gt; 
  &lt;li&gt;보증금을 받아야 다음 계약을 진행할 수 있어요&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #ef4444; background: #fff5f5; border-radius: 14px; box-shadow: 0 6px 18px rgba(239,68,68,0.07);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  이럴 땐 바로 다음 단계 준비가 필요해요
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(239,68,68,0.05);&quot;&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;&lt;b&gt;집주인이 연락은 되지만 계속 날짜만 미루는 경우&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;새 세입자 들어오면 준다고만 반복하는 경우&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;보증보험이 있는데도 청구 준비를 미루고 있는 경우&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;이사 일정이 다가오는데 반환 계획이 없는 경우&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;내용증명, 상담, 공식 절차를 계속 뒤로 미루는 경우&lt;/b&gt;&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #8b5cf6; background: #faf5ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(139,92,246,0.07);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  실전 체크리스트 | 만기 후 바로 챙길 것
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #ddd6fe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;계약 종료와 보증금 반환 요청을 문자·카톡·이메일 등으로 남겼는가&lt;/li&gt; 
  &lt;li&gt;집주인 답변과 약속 날짜를 기록해 두었는가&lt;/li&gt; 
  &lt;li&gt;전입신고·확정일자 상태를 다시 확인했는가&lt;/li&gt; 
  &lt;li&gt;전세보증보험 가입 여부와 청구 가능성을 확인했는가&lt;/li&gt; 
  &lt;li&gt;이사 계획이 있으면 임차권등기 검토를 시작했는가&lt;/li&gt; 
  &lt;li&gt;필요 시 내용증명 등 다음 단계 준비를 하고 있는가&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt; 
 &lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 30%; text-align: left; color: #1d4ed8;&quot;&gt;준비항목&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 38%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;왜 필요한가&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 32%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;실수 포인트&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;반환 요청 기록&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;언제 반환을 요구했는지 증명할 수 있어요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;전화로만 이야기하고 끝내는 경우&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;답변·약속 내용 저장&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;지연 사유와 약속 불이행 여부를 정리할 수 있어요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;말만 듣고 저장하지 않는 경우&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;보호 장치 확인&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;전입신고·확정일자·보험 상태를 다시 점검할 수 있어요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;이미 해뒀다는 이유로 점검을 안 하는 경우&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;이사 일정 정리&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;다음 대응 시점과 보호 절차 판단에 필요해요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;일정이 급한데도 공식 절차를 늦추는 경우&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt;&lt;div id=&quot;code_coupang_realestate_return_2&quot; data-ke-type=&quot;html&quot; data-source=&quot;&lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&lt;/script&gt;&quot;&gt; 
 &lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt; 
 &lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
  FAQ
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;&lt;b&gt;Q. 전세 만기인데 집주인이 조금만 기다려달라고 하면 기다려야 하나요?&lt;/b&gt;&lt;br&gt;→ 조율은 가능하지만, &lt;b&gt;반환 요청과 답변은 반드시 기록으로 남겨야&lt;/b&gt; 해요. 기록 없이 기다리기만 하면 불리해질 수 있습니다.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q. 이사를 나가야 하는데 보증금을 못 받으면 어떻게 하나요?&lt;/b&gt;&lt;br&gt;→ 이사 전에 현재 보호를 어떻게 유지할지 먼저 봐야 해요. 이런 상황에서는 &lt;b&gt;임차권등기 검토&lt;/b&gt;가 중요할 수 있습니다.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q. 전세보증보험이 있으면 바로 도움을 받을 수 있나요?&lt;/b&gt;&lt;br&gt;→ 가입 상태와 청구 요건을 먼저 확인해야 해요. 보험이 있다면 일반 대응과 함께 청구 준비도 병행하는 편이 좋습니다.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q. 꼭 내용증명으로 보내야 하나요?&lt;/b&gt;&lt;br&gt;→ 방식이 하나로 고정된 것은 아니지만, &lt;b&gt;증거가 남는 방식&lt;/b&gt;이 유리해요. 필요하면 내용증명도 검토할 수 있습니다.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  결론 | 전세 보증금 미반환은 &quot;버티기&quot;보다 &quot;기록과 절차&quot;가 중요해요
 &lt;/div&gt; 
&lt;/div&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;전세 만기 후 보증금을 못 받으면 먼저 계약 종료와 반환 요청을 기록으로 남겨야 해요.&lt;/li&gt;&lt;li&gt;집주인 답변, 지연 사유, 약속 날짜를 모두 저장하면서 다음 대응을 준비해야 합니다.&lt;/li&gt;&lt;li&gt;&lt;b&gt;이사 일정이 있으면 보호 장치를 잃지 않도록 임차권등기와 같은 절차도 빠르게 검토&lt;/b&gt;해야 해요.&lt;/li&gt;&lt;li&gt;전세보증보험이 있다면 일반 반환 요구와 함께 청구 가능성도 같이 확인하는 편이 좋습니다.&lt;/li&gt;&lt;/ul&gt;&lt;blockquote data-ke-style=&quot;style1&quot;&gt;전세 보증금 미반환 상황에서는 감정적으로 다투는 것보다, 반환 요구를 기록으로 남기고 보호 절차를 먼저 챙기는 것이 훨씬 중요해요.&lt;/blockquote&gt;&lt;div style=&quot;margin: 24px 0 0; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
  관련 글 링크
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/report-move-in-and-fixed-date-difference-guide&quot;&gt;전입신고와 확정일자 차이 | 왜 둘 다 중요한가&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/jeonse-guarantee-insurance-eligibility-limit-rejection-guide&quot;&gt;전세보증보험 가입 조건 총정리 | 가입 가능 주택·보증금 한도·거절 사례까지&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/jeonse-contract-checklist-beginners-mistake-prevention-guide&quot;&gt;전세 계약 전 꼭 확인해야 할 체크리스트 | 초보자용 실수 방지 가이드&lt;/a&gt;&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;※ 참고: 실제 보증금 반환 분쟁의 대응 수단과 시점은 계약 갱신 여부, 거주 상태, 보험 가입 여부, 퇴거 일정 등에 따라 달라질 수 있어요. 중요한 일정이 겹쳐 있다면 기록을 남기면서 현재 보호 상태를 먼저 확인하는 것이 안전합니다.&lt;/p&gt;</description>
      <category>부동산/매매&amp;middot;전세&amp;middot;월세</category>
      <category>내용증명</category>
      <category>보증금 반환 대응</category>
      <category>보증금 안돌려줄때</category>
      <category>임차권등기명령</category>
      <category>전세 만기</category>
      <category>전세 만기 보증금</category>
      <category>전세보증금 반환</category>
      <category>전세보증보험</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/139</guid>
      <comments>https://trace90.tistory.com/entry/jeonse-deposit-not-returned-at-maturity-response-guide#entry139comment</comments>
      <pubDate>Thu, 16 Apr 2026 16:25:44 +0900</pubDate>
    </item>
    <item>
      <title>가계약금 먼저 보내도 될까? 전세 계약 전 꼭 알아야 할 주의사항</title>
      <link>https://trace90.tistory.com/entry/jeonse-pre-contract-deposit-warning-guide</link>
      <description>&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #fefce8 100%); box-shadow: 0 10px 28px rgba(245,158,11,0.08);&quot;&gt; 
 &lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
   핵심 요약 
 &lt;/div&gt; 
 &lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt; 
  &lt;div&gt; &lt;b&gt;이 글에서 바로 볼 것&lt;/b&gt; 전세 가계약금은 언제 위험하고, 무엇을 확인한 뒤 보내야 하는지 핵심 기준 
  &lt;/div&gt; 
  &lt;div&gt; &lt;b&gt;판단 기준&lt;/b&gt; 소유자 확인, 권리관계, 가계약 조건 문구, 송금 대상, 환불 기준, 본계약 일정 
  &lt;/div&gt; 
  &lt;div&gt; &lt;b&gt;체크해야 할 항목&lt;/b&gt; 계좌 명의, 문자·메신저 기록, 취소 시 처리 기준, 계약 전 필수 서류 
  &lt;/div&gt; 
  &lt;div&gt; &lt;b&gt;핵심 결론&lt;/b&gt; &lt;b&gt;조건이 불명확한 상태에서 가계약금부터 보내는 것은 가장 위험한 실수 중 하나&lt;/b&gt;예요. 먼저 확인하고, 기록을 남기고, 기준을 정한 뒤 보내야 합니다. 
  &lt;/div&gt; 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
   한눈에 보는 기준 | 가계약금은 이 기준 없이 보내면 안 돼요 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt; 
 &lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 22%; text-align: left; color: #1d4ed8;&quot;&gt;항목&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 40%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;확인 기준&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 38%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;위험 신호&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;보내는 대상&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;소유자 또는 권한이 확인된 상대인지 봐야 해요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;계좌 명의가 다르거나 설명이 애매해요.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;가계약 조건&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;금액, 목적, 본계약 일정, 취소 시 처리 기준이 남아 있어야 해요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;&quot;일단 보내세요&quot;만 있고 조건이 없어요.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;권리관계&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;등기부등본과 소유자, 근저당 등 기본 위험을 먼저 봐야 해요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;서류 확인 전 송금을 재촉해요.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;환불 기준&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;누가 취소하면 어떻게 되는지 문구가 있어야 해요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;반환 여부 답변이 계속 바뀌어요.&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
   먼저 결론 | 가계약금은 &quot;보내도 되나&quot;보다 &lt;span style=&quot;color: #dc2626;&quot;&gt;언제 보내면 안 되나&lt;/span&gt;를 먼저 봐야 해요 
 &lt;/div&gt; 
&lt;/div&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;전세 계약에서 가계약금은 매물을 잡기 위해 먼저 일부 금액을 보내는 형태로 많이 쓰이지만, &lt;b&gt;조건이 정리되지 않은 상태에서 먼저 보내면 분쟁이 생기기 쉬운 돈&lt;/b&gt;이기도 해요. &lt;br&gt;&lt;br&gt;특히 소유자 확인도 안 됐고, 등기부등본도 안 봤고, 취소 시 처리 기준도 없는 상태에서 &quot;일단 보내면 잡아드릴게요&quot;라는 말만 믿고 송금하는 건 매우 위험합니다.&lt;/p&gt;&lt;div style=&quot;margin: 18px 0 24px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(245,158,11,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #92400e; margin-bottom: 10px;&quot;&gt;
   핵심 판단 기준 
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;&lt;b&gt;확인 없이 먼저 보내는 돈&lt;/b&gt;이면 위험해요.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;기록 없이 보내는 돈&lt;/b&gt;이면 더 위험해요.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;환불 기준 없이 보내는 돈&lt;/b&gt;이면 분쟁 가능성이 매우 커져요.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.07);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
   가계약금 보내기 전 꼭 확인해야 할 주의사항 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;
   1. 등기부등본과 소유자를 먼저 확인해요 
 &lt;/div&gt; 
 &lt;div style=&quot;color: #334155; line-height: 1.95; font-size: 15px;&quot;&gt;
   가계약금은 본계약 전 단계지만, 돈이 오가는 순간부터 분쟁 가능성이 생겨요. 
  &lt;br&gt; 
  &lt;br&gt;따라서 최소한 &lt;b&gt;등기부등본 최신본으로 소유자가 누구인지&lt;/b&gt;, &lt;b&gt;권리관계에 큰 위험은 없는지&lt;/b&gt; 먼저 확인한 뒤 판단해야 합니다. 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;
   2. 누구에게 보내는 돈인지 분명해야 해요 
 &lt;/div&gt; 
 &lt;div style=&quot;color: #334155; line-height: 1.95; font-size: 15px;&quot;&gt;
   송금 계좌 명의가 소유자와 다르거나, 대리인 계좌인데 설명이 애매하면 바로 멈춰야 해요. 
  &lt;br&gt; 
  &lt;br&gt;&lt;b&gt;계좌 명의가 왜 다른지 설명이 불명확한 상태에서 먼저 송금하는 것은 위험&lt;/b&gt;합니다. 대리인 계약이면 권한 확인이 먼저예요. 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;
   3. 가계약 조건을 문자나 메신저로라도 남겨야 해요 
 &lt;/div&gt; 
 &lt;div style=&quot;color: #334155; line-height: 1.95; font-size: 15px;&quot;&gt;
   가계약금 금액, 어떤 매물인지, 본계약 예정일, 취소 시 처리 기준은 최소한 기록으로 남겨야 합니다. 
  &lt;br&gt; 
  &lt;br&gt;&lt;b&gt;&quot;어느 집을 얼마에 잡기 위한 가계약금인지&quot;가 남아 있지 않으면&lt;/b&gt; 나중에 분쟁에서 매우 불리할 수 있어요. 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div id=&quot;code_coupang_realestate_deposit_1&quot; data-ke-type=&quot;html&quot; data-source=&quot;&lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&lt;/script&gt;&quot;&gt; 
 &lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt; 
 &lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;
   4. 환불 기준을 먼저 정하지 않으면 문제가 생겨요 
 &lt;/div&gt; 
 &lt;div style=&quot;color: #334155; line-height: 1.95; font-size: 15px;&quot;&gt;
   가장 많이 다투는 부분이 바로 반환 문제예요. 
  &lt;br&gt; 
  &lt;br&gt;임차인이 단순 변심하면 어떻게 되는지, 집주인 쪽 문제로 본계약이 안 되면 어떻게 되는지, 권리관계 이상이 발견되면 반환되는지 같은 기준이 미리 정리돼야 합니다. 
  &lt;br&gt; 
  &lt;br&gt;&lt;b&gt;반환 기준이 없는 가계약금은 나중에 &quot;돌려준다&quot;, &quot;못 돌려준다&quot; 싸움으로 번지기 쉬워요.&lt;/b&gt; 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;
   5. 본계약 전에 꼭 확인할 서류가 남아 있다면 먼저 보내지 않는 편이 좋아요 
 &lt;/div&gt; 
 &lt;div style=&quot;color: #334155; line-height: 1.95; font-size: 15px;&quot;&gt;
   등기부등본, 소유자 확인, 대리권 확인, 특약 협의, 보증보험 가능 여부 같은 핵심 체크가 아직 안 끝났다면 가계약금을 서두를 이유가 없어요. 
  &lt;br&gt; 
  &lt;br&gt;&lt;b&gt;확인해야 할 핵심이 많이 남아 있을수록 가계약금 리스크는 커집니다.&lt;/b&gt; 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #ef4444; background: #fff5f5; border-radius: 14px; box-shadow: 0 6px 18px rgba(239,68,68,0.07);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
   이럴 땐 가계약금부터 보내면 안 돼요 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(239,68,68,0.05);&quot;&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;&lt;b&gt;등기부등본도 안 봤는데 송금부터 재촉할 때&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;소유자와 계좌 명의가 다른데 설명이 애매할 때&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;대리인이 나오는데 권한 확인이 안 될 때&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;환불 조건을 말로만 하고 기록을 남기지 않을 때&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;보증보험 가능 여부나 특약 협의가 아직 안 끝났을 때&lt;/b&gt;&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
   체크리스트 | 정말 보내야 한다면 최소한 이것은 남겨야 해요 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #bae6fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(56,189,248,0.06);&quot;&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;어느 매물인지 주소와 동호수 수준으로 특정했는가&lt;/li&gt; 
  &lt;li&gt;가계약금 금액과 본계약 예정일이 남아 있는가&lt;/li&gt; 
  &lt;li&gt;취소 시 반환 기준을 기록으로 남겼는가&lt;/li&gt; 
  &lt;li&gt;송금 상대와 계좌 명의가 누구인지 확인했는가&lt;/li&gt; 
  &lt;li&gt;등기부등본과 소유자 확인을 마쳤는가&lt;/li&gt; 
  &lt;li&gt;본계약 전 확인할 필수 사항이 무엇인지 정리했는가&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt; 
 &lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; color: #1d4ed8;&quot;&gt;준비항목&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 40%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;왜 필요한가&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 32%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;실수 포인트&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;등기부등본 최신본&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;소유자와 권리관계를 최소한으로 확인할 수 있어요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;매물만 보고 바로 송금하는 경우&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;문자·메신저 기록&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;가계약 조건과 반환 기준을 남길 수 있어요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;통화로만 합의하고 기록이 없는 경우&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;계좌 명의 확인&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;누구에게 어떤 명목으로 보냈는지 분명해져요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;명의가 다른데 이유를 안 따지는 경우&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;본계약 일정과 특약 정리&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;가계약이 본계약으로 이어질 기준을 분명히 할 수 있어요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;가계약만 하고 다음 단계가 없는 경우&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt;&lt;div id=&quot;code_coupang_realestate_deposit_2&quot; data-ke-type=&quot;html&quot; data-source=&quot;&lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&lt;/script&gt;&quot;&gt; 
 &lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt; 
 &lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
   FAQ 
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;&lt;b&gt;Q. 가계약금은 무조건 보내면 안 되나요?&lt;/b&gt;&lt;br&gt;→ 무조건 안 된다고 단정할 수는 없지만, &lt;b&gt;조건 확인과 기록 없이 보내는 것은 매우 위험&lt;/b&gt;해요.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q. 가계약금 보내면 무조건 돌려받기 어렵나요?&lt;/b&gt;&lt;br&gt;→ 상황에 따라 다르지만, 반환 기준을 미리 정하지 않으면 분쟁이 생기기 쉬워요.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q. 중개사가 괜찮다고 하면 믿어도 되나요?&lt;/b&gt;&lt;br&gt;→ 중개사 설명은 참고가 될 수 있어도, 소유자 확인·조건 기록·권리관계 확인은 직접 챙기는 편이 안전합니다.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q. 가계약금 보내기 전 가장 먼저 확인할 것은 무엇인가요?&lt;/b&gt;&lt;br&gt;→ 소유자 확인, 등기부등본, 송금 대상, 환불 기준 이 네 가지를 먼저 보세요.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
   결론 | 가계약금은 빨리 보내는 것보다 안전하게 보내는 게 더 중요해요 
 &lt;/div&gt; 
&lt;/div&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;전세 가계약금은 조건 없이 먼저 보내면 분쟁이 생기기 쉬워요.&lt;/li&gt;&lt;li&gt;소유자, 권리관계, 송금 대상, 반환 기준, 본계약 일정을 먼저 확인해야 해요.&lt;/li&gt;&lt;li&gt;&lt;b&gt;서류 확인도 안 됐는데 가계약금부터 보내라고 하면 일단 멈추는 것이 맞습니다.&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;blockquote data-ke-style=&quot;style1&quot;&gt;가계약금은 매물을 잡는 돈이기 전에, 확인되지 않은 계약 위험을 먼저 떠안는 돈이 될 수 있어요.&lt;/blockquote&gt;&lt;div style=&quot;margin: 24px 0 0; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
   관련 글 링크 
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/jeonse-contract-checklist-beginners-mistake-prevention-guide&quot;&gt;전세 계약 전 꼭 확인해야 할 체크리스트 | 초보자용 실수 방지 가이드&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/landlord-agent-contract-6-checkpoints-guide&quot;&gt;집주인 대신 대리인이 나오면 꼭 확인해야 할 6가지 | 전세계약 체크리스트&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/jeonse-fraud-prevention-7-warning-signs-checklist-guide&quot;&gt;전세사기 안 당하는 법 | 전세계약 전 꼭 봐야 할 위험 신호 7가지&lt;/a&gt;&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;※ 참고: 가계약금의 법적 평가와 반환 판단은 실제 합의 문구, 송금 경위, 당사자 사정에 따라 달라질 수 있어요. 실제 계약 전에는 기록을 남기고, 중요한 조건은 문구로 분명하게 정리하는 것이 안전합니다.&lt;/p&gt;</description>
      <category>부동산/매매&amp;middot;전세&amp;middot;월세</category>
      <category>가계약금</category>
      <category>가계약금 반환</category>
      <category>부동산 계약</category>
      <category>전세 가계약금</category>
      <category>전세 계약 주의사항</category>
      <category>전세 계약 체크리스트</category>
      <category>전세 계약금</category>
      <category>전세사기 예방</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/138</guid>
      <comments>https://trace90.tistory.com/entry/jeonse-pre-contract-deposit-warning-guide#entry138comment</comments>
      <pubDate>Thu, 16 Apr 2026 14:40:55 +0900</pubDate>
    </item>
    <item>
      <title>집주인 대신 대리인이 나오면 꼭 확인해야 할 6가지 | 전세계약 체크리스트</title>
      <link>https://trace90.tistory.com/entry/landlord-agent-contract-6-checkpoints-guide</link>
      <description>&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #fefce8 100%); box-shadow: 0 10px 28px rgba(245,158,11,0.08);&quot;&gt; 
 &lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
  핵심 요약
 &lt;/div&gt; 
 &lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt; 
  &lt;div&gt;
   &lt;b&gt;이 글에서 바로 볼 것&lt;/b&gt; 집주인 대신 대리인이 나왔을 때 계약 전에 꼭 확인해야 할 핵심 6가지
  &lt;/div&gt; 
  &lt;div&gt;
   &lt;b&gt;판단 기준&lt;/b&gt; 소유자 일치 여부, 대리권 증빙, 위임 범위, 신분 확인, 계약서 문구, 보증금 보호 절차
  &lt;/div&gt; 
  &lt;div&gt;
   &lt;b&gt;체크해야 할 항목&lt;/b&gt; 대리인이라고 해서 바로 위험한 것은 아니지만, &lt;b&gt;권한 증빙이 불명확하면 계약을 멈춰야 해요.&lt;/b&gt;
  &lt;/div&gt; 
  &lt;div&gt;
   &lt;b&gt;핵심 결론&lt;/b&gt; 대리인 계약의 핵심은 친분 설명이 아니라 &lt;b&gt;실제 권한이 있는 사람인지 서류로 확인하는 것&lt;/b&gt;입니다.
  &lt;/div&gt; 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  한눈에 보는 기준 | 대리인 계약은 이 6가지만 먼저 보세요
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt; 
 &lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 18%; text-align: left; color: #1d4ed8;&quot;&gt;구분&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 44%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;무엇을 확인하나&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 38%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;왜 중요한가&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;1&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;등기상 소유자와 집주인 정보 확인&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;대리인이 실제 소유자를 대신하는 상황인지 먼저 확인해야 해요.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;2&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;대리권을 증명할 서류 확인&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;구두 설명만으로는 계약 권한을 판단할 수 없어요.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;3&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;대리인의 신분과 소유자 연결 확인&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;동명이인, 허위 설명, 관계 오인을 줄일 수 있어요.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;4&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;위임 범위와 계약 내용 확인&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;계약 체결, 보증금 수령, 특약 합의까지 가능한지 봐야 해요.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;5&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;계약서에 소유자·대리인 정보 정확히 기재&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;나중에 분쟁이 생겼을 때 책임 관계를 분명히 할 수 있어요.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;6&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;전입신고·확정일자·보증보험 가능 여부까지 확인&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;대리인 계약도 결국 보증금 보호가 최종 목적이에요.&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  왜 위험할까 | 대리인이 나온다는 사실보다 &lt;span style=&quot;color: #dc2626;&quot;&gt;권한이 증명되지 않는 상황&lt;/span&gt;이 문제예요
 &lt;/div&gt; 
&lt;/div&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;집주인 대신 가족, 직원, 지인, 법인 담당자처럼 대리인이 계약 현장에 나오는 경우 자체는 드문 일이 아니에요. 문제는 그 사람이 &lt;b&gt;정말 계약을 체결할 권한이 있는지&lt;/b&gt;, 그리고 &lt;b&gt;보증금 수령과 특약 합의까지 할 수 있는지&lt;/b&gt;가 불분명한 상태로 계약이 진행될 때입니다.&lt;/p&gt;&lt;div style=&quot;margin: 18px 0 24px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(245,158,11,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #92400e; margin-bottom: 10px;&quot;&gt;
  먼저 기억할 기준
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;&quot;가족이라서 괜찮다&quot;는 말은 확인이 아니라 설명일 뿐이에요.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;대리인 계약은 반드시 서류와 정보 일치로 판단&lt;/b&gt;해야 합니다.&lt;/li&gt; 
  &lt;li&gt;애매하면 계약을 미루는 것이 정상적인 대응이에요.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.07);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  꼭 확인해야 할 6가지
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;
  1. 등기부등본상 소유자와 실제 집주인 정보를 먼저 확인해요
 &lt;/div&gt; 
 &lt;div style=&quot;color: #334155; line-height: 1.95; font-size: 15px;&quot;&gt;
  계약 전에 등기부등본 최신본을 보고 현재 소유자가 누구인지 먼저 확인해야 해요. 
  &lt;br&gt;
  &lt;br&gt;대리인이 아무리 자연스럽게 설명해도 &lt;b&gt;등기상 소유자와 연결이 안 되면 계약 판단 자체를 멈춰야 합니다.&lt;/b&gt;
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;
  2. 대리권을 증명할 서류가 있는지 확인해요
 &lt;/div&gt; 
 &lt;div style=&quot;color: #334155; line-height: 1.95; font-size: 15px;&quot;&gt;
  가장 중요한 포인트는 &lt;b&gt;이 사람이 실제로 계약을 대신할 권한이 있는가&lt;/b&gt;예요. 
  &lt;br&gt;
  &lt;br&gt;실무에서는 보통 &lt;b&gt;위임 관계를 확인할 수 있는 자료와 신분 확인 자료&lt;/b&gt;를 함께 봐야 안전합니다. 서류 제시를 계속 미루거나 사진만 보여주고 원본 확인을 피하면 경계해야 해요.
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;
  3. 대리인의 신분과 소유자와의 연결을 확인해요
 &lt;/div&gt; 
 &lt;div style=&quot;color: #334155; line-height: 1.95; font-size: 15px;&quot;&gt;
  대리인의 이름, 연락처, 신분 정보가 계약서와 설명 내용에 일치하는지 봐야 합니다. 
  &lt;br&gt;
  &lt;br&gt;특히 &lt;b&gt;소유자 연락이 전혀 안 되고, 대리인만 모든 답을 하는 구조&lt;/b&gt;라면 더 신중하게 봐야 해요. 최소한 소유자와 연결되는 설명 구조가 자연스러워야 합니다.
 &lt;/div&gt; 
&lt;/div&gt;&lt;div id=&quot;code_coupang_realestate_agent_1&quot; data-ke-type=&quot;html&quot; data-source=&quot;&lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&lt;/script&gt;&quot;&gt; 
 &lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt; 
 &lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;
  4. 위임 범위가 어디까지인지 확인해요
 &lt;/div&gt; 
 &lt;div style=&quot;color: #334155; line-height: 1.95; font-size: 15px;&quot;&gt;
  단순 설명만 대신하는 것과 계약 체결, 계약금·보증금 수령, 특약 합의까지 가능한 것은 전혀 다른 문제예요. 
  &lt;br&gt;
  &lt;br&gt;따라서 &lt;b&gt;대리인이 어디까지 결정하고 서명할 수 있는지&lt;/b&gt;를 분명히 확인해야 합니다. 범위가 애매하면 계약서 작성 단계에서 문제가 생길 수 있어요.
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;
  5. 계약서에는 소유자와 대리인 정보를 정확히 적어요
 &lt;/div&gt; 
 &lt;div style=&quot;color: #334155; line-height: 1.95; font-size: 15px;&quot;&gt;
  계약서에 소유자 정보, 대리인 정보, 서명 주체가 뒤섞이면 나중에 책임관계가 불명확해질 수 있어요. 
  &lt;br&gt;
  &lt;br&gt;&lt;b&gt;누가 임대인인지, 누가 대리인인지, 어떤 권한으로 서명하는지&lt;/b&gt;가 문서상으로 분명해야 합니다.
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;
  6. 보증금 보호 절차까지 같이 확인해요
 &lt;/div&gt; 
 &lt;div style=&quot;color: #334155; line-height: 1.95; font-size: 15px;&quot;&gt;
  대리인 계약이든 직접 계약이든 결국 중요한 것은 &lt;b&gt;내 보증금을 안전하게 보호할 수 있느냐&lt;/b&gt;예요. 
  &lt;br&gt;
  &lt;br&gt;전입신고, 확정일자, 보증보험 가능 여부, 잔금 전 권리변동 금지 특약까지 함께 봐야 계약이 완성됩니다.
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #ef4444; background: #fff5f5; border-radius: 14px; box-shadow: 0 6px 18px rgba(239,68,68,0.07);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  이럴 땐 계약을 바로 멈춰야 해요
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(239,68,68,0.05);&quot;&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;&lt;b&gt;소유자 이름과 설명이 자꾸 바뀌는 경우&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;대리권 증빙 서류 확인을 계속 미루는 경우&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;계약금부터 먼저 보내라고 압박하는 경우&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;보증보험 협조나 특약 문구를 꺼리는 경우&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;등기부등본, 계약서, 신분 정보가 서로 맞지 않는 경우&lt;/b&gt;&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  체크리스트 | 계약 직전에 바로 확인할 것
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #bae6fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(56,189,248,0.06);&quot;&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;등기부등본 최신본으로 소유자를 다시 확인했는가&lt;/li&gt; 
  &lt;li&gt;대리권을 설명하는 서류와 신분 확인 자료를 봤는가&lt;/li&gt; 
  &lt;li&gt;대리인이 계약 체결과 보증금 수령까지 가능한지 확인했는가&lt;/li&gt; 
  &lt;li&gt;계약서에 소유자와 대리인 정보가 정확히 들어가는가&lt;/li&gt; 
  &lt;li&gt;권리변동 금지, 보증보험 협조 같은 특약을 넣는가&lt;/li&gt; 
  &lt;li&gt;전입신고·확정일자·보증보험 계획까지 세웠는가&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt; 
 &lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; color: #1d4ed8;&quot;&gt;준비항목&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 40%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;왜 필요한가&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 32%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;실수 포인트&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;등기부등본 최신본&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;소유자와 권리관계를 계약 직전 기준으로 확인할 수 있어요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;이전 출력본만 믿고 넘어가는 경우&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;대리권 증빙 자료&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;대리인이 실제로 계약할 권한이 있는지 판단할 수 있어요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;구두 설명만 듣고 진행하는 경우&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;계약서 기재 방식&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;소유자와 대리인 책임 범위를 문서상으로 남길 수 있어요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;누가 서명 주체인지 애매한 경우&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;보증금 보호 계획&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;계약 후 보호 절차를 바로 이어갈 수 있어요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;계약만 하고 나중에 챙기려는 경우&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt;&lt;div id=&quot;code_coupang_realestate_agent_2&quot; data-ke-type=&quot;html&quot; data-source=&quot;&lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&lt;/script&gt;&quot;&gt; 
 &lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt; 
 &lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
  FAQ
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;&lt;b&gt;Q. 집주인 대신 가족이 나오면 바로 위험한가요?&lt;/b&gt;&lt;br&gt;→ 무조건 위험하다고 볼 수는 없어요. 다만 &lt;b&gt;가족이라는 설명만으로는 충분하지 않고&lt;/b&gt;, 실제 대리권과 계약 권한 확인이 필요합니다.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q. 대리인이 계약금이나 보증금을 받아도 되나요?&lt;/b&gt;&lt;br&gt;→ 핵심은 그 범위까지 권한이 확인되는지예요. &lt;b&gt;수령 권한이 불분명하면 송금부터 멈춰야 합니다.&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q. 공인중개사가 있으니 안심해도 되나요?&lt;/b&gt;&lt;br&gt;→ 중개사가 있어도 임차인이 소유자, 대리권, 계약서 내용을 직접 확인하는 과정은 꼭 필요해요.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q. 대리인 계약일 때 더 챙겨야 할 것은 무엇인가요?&lt;/b&gt;&lt;br&gt;→ 소유자 일치 여부, 대리권 증빙, 위임 범위, 계약서 기재 방식, 보증금 보호 절차를 함께 봐야 합니다.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  결론 | 대리인 계약은 서류가 명확하면 가능하지만, 애매하면 미루는 것이 맞아요
 &lt;/div&gt; 
&lt;/div&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;대리인이 나왔다고 무조건 위험한 것은 아니지만, &lt;b&gt;권한 증빙이 불분명하면 계약을 진행하면 안 됩니다.&lt;/b&gt;&lt;/li&gt;&lt;li&gt;소유자 확인, 대리권 확인, 위임 범위 확인, 계약서 기재, 보증금 보호 절차까지 이어져야 안전해요.&lt;/li&gt;&lt;li&gt;설명이 아니라 &lt;b&gt;서류와 정보 일치&lt;/b&gt;로 판단하는 습관이 가장 중요합니다.&lt;/li&gt;&lt;/ul&gt;&lt;blockquote data-ke-style=&quot;style1&quot;&gt;집주인 대신 대리인이 나온 계약은 &quot;괜찮다더라&quot;가 아니라, &lt;b&gt;정말 계약할 권한이 있는가&lt;/b&gt;를 확인했을 때만 안전해요.&lt;/blockquote&gt;&lt;div style=&quot;margin: 24px 0 0; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
  관련 글 링크
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/how-to-read-real-estate-register-before-contract-guide&quot;&gt;등기부등본 보는법 | 매매·전세·월세 계약 전 꼭 확인할 핵심 정리&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/jeonse-fraud-prevention-7-warning-signs-checklist-guide&quot;&gt;전세사기 안 당하는 법 | 전세계약 전 꼭 봐야 할 위험 신호 7가지&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/jeonse-guarantee-insurance-eligibility-limit-rejection-guide&quot;&gt;전세보증보험 가입 조건 총정리 | 가입 가능 주택·보증금 한도·거절 사례까지&lt;/a&gt;&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;※ 참고: 대리인 계약의 세부 확인 서류와 요구 방식은 거래 상황, 중개 방식, 상대방 형태(개인/법인)에 따라 달라질 수 있어요. 실제 계약 전에는 최신 서류와 정보 일치 여부를 반드시 다시 확인하는 것이 안전합니다.&lt;/p&gt;</description>
      <category>부동산/매매&amp;middot;전세&amp;middot;월세</category>
      <category>대리인 계약 주의사항</category>
      <category>부동산 계약</category>
      <category>위임장 확인</category>
      <category>임대차계약</category>
      <category>전세 계약 체크리스트</category>
      <category>전세계약 대리인</category>
      <category>전세사기 예방</category>
      <category>집주인 대신 대리인</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/137</guid>
      <comments>https://trace90.tistory.com/entry/landlord-agent-contract-6-checkpoints-guide#entry137comment</comments>
      <pubDate>Thu, 16 Apr 2026 14:00:34 +0900</pubDate>
    </item>
    <item>
      <title>전세사기 안 당하는 법 | 전세계약 전 꼭 봐야 할 위험 신호 7가지</title>
      <link>https://trace90.tistory.com/entry/jeonse-fraud-prevention-7-warning-signs-checklist-guide</link>
      <description>&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #fefce8 100%); box-shadow: 0 10px 28px rgba(245,158,11,0.08);&quot;&gt; 
 &lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
  핵심 요약
 &lt;/div&gt; 
 &lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt; 
  &lt;div&gt;
   &lt;b&gt;이 글에서 바로 볼 것&lt;/b&gt; 전세사기 위험을 계약 전에 걸러내는 대표 신호 7가지
  &lt;/div&gt; 
  &lt;div&gt;
   &lt;b&gt;판단 기준&lt;/b&gt; 등기부등본, 집주인 확인, 선순위 권리, 시세, 보증보험 가능 여부, 계약 압박 여부
  &lt;/div&gt; 
  &lt;div&gt;
   &lt;b&gt;체크해야 할 항목&lt;/b&gt; 계약 직전 다시 봐야 할 서류와 바로 멈춰야 하는 상황
  &lt;/div&gt; 
  &lt;div&gt;
   &lt;b&gt;핵심 결론&lt;/b&gt; 전세사기는 집이 좋아 보여도 계약 구조가 위험하면 언제든 발생할 수 있어서, 예쁜 집보다 보증금 회수 가능성을 먼저 봐야 해요.
  &lt;/div&gt; 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  한눈에 보는 기준 | 전세사기 위험은 이렇게 판단해요
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt; 
 &lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 20%; text-align: left; color: #1d4ed8;&quot;&gt;구분&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 42%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;위험 신호&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 38%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;바로 확인할 것&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;권리관계&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;등기부등본에 근저당·가압류·압류가 많거나 최근 변동이 잦아요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;계약 직전 최신본 재확인, 소유자 일치 여부 확인&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;계약 상대&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;집주인이 아닌 대리인이 나오는데 설명이 불명확해요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;위임 관계, 신분, 연락처, 소유자 확인&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;가격 구조&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;전세가가 주변 매매가와 너무 가깝거나 과하게 높아요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;실거래가·매물 시세 비교, 전세가율 점검&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;보증금 보호&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;보증보험 가입 가능 여부 답변이 애매하거나 확인을 미뤄요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;가입 가능 조건, 협조 여부, 거절 사유 확인&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;계약 태도&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;오늘 안 하면 놓친다며 계약을 과하게 재촉해요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;서류 확보 전 계약 중단, 재검토&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  위험 신호 7가지 | 이런 말과 상황이 나오면 한 번 더 멈춰야 해요
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 24px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(245,158,11,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #92400e; margin-bottom: 10px;&quot;&gt;
  먼저 기억할 기준
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;전세사기는 보통 한 가지 신호보다 여러 개의 작은 이상 신호가 겹쳐서 나타나요.&lt;/li&gt; 
  &lt;li&gt;중개사 설명, 집 상태, 집주인 말보다 먼저 봐야 하는 것은 서류와 보증금 회수 구조예요.&lt;/li&gt; 
  &lt;li&gt;애매하면 계약을 늦추는 것이 손해가 아니라 보증금을 지키는 방법입니다.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(239,68,68,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #7f1d1d; margin-bottom: 10px;&quot;&gt;
  1. 등기부등본에 근저당·가압류·압류 흔적이 복잡해요
 &lt;/div&gt; 
 &lt;div style=&quot;color: #334155; line-height: 1.95; font-size: 15px;&quot;&gt;
  전세사기 위험을 볼 때 가장 먼저 봐야 하는 것이 등기부등본입니다. 근저당이 이미 크거나, 가압류·압류·경매 관련 흔적이 보인다면 보증금 회수 순서가 불리해질 수 있어요. 
  &lt;br&gt;
  &lt;br&gt;특히 계약 직전 다시 확인했을 때 권리관계가 바뀌었다면 더 주의해야 합니다.
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(239,68,68,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #7f1d1d; margin-bottom: 10px;&quot;&gt;
  2. 집주인과 계약 상대가 다르거나 대리인 설명이 애매해요
 &lt;/div&gt; 
 &lt;div style=&quot;color: #334155; line-height: 1.95; font-size: 15px;&quot;&gt;
  실제 소유자가 아닌 사람이 계약을 진행하는데도 위임관계 설명이 불분명하면 바로 재확인해야 해요. 
  &lt;br&gt;
  &lt;br&gt;단순히 &quot;가족이 대신 나왔어요&quot;라는 말만으로 넘어가면 안 됩니다. 등기상 소유자와 계약 상대가 왜 다른지, 실제 권한이 있는지 명확해야 합니다.
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(239,68,68,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #7f1d1d; margin-bottom: 10px;&quot;&gt;
  3. 전세가가 주변 매매가와 너무 비슷하거나 과하게 높아요
 &lt;/div&gt; 
 &lt;div style=&quot;color: #334155; line-height: 1.95; font-size: 15px;&quot;&gt;
  전세보증금이 주변 매매가와 큰 차이가 없으면, 나중에 집이 처분돼도 보증금을 온전히 돌려받기 어려울 수 있어요. 
  &lt;br&gt;
  &lt;br&gt;집이 신축이거나 내부가 깔끔해 보여도 안심할 일은 아닙니다. 실거래가와 현재 매물 가격, 같은 단지·인근 유사 매물 전세가를 같이 비교해야 해요.
 &lt;/div&gt; 
&lt;/div&gt;&lt;div id=&quot;code_coupang_realestate_5&quot; data-ke-type=&quot;html&quot; data-source=&quot;&lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&lt;/script&gt;&quot;&gt; 
 &lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt; 
 &lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(239,68,68,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #7f1d1d; margin-bottom: 10px;&quot;&gt;
  4. 보증보험 가입 가능 여부를 명확하게 말하지 않아요
 &lt;/div&gt; 
 &lt;div style=&quot;color: #334155; line-height: 1.95; font-size: 15px;&quot;&gt;
  전세보증금반환보증 가입 가능 여부는 위험 판단에 도움이 되는 중요한 신호예요. 무조건 가입된다는 뜻은 아니지만, 가입이 어려운 구조라면 왜 어려운지 꼭 확인해야 합니다. 
  &lt;br&gt;
  &lt;br&gt;&quot;나중에 알아보면 된다&quot;, &quot;대부분 된다&quot; 같은 말만 반복하면 경계할 필요가 있어요.
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(239,68,68,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #7f1d1d; margin-bottom: 10px;&quot;&gt;
  5. 계약을 오늘 바로 하자며 과하게 서두르게 만들어요
 &lt;/div&gt; 
 &lt;div style=&quot;color: #334155; line-height: 1.95; font-size: 15px;&quot;&gt;
  전세사기 사례를 보면 충분히 확인할 시간을 주지 않고 당일 계약을 밀어붙이는 경우가 많아요. 
  &lt;br&gt;
  &lt;br&gt;인기 매물일 수는 있지만, 서류 확인도 못 했는데 &quot;지금 계약금 넣어야 잡는다&quot;고 압박하면 우선 멈추는 것이 맞습니다.
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(239,68,68,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #7f1d1d; margin-bottom: 10px;&quot;&gt;
  6. 계약서 특약에 권리변동 금지·보증보험 협조 문구가 빠져 있어요
 &lt;/div&gt; 
 &lt;div style=&quot;color: #334155; line-height: 1.95; font-size: 15px;&quot;&gt;
  표준계약서만 믿고 넘어가면 실제 분쟁 상황에서 애매해질 수 있어요. 
  &lt;br&gt;
  &lt;br&gt;잔금 전 추가 담보 설정 금지, 보증보험 가입 협조, 하자 처리, 인도일과 잔금일 같은 핵심 내용은 특약으로 분명하게 남기는 편이 안전합니다.
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(239,68,68,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #7f1d1d; margin-bottom: 10px;&quot;&gt;
  7. 중개사·집주인·서류 설명이 서로 조금씩 달라요
 &lt;/div&gt; 
 &lt;div style=&quot;color: #334155; line-height: 1.95; font-size: 15px;&quot;&gt;
  사기는 거창한 거짓말보다 작은 설명 불일치에서 먼저 드러나는 경우가 많아요. 
  &lt;br&gt;
  &lt;br&gt;소유자 이름, 대출 규모, 입주 가능일, 기존 세입자 상태, 보증보험 가능 여부 설명이 자꾸 바뀌면 반드시 다시 확인해야 합니다.
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.07);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  체크리스트 | 계약 전 마지막으로 꼭 확인할 것
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;
  전세사기 예방 체크리스트
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;등기부등본 최신본을 계약 직전에 다시 봤는가&lt;/li&gt; 
  &lt;li&gt;집주인과 실제 계약 상대가 일치하는가&lt;/li&gt; 
  &lt;li&gt;근저당·가압류·압류 등 권리관계를 이해했는가&lt;/li&gt; 
  &lt;li&gt;주변 매매가와 전세가를 비교했는가&lt;/li&gt; 
  &lt;li&gt;보증보험 가입 가능 여부를 확인했는가&lt;/li&gt; 
  &lt;li&gt;특약에 권리변동 금지와 협조 문구를 넣었는가&lt;/li&gt; 
  &lt;li&gt;전입신고와 확정일자 계획까지 세웠는가&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt; 
 &lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; color: #1d4ed8;&quot;&gt;준비항목&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 40%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;왜 필요한가&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 32%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;실수 포인트&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;등기부등본 최신본&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;권리관계와 소유자를 계약 직전 기준으로 확인할 수 있어요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;며칠 전 출력본으로 대체하는 경우&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;신분·위임 확인 자료&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;계약 상대가 실제 권한 있는 사람인지 판단할 수 있어요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;구두 설명만 듣고 넘어가는 경우&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;시세 비교 자료&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;전세가가 위험한 수준인지 판단하는 기준이 됩니다.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;집 상태만 보고 가격 구조를 안 보는 경우&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;특약 문구 초안&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;분쟁이 생겼을 때 핵심 쟁점을 계약서에 남길 수 있어요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;표준계약서만으로 충분하다고 보는 경우&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  상황별 적용 | 이런 경우 더 조심해야 해요
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #1d4ed8; margin-bottom: 10px;&quot;&gt;
  신축 빌라·시세 확인이 어려운 주택
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;비슷한 거래 사례가 적어서 전세가가 적정한지 판단이 더 어렵습니다.&lt;/li&gt; 
  &lt;li&gt;겉으로 깔끔해 보여도 권리관계와 가격 구조를 더 보수적으로 봐야 해요.&lt;/li&gt; 
  &lt;li&gt;이럴수록 보증보험 가능 여부와 매매가 비교가 중요합니다.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #1d4ed8; margin-bottom: 10px;&quot;&gt;
  기존 세입자가 있는 집
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;보증금 반환 일정과 실제 퇴거 일정이 꼬이면 내 계약도 위험해질 수 있어요.&lt;/li&gt; 
  &lt;li&gt;잔금일과 인도일, 기존 세입자 퇴거 여부를 더 꼼꼼하게 확인해야 합니다.&lt;/li&gt; 
  &lt;li&gt;설명이 조금이라도 엇갈리면 계약을 서두르지 않는 편이 좋아요.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div id=&quot;code_coupang_realestate_6&quot; data-ke-type=&quot;html&quot; data-source=&quot;&lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&lt;/script&gt;&quot;&gt; 
 &lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt; 
 &lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
  FAQ
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;&lt;b&gt;Q. 전세사기 안 당하는 가장 기본적인 방법은 무엇인가요?&lt;/b&gt;&lt;br&gt;→ 집 상태보다 먼저 등기부등본, 소유자, 시세, 보증보험 가능 여부를 확인하는 것입니다.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q. 공인중개사가 있으면 전세사기를 피할 수 있나요?&lt;/b&gt;&lt;br&gt;→ 중개사가 있어도 임차인이 핵심 서류와 계약 구조를 직접 확인하는 과정은 꼭 필요해요.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q. 전세보증보험이 가능하면 무조건 안전한가요?&lt;/b&gt;&lt;br&gt;→ 도움이 되는 안전장치이지만 그것만으로 모든 위험이 사라지는 것은 아니어서 권리관계와 계약서 내용도 함께 봐야 합니다.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q. 계약을 빨리 하라고 압박하면 어떻게 해야 하나요?&lt;/b&gt;&lt;br&gt;→ 서류 확인이 끝나기 전에는 계약금부터 보내지 말고, 확인 시간을 확보한 뒤 다시 판단하는 것이 안전해요.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  결론 | 전세사기는 계약 전 10분 더 확인하면 피할 가능성이 높아져요
 &lt;/div&gt; 
&lt;/div&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;전세사기 예방의 핵심은 등기부등본과 소유자, 시세, 보증금 회수 구조를 먼저 보는 것입니다.&lt;/li&gt;&lt;li&gt;한 가지 이상한 점보다 여러 작은 이상 신호가 겹치는지를 봐야 해요.&lt;/li&gt;&lt;li&gt;애매한 설명, 과한 압박, 보증보험 회피가 보이면 계약을 늦추는 것이 맞습니다.&lt;/li&gt;&lt;/ul&gt;&lt;blockquote data-ke-style=&quot;style1&quot;&gt;전세 계약은 좋은 집을 빨리 잡는 게임이 아니라, 내 보증금을 끝까지 안전하게 돌려받을 수 있는 구조인지 확인하는 과정이에요.&lt;/blockquote&gt;&lt;div style=&quot;margin: 24px 0 0; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
  관련 글 링크
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/jeonse-contract-checklist-beginners-mistake-prevention-guide&quot;&gt;전세 계약 전 꼭 확인해야 할 체크리스트 | 초보자용 실수 방지 가이드&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/report-move-in-and-fixed-date-difference-guide&quot;&gt;전입신고와 확정일자 차이 | 왜 둘 다 중요한가&lt;/a&gt;&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;</description>
      <category>부동산/매매&amp;middot;전세&amp;middot;월세</category>
      <category>등기부등본</category>
      <category>전세 계약</category>
      <category>전세 계약 주의사항</category>
      <category>전세 위험 신호</category>
      <category>전세계약 체크리스트</category>
      <category>전세보증금 보호</category>
      <category>전세사기</category>
      <category>전세사기 안당하는법</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/136</guid>
      <comments>https://trace90.tistory.com/entry/jeonse-fraud-prevention-7-warning-signs-checklist-guide#entry136comment</comments>
      <pubDate>Thu, 16 Apr 2026 13:40:34 +0900</pubDate>
    </item>
    <item>
      <title>Spring AOP란 무엇인가? | 개념부터 프록시&amp;middot;Advice&amp;middot;실무 예제까지 쉽게 정리</title>
      <link>https://trace90.tistory.com/entry/what-is-spring-aop-practical-guide</link>
      <description>&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%); box-shadow: 0 10px 28px rgba(37,99,235,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;핵심 요약&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;이 글에서 바로 이해할 것&lt;/b&gt; AOP가 왜 필요한지, 핵심 용어가 무엇인지 한 번에 정리합니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;이 글에서 바로 해결할 것&lt;/b&gt; Spring AOP가 프록시 기반으로 어떻게 동작하는지, 왜 self-invocation에서 안 먹는지 설명합니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;바로 확인할 설정&lt;/b&gt; Advice, Pointcut, Join Point, 프록시 적용 범위를 실무 기준으로 체크합니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;핵심 결론&lt;/b&gt; Spring AOP는 공통 관심사를 분리하는 도구이지만, &lt;b&gt;프록시 기반 한계&lt;/b&gt;를 모르면 트랜잭션&amp;middot;로깅&amp;middot;권한 처리에서 쉽게 막힙니다.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;한눈에 보는 개념 / 구조&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 24%; text-align: left; color: #1d4ed8;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 40%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;설명&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 36%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;실무 포인트&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;AOP&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;로깅, 트랜잭션, 보안처럼 여러 곳에 공통으로 필요한 기능을 핵심 비즈니스 로직과 분리하는 방식입니다.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;중복 코드를 줄이고 관심사를 분리할 수 있습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;Spring AOP&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;프록시 객체를 만들어 메서드 호출 전후에 부가 기능을 끼워 넣는 방식입니다.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;트랜잭션, @Around 로깅, 권한 체크 구현에서 자주 사용합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;핵심 한계&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;프록시를 거치지 않는 내부 호출에는 Advice가 적용되지 않을 수 있습니다.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;self-invocation 문제&lt;/b&gt;를 이해해야 실무 오류를 줄일 수 있습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;pre class=&quot;gcode&quot; style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 16px; background: #0f172a; color: #e2e8f0; font-size: 14px; line-height: 1.85; overflow: auto;&quot;&gt;&lt;code&gt;클라이언트 호출
 &amp;darr;
프록시 객체 진입
 &amp;darr;
Advice 실행 (로그, 트랜잭션, 보안 등)
 &amp;darr;
실제 타깃 메서드 실행
 &amp;darr;
후처리 Advice 실행
 &amp;darr;
결과 반환&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;AOP란 무엇인가? | 왜 Spring에서 중요한가&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AOP는 &lt;b&gt;Aspect Oriented Programming&lt;/b&gt;의 약자입니다. &lt;br /&gt;&lt;br /&gt;쉽게 말하면 비즈니스 로직과 직접 관련은 없지만 여러 기능에 반복해서 들어가는 코드를 따로 분리하는 방식입니다. &lt;br /&gt;&lt;br /&gt;예를 들어 주문 생성, 회원 가입, 결제 승인, 게시글 저장 같은 기능은 모두 서로 다른 업무 로직입니다. 하지만 이들 메서드에서 공통으로 필요한 것이 있습니다. &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실행 시간 로그&lt;/li&gt;
&lt;li&gt;트랜잭션 처리&lt;/li&gt;
&lt;li&gt;권한 체크&lt;/li&gt;
&lt;li&gt;예외 로깅&lt;/li&gt;
&lt;li&gt;공통 감사 기록&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;이런 코드를 서비스 메서드마다 직접 넣으면 코드가 금방 지저분해집니다. 그래서 Spring은 AOP를 통해 &lt;b&gt;공통 관심사&lt;/b&gt;를 한 곳에 모아서 처리하게 도와줍니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #1d4ed8; margin-bottom: 10px;&quot;&gt;AOP를 쓰는 이유&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;중복 코드 제거&lt;/li&gt;
&lt;li&gt;비즈니스 로직과 부가 기능 분리&lt;/li&gt;
&lt;li&gt;유지보수 쉬움&lt;/li&gt;
&lt;li&gt;트랜잭션, 로깅, 보안 적용 일관성 확보&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;Spring AOP 핵심 용어 | Aspect, Advice, Pointcut, Join Point 쉽게 정리&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 24%; text-align: left; color: #1d4ed8;&quot;&gt;용어&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 42%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;뜻&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 34%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;예시&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;Aspect&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;공통 관심사를 모아둔 모듈&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;로그 처리 Aspect&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;Advice&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;실제로 실행되는 부가 기능 코드&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;메서드 시작 전 로그 출력&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;Pointcut&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;어떤 메서드에 Advice를 적용할지 정하는 조건&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;service 패키지의 모든 public 메서드&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;Join Point&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;Advice가 들어갈 수 있는 실행 지점&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;메서드 실행 시점&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;Proxy&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;실제 객체 대신 앞단에서 호출을 가로채는 객체&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;트랜잭션 프록시&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;Spring AOP는 어떻게 동작할까? | 프록시 기반 구조 이해하기&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Spring AOP는 기본적으로 &lt;b&gt;프록시 기반&lt;/b&gt;입니다. &lt;br /&gt;&lt;br /&gt;즉 실제 서비스 객체를 직접 호출하는 것이 아니라, Spring이 앞에 프록시 객체를 하나 두고 그 프록시가 먼저 호출을 받습니다. &lt;br /&gt;&lt;br /&gt;프록시는 메서드 실행 전후에 Advice를 넣은 뒤 실제 타깃 객체를 호출합니다. &lt;br /&gt;&lt;br /&gt;이 구조 덕분에 &lt;code&gt;@Transactional&lt;/code&gt;, 성능 로그, 권한 체크 같은 기능을 메서드 본문에 직접 넣지 않아도 됩니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #1d4ed8; margin-bottom: 10px;&quot;&gt;실무에서 꼭 기억할 점&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Spring AOP는 바이트코드 자체를 바꾸는 방식이 아니라 프록시를 사용하는 경우가 많습니다.&lt;/li&gt;
&lt;li&gt;외부에서 프록시를 통해 호출될 때 Advice가 적용됩니다.&lt;/li&gt;
&lt;li&gt;내부 메서드가 자기 자신을 직접 호출하면 프록시를 우회할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;비교 / 차이 정리 | AOP와 OOP, Spring AOP와 AspectJ 차이&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 26%; text-align: left; color: #1d4ed8;&quot;&gt;비교 항목&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 37%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;Spring AOP&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 37%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;AspectJ&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;적용 방식&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;프록시 기반&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;위빙 기반&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;대상 범위&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;주로 Spring Bean 메서드&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;더 넓은 범위 적용 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;실무 난이도&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;비교적 단순하고 Spring 친화적&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;강력하지만 설정과 이해 난이도 높음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;대표 사용 예&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;트랜잭션, 로깅, 권한 체크&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;더 세밀한 포인트컷 제어&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #1d4ed8; margin-bottom: 10px;&quot;&gt;AOP와 OOP를 헷갈리지 않으려면&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;OOP는 객체 책임 분리 중심입니다.&lt;/li&gt;
&lt;li&gt;AOP는 여러 객체에 흩어지는 공통 관심사 분리 중심입니다.&lt;/li&gt;
&lt;li&gt;둘은 경쟁 관계가 아니라 함께 쓰는 개념입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;자주 막히는 포인트 / 문제해결 | Spring AOP가 안 먹는 대표 사례&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 22%; text-align: left; color: #1d4ed8;&quot;&gt;문제&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;원인&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;확인 방법&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 22%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;해결&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;Advice가 적용되지 않음&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;프록시를 거치지 않는 내부 호출&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;같은 클래스 내부에서 this.method() 호출 여부 확인&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;구조 분리 또는 프록시 경유 호출&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;@Transactional이 안 먹음&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;private 메서드, 내부 호출, 프록시 미적용&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;대상 메서드 접근제어자, 프록시 방식, 실제 호출 흐름 확인&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;가장 안전한 기준은 &lt;b&gt;프록시를 거치는 외부 호출 구조&lt;/b&gt;로 설계하는 것입니다. 실무에서는 보통 public 서비스 메서드 기준으로 잡습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;포인트컷이 기대와 다름&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;패키지 경로, 메서드 시그니처 지정 오류&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;execution 표현식 재검토&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;포인트컷 범위 명확히 분리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;예상보다 성능 로그가 과다함&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;포인트컷 범위가 너무 넓음&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;controller, service, repository 전체 적용 여부 확인&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;패키지 단위 또는 어노테이션 기준으로 세분화&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(245,158,11,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #92400e; margin-bottom: 10px;&quot;&gt;설정 / 확인 체크리스트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;@Aspect&lt;/code&gt;, &lt;code&gt;@Component&lt;/code&gt; 등록 여부 확인&lt;/li&gt;
&lt;li&gt;포인트컷 표현식이 실제 대상 메서드를 정확히 가리키는지 확인&lt;/li&gt;
&lt;li&gt;프록시를 통한 외부 호출인지 확인&lt;/li&gt;
&lt;li&gt;트랜잭션, 로그, 권한 체크가 private 메서드 내부 호출에 기대고 있지 않은지 확인&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;Spring AOP 실무 예제 | 실행 시간 로그 남기기&lt;/div&gt;
&lt;/div&gt;
&lt;pre class=&quot;reasonml&quot; style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 16px; background: #0f172a; color: #e2e8f0; font-size: 14px; line-height: 1.8; overflow: auto;&quot;&gt;&lt;code&gt;@Aspect
@Component
public class LogAspect {

    @Around(&quot;execution(* com.example..service.*.*(..))&quot;)
    public Object logExecutionTime(ProceedingJoinPoint joinPoint) throws Throwable {
        long start = System.currentTimeMillis();
        try {
            return joinPoint.proceed();
        } finally {
            long end = System.currentTimeMillis();
            System.out.println(joinPoint.getSignature() + &quot; 실행 시간 = &quot; + (end - start) + &quot;ms&quot;);
        }
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #1d4ed8; margin-bottom: 10px;&quot;&gt;이 예제에서 봐야 할 포인트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;@Around&lt;/code&gt;는 메서드 전후를 모두 제어할 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ProceedingJoinPoint&lt;/code&gt;의 &lt;code&gt;proceed()&lt;/code&gt;를 호출해야 실제 메서드가 실행됩니다.&lt;/li&gt;
&lt;li&gt;패키지 범위를 넓게 잡으면 로그가 과도하게 찍힐 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_it_template&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;FAQ&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Q. Spring AOP와 @Transactional은 어떤 관계인가요?&lt;/b&gt;&lt;br /&gt;&amp;rarr; &lt;code&gt;@Transactional&lt;/code&gt;도 대표적인 AOP 활용 사례입니다. 프록시가 메서드 호출을 감싸며 트랜잭션을 시작하고 종료합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q. 내부 메서드 호출에서 AOP가 왜 안 먹나요?&lt;/b&gt;&lt;br /&gt;&amp;rarr; 프록시를 통하지 않고 같은 객체 내부에서 직접 호출하기 때문입니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q. Spring AOP만 알면 면접에서 충분한가요?&lt;/b&gt;&lt;br /&gt;&amp;rarr; 기본 개념은 충분히 중요하지만, &lt;b&gt;프록시 기반 동작 원리와 self-invocation 한계&lt;/b&gt;까지 설명해야 좋은 평가를 받기 쉽습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q. Advice 종류는 무엇이 자주 나오나요?&lt;/b&gt;&lt;br /&gt;&amp;rarr; &lt;code&gt;@Before&lt;/code&gt;, &lt;code&gt;@After&lt;/code&gt;, &lt;code&gt;@AfterReturning&lt;/code&gt;, &lt;code&gt;@AfterThrowing&lt;/code&gt;, &lt;code&gt;@Around&lt;/code&gt;가 대표적입니다. 실무에서는 &lt;code&gt;@Around&lt;/code&gt; 활용 빈도가 높습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;결론&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Spring AOP는 공통 관심사를 비즈니스 로직에서 분리하는 핵심 도구입니다.&lt;/li&gt;
&lt;li&gt;프록시 기반 동작 구조를 이해해야 트랜잭션, 로깅, 권한 체크 문제를 정확히 설명할 수 있습니다.&lt;/li&gt;
&lt;li&gt;실무에서는 &lt;b&gt;포인트컷 범위&lt;/b&gt;와 &lt;b&gt;내부 호출 한계&lt;/b&gt;를 가장 먼저 점검해야 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;Spring AOP는 단순히 부가 기능을 붙이는 기술이 아니라, 프록시 구조를 이해하고 설계에 반영할 때 진짜 실무 도구가 됩니다.&lt;/blockquote&gt;
&lt;div style=&quot;margin: 24px 0 0; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;관련 글 링크&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/spring-framework-vs-spring-boot-guide&quot;&gt;Spring Framework와 Spring Boot 차이 | 개념&amp;middot;구조&amp;middot;실무 선택 기준까지 정리&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/spring-core-concepts-ioc-di-bean-container-guide&quot;&gt;Spring 핵심 개념 정리 | IoC, DI, Bean, Bean Container를 쉽게 이해하기&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/spring-transactional-rollback-readonly-practical-guide&quot;&gt;@Transactional 동작 원리와 rollback, readOnly 실무 정리&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #6b7280; font-size: 14px; line-height: 1.7; margin-top: 24px;&quot; data-ke-size=&quot;size16&quot;&gt;※ 제목은 일반 검색 키워드인 &quot;Spring AOP란 무엇인가&quot;를 앞에 두고, 검색 의도가 높은 &quot;개념&quot;, &quot;프록시&quot;, &quot;Advice&quot;, &quot;실무 예제&quot;를 함께 넣어 상위 노출형으로 설계했습니다.&lt;/p&gt;</description>
      <category>IT/Spring</category>
      <category>Advice Pointcut</category>
      <category>AOP란</category>
      <category>Spring AOP</category>
      <category>Spring AOP란 무엇인가</category>
      <category>spring 면접</category>
      <category>spring 프록시</category>
      <category>Spring 핵심 개념</category>
      <category>프록시 패턴</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/135</guid>
      <comments>https://trace90.tistory.com/entry/what-is-spring-aop-practical-guide#entry135comment</comments>
      <pubDate>Wed, 15 Apr 2026 23:21:14 +0900</pubDate>
    </item>
    <item>
      <title>재개발 재건축 차이 쉽게 정리 | 부동산 초보가 꼭 알아야 할 핵심 비교</title>
      <link>https://trace90.tistory.com/entry/redevelopment-vs-reconstruction-difference-guide</link>
      <description>&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #fefce8 100%); box-shadow: 0 10px 28px rgba(245,158,11,0.08);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;핵심 요약&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;재개발&lt;/b&gt;은 노후 주거지와 기반시설이 부족한 지역을 정비하는 사업에 가깝습니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;재건축&lt;/b&gt;은 기존 아파트 같은 공동주택을 새로 짓는 사업에 가깝습니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;핵심 차이&lt;/b&gt;는 대상이 되는 지역과 건물, 사업 목적, 권리관계 구조입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;가장 중요한 결론&lt;/b&gt; 재개발과 재건축은 비슷해 보여도 사업 성격이 달라서 투자 판단, 입주 기대, 추가분담금 위험을 같은 기준으로 보면 안 됩니다.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;한눈에 보는 기준 | 재개발과 재건축은 무엇이 다를까?&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 22%; text-align: left; color: #1d4ed8;&quot;&gt;구분&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 39%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;재개발&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 39%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;재건축&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;핵심 대상&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;노후 주거지, 기반시설이 부족한 정비구역&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;노후 아파트 등 공동주택 단지&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;사업 성격&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;지역 전체 환경 개선 성격이 강함&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;기존 주택 단지의 신축 교체 성격이 강함&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;주요 권리관계&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;토지&amp;middot;건물 권리관계가 비교적 복잡한 편&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;기존 아파트 소유자 중심으로 구조가 비교적 명확한 편&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;초보가 많이 헷갈리는 점&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;빌라 지역 정비라고 이해하면 쉬움&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;오래된 아파트를 새 아파트로 바꾸는 사업이라고 이해하면 쉬움&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(245,158,11,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #92400e; margin-bottom: 10px;&quot;&gt;먼저 이렇게 기억하면 헷갈림이 줄어듭니다&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;재개발&lt;/b&gt; = 낡은 동네를 정비하는 개념&lt;/li&gt;
&lt;li&gt;&lt;b&gt;재건축&lt;/b&gt; = 낡은 아파트 단지를 다시 짓는 개념&lt;/li&gt;
&lt;li&gt;&lt;b&gt;둘 다 새 집이 생긴다고 해서 같은 사업은 아닙니다.&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;재개발 뜻 | 왜 빌라촌, 구도심과 함께 많이 언급될까?&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;재개발은 보통 &lt;b&gt;노후한 주거지 전체를 정비하는 사업&lt;/b&gt;으로 이해하면 가장 쉽습니다. &lt;br /&gt;&lt;br /&gt;단순히 건물 한두 동만 새로 짓는 개념이 아니라, 도로&amp;middot;공원&amp;middot;주차장 같은 정비기반시설이 부족하거나 주거환경이 오래된 지역을 함께 손보는 성격이 큽니다. &lt;br /&gt;&lt;br /&gt;그래서 재개발은 오래된 빌라 밀집 지역, 단독주택 밀집 지역, 구도심 정비와 함께 자주 언급됩니다. &lt;br /&gt;&lt;br /&gt;초보 입장에서는 &lt;b&gt;낡은 집을 새로 짓는 것&lt;/b&gt;만 떠올리기 쉬운데, 실제로는 &lt;b&gt;동네 전체 환경 개선&lt;/b&gt;이라는 성격도 매우 중요합니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #bfdbfe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #1e40af; margin-bottom: 10px;&quot;&gt;재개발을 볼 때 체크할 포인트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정비구역 지정 여부&lt;/li&gt;
&lt;li&gt;조합 설립 진행 단계&lt;/li&gt;
&lt;li&gt;기존 주택 유형과 권리관계&lt;/li&gt;
&lt;li&gt;세입자 비율, 이주 진행 가능성&lt;/li&gt;
&lt;li&gt;사업 기간이 길어질 가능성&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;재건축 뜻 | 왜 오래된 아파트와 같이 말할까?&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;재건축은 보통 &lt;b&gt;노후한 공동주택 단지를 새로 짓는 사업&lt;/b&gt;으로 이해하면 됩니다. &lt;br /&gt;&lt;br /&gt;즉 이미 아파트 단지의 형태가 갖춰져 있고, 그 단지가 오래돼서 더 이상 현재 기준에 맞지 않거나 주거 성능이 떨어질 때 새 아파트로 다시 짓는 개념입니다. &lt;br /&gt;&lt;br /&gt;재건축은 재개발보다 대상이 비교적 분명합니다. 보통 기존 아파트 소유자 중심으로 권리관계가 형성되어 있어서, 초보가 보기에는 구조가 조금 더 단순해 보일 수 있습니다. &lt;br /&gt;&lt;br /&gt;다만 그렇다고 쉬운 사업이라는 뜻은 아닙니다. &lt;b&gt;안전진단, 사업성, 추가분담금, 규제 변화&lt;/b&gt; 같은 변수의 영향이 큽니다.&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; color: #1d4ed8;&quot;&gt;재건축을 볼 때&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 36%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;좋은 점&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 36%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;주의할 점&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;사업 대상&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;기존 아파트 단지를 기준으로 보기 쉬움&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;안전진단과 정책 변화에 민감할 수 있음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;권리 구조&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;기존 소유자 중심으로 이해하기 쉬운 편&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;추가분담금 규모를 쉽게 단정하면 안 됨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;시장 기대감&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;입지 좋은 구축 단지에서 기대감이 큼&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;사업 지연 시 가격 변동성이 커질 수 있음&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_realestate_basic_renewal_1&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;재개발 재건축 차이 | 초보가 가장 많이 헷갈리는 핵심 4가지&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 24%; text-align: left; color: #1d4ed8;&quot;&gt;핵심 비교&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 38%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;재개발&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 38%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;재건축&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;대상&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;오래된 동네, 빌라&amp;middot;단독주택 밀집 지역처럼 &lt;b&gt;지역 전체 정비&lt;/b&gt; 성격이 강합니다.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;오래된 아파트 단지처럼 &lt;b&gt;기존 공동주택 단지 재정비&lt;/b&gt; 성격이 강합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;권리관계&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;단독주택, 빌라, 토지지분, 세입자 등이 섞여 &lt;b&gt;구조가 더 복잡해질 수 있습니다.&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;기존 아파트 소유자 중심이라 상대적으로 구조를 이해하기 쉬운 편입니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;주요 변수&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;정비구역 지정, 조합 설립, 이주, 철거, 세입자 변수 영향을 크게 받습니다.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;안전진단, 용적률, 사업성, 추가분담금 이슈가 더 자주 핵심 변수로 나옵니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;판단 기준&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;사업 단계와 권리관계, 이주 가능성, 정비구역 진행 흐름을 더 꼼꼼히 봐야 합니다.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;안전진단 통과 가능성, 사업성, 입지 대비 추가분담금을 함께 봐야 합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #1d4ed8; margin-bottom: 10px;&quot;&gt;초보 기준으로 가장 쉽게 외우는 방법&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;재개발&lt;/b&gt; = 낡은 &lt;b&gt;동네&lt;/b&gt;를 바꾸는 사업&lt;/li&gt;
&lt;li&gt;&lt;b&gt;재건축&lt;/b&gt; = 낡은 &lt;b&gt;아파트 단지&lt;/b&gt;를 바꾸는 사업&lt;/li&gt;
&lt;li&gt;&lt;b&gt;둘 다 새 아파트가 된다는 결과만 보고 같은 사업으로 보면 안 됩니다.&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #14b8a6; background: #f0fdfa; border-radius: 14px; box-shadow: 0 6px 18px rgba(20,184,166,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;용적률과 건폐율 | 재개발&amp;middot;재건축에서 왜 많이 보는 지표일까?&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 22%; text-align: left; color: #1d4ed8;&quot;&gt;지표&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 40%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;뜻&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 38%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;재개발&amp;middot;재건축에서 보는 이유&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;용적률&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;대지 면적 대비 건물의 &lt;b&gt;전체 연면적 비율&lt;/b&gt;입니다. 쉽게 말하면 같은 땅에 건물을 얼마나 많이 올렸는지 보는 지표입니다.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;사업성, 일반분양 물량, 추가로 더 지을 수 있는 여지를 가늠할 때 중요합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;건폐율&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;대지 면적 대비 건물이 &lt;b&gt;바닥을 얼마나 차지하는지&lt;/b&gt; 보는 비율입니다.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;동 간격, 단지 배치, 개방감, 조경 여유 같은 설계 감각과 연결해서 봅니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #99f6e4; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(20,184,166,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f766e; margin-bottom: 10px;&quot;&gt;초보가 쉽게 이해하는 기준&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;용적률&lt;/b&gt; = 같은 땅에 &lt;b&gt;얼마나 많이&lt;/b&gt; 지었는지 보는 숫자&lt;/li&gt;
&lt;li&gt;&lt;b&gt;건폐율&lt;/b&gt; = 같은 땅 바닥을 &lt;b&gt;얼마나 넓게&lt;/b&gt; 쓰는지 보는 숫자&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 24%; text-align: left; color: #1d4ed8;&quot;&gt;구분&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 38%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;재개발에서 볼 때&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 38%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;재건축에서 볼 때&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;용적률&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;정비구역 전체 사업성, 일반분양 여력, 새로 짓는 규모를 볼 때 중요합니다.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;기존 단지 용적률이 이미 높으면 &lt;b&gt;추가로 확보할 여유가 적어&lt;/b&gt; 사업성이 빡빡해질 수 있습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;건폐율&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;새 단지 배치, 도로&amp;middot;공원&amp;middot;공용공간 확보와 함께 봐야 이해가 쉽습니다.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;동 간격, 조경, 단지 쾌적성, 설계 효율을 판단할 때 같이 보는 지표입니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(245,158,11,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #92400e; margin-bottom: 10px;&quot;&gt;실무적으로 이렇게 보면 됩니다&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;용적률이 너무 높다&lt;/b&gt; = 재건축에서 추가 사업성 확보가 어려울 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;건폐율이 낮다&lt;/b&gt; = 단지 개방감과 동 간격 설계 여지가 상대적으로 좋아질 수 있습니다.&lt;/li&gt;
&lt;li&gt;다만 이 숫자만 단독으로 보지 말고 &lt;b&gt;입지, 용도지역, 사업 단계, 추가분담금&lt;/b&gt;과 함께 봐야 판단이 정확해집니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #8b5cf6; background: #faf5ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(139,92,246,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;상황별 적용 | 어떤 경우에 재개발, 어떤 경우에 재건축을 먼저 떠올리면 될까?&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #ddd6fe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #6d28d9; margin-bottom: 10px;&quot;&gt;이런 곳이면 재개발을 먼저 생각하면 됩니다&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;오래된 빌라와 단독주택이 밀집한 지역&lt;/li&gt;
&lt;li&gt;도로가 좁고 주차&amp;middot;공원 같은 기반시설이 부족한 지역&lt;/li&gt;
&lt;li&gt;정비구역 지정 여부가 중요한 지역&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #bfdbfe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #1e40af; margin-bottom: 10px;&quot;&gt;이런 곳이면 재건축을 먼저 생각하면 됩니다&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;오래된 아파트 단지가 뚜렷한 지역&lt;/li&gt;
&lt;li&gt;입지는 좋은데 건물이 낡아 신축 교체 기대가 큰 지역&lt;/li&gt;
&lt;li&gt;안전진단, 사업성, 용적률 이슈가 많이 붙는 단지&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;체크리스트 | 초보라면 이 5가지는 꼭 보고 판단하세요&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;실전 체크리스트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;대상이 오래된 동네인지, 오래된 아파트 단지인지 먼저 구분하기&lt;/li&gt;
&lt;li&gt;현재 사업 단계가 어디까지 왔는지 확인하기&lt;/li&gt;
&lt;li&gt;권리관계와 추가분담금 가능성을 따로 보기&lt;/li&gt;
&lt;li&gt;세입자, 이주, 철거, 안전진단 같은 핵심 변수 체크하기&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&quot;나중에 무조건 오른다&quot;는 식의 단순 접근은 피하기&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 30%; text-align: left; color: #1d4ed8;&quot;&gt;확인 항목&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 35%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;왜 필요한가&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 35%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;실수 포인트&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;사업 종류 구분&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;재개발과 재건축을 다르게 봐야 판단 기준이 맞아집니다.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;둘 다 그냥 재건축이라고 부르는 경우&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;사업 단계&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;같은 지역이라도 단계에 따라 리스크가 크게 달라집니다.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;초기 단계와 막바지 단계를 같은 기대감으로 보는 경우&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;권리관계&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;재개발은 특히 권리 구조가 복잡할 수 있습니다.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;빌라, 토지지분, 세입자 구조를 가볍게 보는 경우&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;추가분담금&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;최종 수익성과 실입주 비용에 직접 연결됩니다.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;예상보다 적을 것이라고 단정하는 경우&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_realestate_basic_renewal_2&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;FAQ&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Q. 재개발과 재건축은 결국 둘 다 새 아파트가 되는 것 아닌가요?&lt;/b&gt;&lt;br /&gt;&amp;rarr; 결과가 비슷해 보여도 사업 대상과 구조가 달라 같은 기준으로 보면 안 됩니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q. 빌라가 많으면 재개발이라고 보면 되나요?&lt;/b&gt;&lt;br /&gt;&amp;rarr; 대체로 그렇게 이해하면 쉽지만, 실제 판단은 정비구역과 사업 진행 구조를 함께 봐야 합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q. 오래된 아파트면 무조건 재건축이 되나요?&lt;/b&gt;&lt;br /&gt;&amp;rarr; 아닙니다. 안전진단, 사업성, 정책 환경 등 여러 조건이 맞아야 진행이 가능합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q. 초보는 재개발과 재건축 중 무엇이 더 이해하기 쉬운가요?&lt;/b&gt;&lt;br /&gt;&amp;rarr; 일반적으로는 재건축이 더 단순해 보일 수 있지만, 실제 투자 판단은 둘 다 단계와 비용을 꼼꼼히 봐야 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;결론 | 재개발은 동네 정비, 재건축은 아파트 단지 정비로 기억하면 쉽습니다&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;재개발과 재건축은 이름이 비슷해 보이지만 실제로는 &lt;b&gt;무엇을 정비하는지부터 다릅니다.&lt;/b&gt; &lt;br /&gt;&lt;br /&gt;재개발은 낡은 지역 전체를 정비하는 성격이 강하고, 재건축은 낡은 아파트 단지를 새로 짓는 성격이 강합니다. &lt;br /&gt;&lt;br /&gt;그래서 부동산 초보라면 먼저 &lt;b&gt;대상이 동네인지, 아파트 단지인지&lt;/b&gt;를 구분하고, 그다음 사업 단계와 비용 가능성까지 같이 봐야 실수가 줄어듭니다.&lt;/p&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;재개발과 재건축은 둘 다 정비사업이지만, 초보가 가장 먼저 구분해야 할 기준은 &quot;낡은 동네를 바꾸는가, 낡은 아파트를 바꾸는가&quot;입니다.&lt;/blockquote&gt;
&lt;div style=&quot;margin: 24px 0 0; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;관련 글 링크&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/official-land-price-vs-real-transaction-vs-market-price-guide&quot;&gt;공시지가 실거래가 시세 차이 | 집값 볼 때 꼭 알아야 할 기준&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/exclusive-area-vs-supply-area-vs-contract-area-guide&quot;&gt;전용면적 공급면적 계약면적 차이 | 아파트 평수 볼 때 꼭 알아야 할 핵심 정리&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/first-time-special-supply-eligibility-guide-with-other-types&quot;&gt;생애최초 특별공급 조건 총정리 | 신혼부부&amp;middot;다자녀&amp;middot;일반과 차이까지 한눈에 정리&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #6b7280; font-size: 14px; line-height: 1.7; margin-top: 24px;&quot; data-ke-size=&quot;size16&quot;&gt;※ 제목은 검색량이 높은 핵심 키워드인 &quot;재개발 재건축 차이&quot;를 앞에 두고, 클릭 의도가 분명한 &quot;쉽게 정리&quot;, &quot;부동산 초보&quot;, &quot;핵심 비교&quot; 표현으로 확장해 SEO형으로 설계했습니다.&lt;/p&gt;</description>
      <category>부동산/부동산 기초</category>
      <category>부동산 기초</category>
      <category>부동산 초보</category>
      <category>재개발 뜻</category>
      <category>재개발 재건축 차이</category>
      <category>재개발 재건축 차이점</category>
      <category>재건축 뜻</category>
      <category>재건축 재개발</category>
      <category>정비사업</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/134</guid>
      <comments>https://trace90.tistory.com/entry/redevelopment-vs-reconstruction-difference-guide#entry134comment</comments>
      <pubDate>Wed, 15 Apr 2026 22:30:23 +0900</pubDate>
    </item>
    <item>
      <title>공시지가 실거래가 시세 차이 | 집값 볼 때 꼭 알아야 할 기준</title>
      <link>https://trace90.tistory.com/entry/official-land-price-vs-real-transaction-vs-market-price-guide</link>
      <description>&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #fefce8 100%); box-shadow: 0 10px 28px rgba(245,158,11,0.08);&quot;&gt; 
 &lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
  핵심 요약
 &lt;/div&gt; 
 &lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt; 
  &lt;div&gt;
   &lt;b&gt;공시지가&lt;/b&gt;는 주로 토지 기준의 공적 가격이고, 집을 볼 때는 주택 유형에 따라 &lt;b&gt;공시가격&lt;/b&gt;을 함께 봐야 합니다.
  &lt;/div&gt; 
  &lt;div&gt;
   &lt;b&gt;실거래가&lt;/b&gt;는 실제로 거래신고된 가격이라 현재 시장에서 가장 현실적인 거래 기준에 가깝습니다.
  &lt;/div&gt; 
  &lt;div&gt;
   &lt;b&gt;시세&lt;/b&gt;는 매도·매수 희망가격, 주변 호가, 최근 거래 분위기를 반영한 시장 참고값입니다.
  &lt;/div&gt; 
  &lt;div&gt;
   &lt;b&gt;가장 중요한 결론&lt;/b&gt; 세 숫자는 역할이 다르므로 하나만 보면 판단이 틀어질 수 있고, 매수·매도 판단은 보통 &lt;b&gt;실거래가 + 시세 흐름&lt;/b&gt;, 세금·행정 기준은 &lt;b&gt;공시가격·공시지가&lt;/b&gt;로 나눠 봐야 합니다.
  &lt;/div&gt; 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  한눈에 보는 기준 | 공시지가·실거래가·시세는 무엇이 다를까?
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt; 
 &lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 20%; text-align: left; color: #1d4ed8;&quot;&gt;구분&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 42%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;뜻&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 38%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;집값 판단에서의 쓰임&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;공시지가&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;국토교통부 표준지공시지가를 기준으로 지방자치단체가 개별 토지의 특성을 반영해 결정·공시하는 &lt;b&gt;토지의 단위면적당 공적 가격&lt;/b&gt;입니다.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;토지 관련 세금·부담금·행정 기준을 볼 때 중요합니다. &lt;b&gt;아파트 시세 판단용 숫자와는 성격이 다릅니다.&lt;/b&gt;&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;실거래가&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;부동산 거래신고제를 통해 신고된 &lt;b&gt;실제 계약 가격&lt;/b&gt;입니다.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;실제 얼마에 거래됐는지 확인할 때 가장 먼저 보는 기준입니다.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;시세&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;호가, 최근 거래, 주변 매물 분위기, 중개업소 판단 등을 종합한 &lt;b&gt;시장 참고 가격&lt;/b&gt;입니다.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;지금 시장에서 어느 정도에 형성되는지, 협상 여지가 있는지 파악할 때 유용합니다.&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(245,158,11,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #92400e; margin-bottom: 10px;&quot;&gt;
  먼저 꼭 짚고 갈 점
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;검색에서는 “공시지가”라는 말을 많이 쓰지만, &lt;b&gt;아파트·연립·다세대는 보통 공동주택 공시가격&lt;/b&gt;이 더 정확한 표현입니다.&lt;/li&gt; 
  &lt;li&gt;단독주택은 개별주택가격, 토지는 개별공시지가처럼 &lt;b&gt;대상에 따라 공적 가격의 이름이 다릅니다.&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;즉 집값을 볼 때는 “공시지가인가, 공시가격인가”부터 먼저 구분해야 헷갈리지 않습니다.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  공시지가 뜻 | 왜 집값 기사에 자주 나오지만 그대로 시세로 보면 안 될까?
 &lt;/div&gt; 
&lt;/div&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;부동산공시가격알리미에서 설명하는 개별공시지가는 &lt;b&gt;표준지공시지가를 기준으로 지방자치단체가 개별 토지의 특성을 반영해 결정·공시하는 토지의 단위면적당 가격&lt;/b&gt;입니다. &lt;br&gt;&lt;br&gt;즉 공시지가는 &lt;b&gt;토지 기준의 행정상 가격&lt;/b&gt;에 가깝고, 시장에서 오늘 실제로 얼마에 거래되는지를 그대로 보여주는 숫자는 아닙니다. &lt;br&gt;&lt;br&gt;그래서 토지, 단독주택 대지, 개발부담금이나 각종 세금 기준을 볼 때는 매우 중요하지만, &lt;b&gt;아파트를 사거나 팔 때 공시지가 숫자만 보고 현재 시세라고 판단하면 오해가 생기기 쉽습니다.&lt;/b&gt;&lt;/p&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #bfdbfe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #1e40af; margin-bottom: 10px;&quot;&gt;
  공시지가를 볼 때 이해해야 할 포인트
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;&lt;b&gt;세금·행정 기준&lt;/b&gt;에 많이 활용됩니다.&lt;/li&gt; 
  &lt;li&gt;실제 계약 가격과는 차이가 날 수 있습니다.&lt;/li&gt; 
  &lt;li&gt;토지의 공적 평가 기준이라는 성격이 강합니다.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;매수·매도 가격 협상 기준으로 단독 사용하면 한계&lt;/b&gt;가 있습니다.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.07);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  실거래가 뜻 | 실제로 얼마에 거래됐는지 볼 때 가장 먼저 확인할 기준
 &lt;/div&gt; 
&lt;/div&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;국토교통부 실거래가 공개시스템은 &lt;b&gt;부동산 거래신고제를 통해 수집된 실거래 자료를 공개&lt;/b&gt;한다고 안내하고 있습니다. &lt;br&gt;&lt;br&gt;즉 실거래가는 단순 추정이 아니라 &lt;b&gt;신고된 실제 계약 가격&lt;/b&gt;이라는 점에서 의미가 큽니다. &lt;br&gt;&lt;br&gt;매물을 검토할 때는 “지금 나온 매물이 비싼지 싼지”를 판단하려면 우선 최근 같은 단지, 같은 면적, 비슷한 층의 실거래가 흐름부터 보는 것이 기본입니다. &lt;br&gt;&lt;br&gt;다만 실거래가도 완전한 현재 시세와 100% 같지는 않습니다. 신고 시차가 있고, 같은 평형이라도 &lt;b&gt;층, 향, 수리 상태, 입주 가능 시점, 동 위치&lt;/b&gt;에 따라 가격 차이가 생길 수 있기 때문입니다.&lt;/p&gt;&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt; 
 &lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; color: #1d4ed8;&quot;&gt;실거래가를 볼 때&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 36%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;좋은 점&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 36%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;주의할 점&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;가격 기준&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;실제 계약된 가격이라 &lt;b&gt;현실성이 높습니다.&lt;/b&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;현재 호가와 시차가 있을 수 있습니다.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;비교 정확도&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;같은 단지·같은 타입 비교에 유리합니다.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;층, 향, 수리 상태 차이를 함께 봐야 합니다.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;시장 판단&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;최근 거래 흐름을 읽는 데 가장 중요합니다.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;거래가 드문 지역은 표본이 적을 수 있습니다.&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt;&lt;div id=&quot;code_coupang_realestate_basic_price_1&quot; data-ke-type=&quot;html&quot; data-source=&quot;&lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&lt;/script&gt;&quot;&gt; 
 &lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt; 
 &lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  시세 뜻 | 왜 실거래가와 다르게 보일까?
 &lt;/div&gt; 
&lt;/div&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;시세는 하나의 법정 단일 숫자라기보다 &lt;b&gt;현재 시장에서 형성되는 가격대에 대한 종합 판단&lt;/b&gt;에 가깝습니다. &lt;br&gt;&lt;br&gt;예를 들어 같은 단지 같은 면적이라도 현재 매도 호가는 9억인데, 가장 최근 실거래가는 8억 6천만 원일 수 있습니다. 이때 시세를 말할 때는 최근 거래 흐름, 남아 있는 매물 가격, 거래량, 급매 여부까지 함께 보게 됩니다. &lt;br&gt;&lt;br&gt;그래서 시세는 실거래가보다 약간 넓은 개념입니다. &lt;b&gt;실거래가는 이미 끝난 거래&lt;/b&gt;이고, &lt;b&gt;시세는 지금 시장이 어느 수준에서 움직이는지&lt;/b&gt;를 보는 값이라고 이해하면 쉽습니다.&lt;/p&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;
  시세를 볼 때 체크할 것
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;최근 1~3개월 실거래가 흐름&lt;/li&gt; 
  &lt;li&gt;현재 매물 호가와 가격 조정 여부&lt;/li&gt; 
  &lt;li&gt;급매인지 일반 매물인지&lt;/li&gt; 
  &lt;li&gt;거래량이 늘고 있는지 줄고 있는지&lt;/li&gt; 
  &lt;li&gt;같은 면적이어도 층·향·수리 상태가 비슷한지&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #8b5cf6; background: #faf5ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(139,92,246,0.07);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  비교 / 판단표 | 세 숫자를 언제 어떻게 봐야 할까?
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt; 
 &lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 24%; text-align: left; color: #1d4ed8;&quot;&gt;비교 항목&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 25%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;공시지가·공시가격&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 25%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;실거래가&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 26%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;시세&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;성격&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;공적 평가가격&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;신고된 실제 거래가격&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;현재 시장 참고가격&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;주된 목적&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;세금·행정·공공 기준&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;가격 검증, 최근 거래 확인&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;시장 분위기, 협상 범위 파악&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;바로 활용할 상황&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;보유세, 공적 기준 확인&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;매수·매도 적정가격 확인&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;지금 팔리기 쉬운 가격대 확인&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;대표적인 오해&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;공시가격이 곧 시장가격이라고 보는 것&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;한 건만 보고 전체 시세를 단정하는 것&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;호가를 곧바로 실거래가로 받아들이는 것&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #ef4444; background: #fff5f5; border-radius: 14px; box-shadow: 0 6px 18px rgba(239,68,68,0.07);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  상황별 적용 | 집값 볼 때 무엇부터 확인하면 실수가 줄어들까?
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(239,68,68,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #7f1d1d; margin-bottom: 10px;&quot;&gt;
  매수하려는 사람이라면
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;&lt;b&gt;1순위는 최근 실거래가&lt;/b&gt;입니다.&lt;/li&gt; 
  &lt;li&gt;그다음 현재 나온 매물의 호가와 거래량을 같이 봅니다.&lt;/li&gt; 
  &lt;li&gt;공시가격·공시지가는 보유세나 공적 기준을 참고하는 용도로 활용합니다.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #bfdbfe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #1e40af; margin-bottom: 10px;&quot;&gt;
  매도하려는 사람이라면
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;최근 실거래가보다 내 집 조건이 더 좋은지 냉정하게 비교합니다.&lt;/li&gt; 
  &lt;li&gt;경쟁 매물 수와 호가 인하 흐름까지 함께 확인합니다.&lt;/li&gt; 
  &lt;li&gt;공시가격이 높다는 이유만으로 매도 가능 가격을 과하게 올리면 거래가 막힐 수 있습니다.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;
  보유 중인 집의 세금이나 행정 기준이 궁금하다면
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;아파트·연립·다세대는 공동주택 공시가격을 확인합니다.&lt;/li&gt; 
  &lt;li&gt;단독주택은 개별주택가격, 토지는 개별공시지가를 확인합니다.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;시장 매매가격과 공적 가격은 같지 않을 수 있다&lt;/b&gt;는 점을 전제로 봐야 합니다.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div id=&quot;code_coupang_realestate_basic_price_2&quot; data-ke-type=&quot;html&quot; data-source=&quot;&lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&lt;/script&gt;&quot;&gt; 
 &lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt; 
 &lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.07);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  체크리스트 | 집값 볼 때 숫자 3개를 이렇게 보면 쉽습니다
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;
  실전 체크리스트
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;지금 보고 있는 대상이 &lt;b&gt;토지인지, 아파트인지, 단독주택인지&lt;/b&gt; 먼저 구분합니다.&lt;/li&gt; 
  &lt;li&gt;최근 실거래가를 같은 단지·같은 면적 기준으로 확인합니다.&lt;/li&gt; 
  &lt;li&gt;현재 호가와 거래량을 함께 보며 시세 흐름을 읽습니다.&lt;/li&gt; 
  &lt;li&gt;공시지가·공시가격은 세금과 공적 기준 참고용으로 따로 봅니다.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;숫자 하나만 보고 비싸다, 싸다 단정하지 않습니다.&lt;/b&gt;&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt; 
 &lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 32%; text-align: left; color: #1d4ed8;&quot;&gt;확인 항목&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 34%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;왜 필요한가&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 34%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;실수 포인트&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;주택 유형 구분&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;공시지가인지 공시가격인지 정확히 보기 위해 필요합니다.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;아파트인데 공시지가만 찾는 경우&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;최근 실거래가&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;실제 거래된 가격대를 파악할 수 있습니다.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;너무 오래된 거래를 현재 기준으로 쓰는 경우&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;현재 호가와 매물 수&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;지금 시장에서 협상 가능한 구간을 읽을 수 있습니다.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;호가를 실거래가처럼 받아들이는 경우&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;공시가격·공시지가&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;세금, 공적 기준, 행정 활용 맥락을 이해할 수 있습니다.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;시장가격과 같은 뜻으로 해석하는 경우&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
  FAQ
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;&lt;b&gt;Q. 공시지가가 높으면 집값도 반드시 높은가요?&lt;/b&gt;&lt;br&gt;→ 꼭 그렇지는 않습니다. 공시지가는 공적 가격이고, 실제 매매가격은 실거래가와 시세 흐름을 함께 봐야 합니다.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q. 아파트는 공시지가를 보면 되나요?&lt;/b&gt;&lt;br&gt;→ 아파트·연립·다세대는 보통 &lt;b&gt;공동주택 공시가격&lt;/b&gt;을 확인하는 것이 더 정확합니다.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q. 실거래가와 시세가 왜 다를 수 있나요?&lt;/b&gt;&lt;br&gt;→ 실거래가는 이미 끝난 거래이고, 시세는 현재 호가와 거래 분위기까지 반영하기 때문입니다.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q. 집값을 볼 때 가장 먼저 봐야 할 숫자는 무엇인가요?&lt;/b&gt;&lt;br&gt;→ 매수·매도 판단이라면 최근 실거래가가 우선이고, 그다음 시세 흐름을 함께 보는 것이 일반적입니다.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  결론 | 집값 판단은 실거래가와 시세로, 공시지가는 역할을 나눠서 봐야 합니다
 &lt;/div&gt; 
&lt;/div&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;공시지가·공시가격, 실거래가, 시세는 모두 부동산 가격을 보여주지만 &lt;b&gt;같은 숫자가 아닙니다.&lt;/b&gt; &lt;br&gt;&lt;br&gt;공시지가·공시가격은 세금과 행정 기준에 가깝고, 실거래가는 실제 거래된 가격이며, 시세는 지금 시장이 어느 수준에서 움직이는지를 보여주는 참고값입니다. &lt;br&gt;&lt;br&gt;따라서 집값을 볼 때는 &lt;b&gt;실거래가로 바닥을 확인하고, 시세로 현재 흐름을 읽고, 공시가격·공시지가로 공적 기준을 따로 확인하는 순서&lt;/b&gt;가 가장 실수가 적습니다.&lt;/p&gt;&lt;blockquote data-ke-style=&quot;style1&quot;&gt;집값은 숫자 하나로 판단하는 것이 아니라, 공적 가격과 실제 거래가격, 현재 시장가격의 역할을 구분해서 볼 때 가장 정확해집니다.&lt;/blockquote&gt;&lt;div style=&quot;margin: 24px 0 0; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
  관련 글 링크
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/exclusive-area-vs-supply-area-vs-contract-area-guide&quot;&gt;전용면적 공급면적 계약면적 차이 | 아파트 평수 볼 때 꼭 알아야 할 핵심 정리&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/first-time-special-supply-eligibility-guide-with-other-types&quot;&gt;생애최초 특별공급 조건 총정리 | 신혼부부·다자녀와 차이까지 쉽게 정리&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/report-move-in-and-fixed-date-difference-guide&quot;&gt;전입신고와 확정일자 차이 | 왜 둘 다 중요한가&lt;/a&gt;&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;※ 참고 기준: 국토교통부 실거래가 공개시스템 공개안내, 부동산공시가격알리미의 공동주택 공시가격·개별공시지가 개요 페이지 기준으로 핵심 정의를 정리했습니다.&lt;/p&gt;</description>
      <category>부동산/부동산 기초</category>
      <category>공동주택 공시가격</category>
      <category>공시지가 뜻</category>
      <category>공시지가 실거래가 차이</category>
      <category>부동산 기초</category>
      <category>부동산 시세</category>
      <category>시세 실거래가 차이</category>
      <category>아파트 실거래가</category>
      <category>집값 보는법</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/133</guid>
      <comments>https://trace90.tistory.com/entry/official-land-price-vs-real-transaction-vs-market-price-guide#entry133comment</comments>
      <pubDate>Wed, 15 Apr 2026 15:30:13 +0900</pubDate>
    </item>
    <item>
      <title>전용면적 공급면적 계약면적 차이 | 아파트 평수 볼 때 꼭 알아야 할 핵심 정리</title>
      <link>https://trace90.tistory.com/entry/exclusive-area-vs-supply-area-vs-contract-area-guide</link>
      <description>&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #fefce8 100%); box-shadow: 0 10px 28px rgba(245,158,11,0.08);&quot;&gt; 
 &lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
  핵심 요약
 &lt;/div&gt; 
 &lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt; 
  &lt;div&gt;
   &lt;b&gt;전용면적&lt;/b&gt;은 실제로 단독 사용하는 공간 기준입니다.
  &lt;/div&gt; 
  &lt;div&gt;
   &lt;b&gt;공급면적&lt;/b&gt;은 전용면적에 주거공용면적을 더한 값입니다.
  &lt;/div&gt; 
  &lt;div&gt;
   &lt;b&gt;계약면적&lt;/b&gt;은 공급면적에 기타공용면적까지 포함한 더 넓은 기준입니다.
  &lt;/div&gt; 
  &lt;div&gt;
   &lt;b&gt;가장 중요한 결론&lt;/b&gt; 평수 비교나 체감 넓이를 볼 때는 숫자 하나만 보지 말고, 전용면적 기준인지 공급면적 기준인지부터 먼저 확인해야 합니다.
  &lt;/div&gt; 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  한눈에 보는 차이 | 전용면적·공급면적·계약면적은 무엇이 다를까?
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt; 
 &lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 18%; text-align: left; color: #1d4ed8;&quot;&gt;구분&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 42%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;뜻&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 40%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;볼 때 핵심 포인트&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;전용면적&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;세대가 단독으로 사용하는 실사용 면적 기준&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;체감 넓이와 직접 연결되는 핵심 숫자&lt;/b&gt;입니다.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;공급면적&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;전용면적 + 계단, 복도, 현관홀 등 주거공용면적&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;광고나 평형 표기에서 자주 보이는 숫자&lt;/b&gt;입니다.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;계약면적&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;공급면적 + 기타공용면적까지 포함한 기준&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;가장 넓게 보일 수 있어 비교 시 혼동이 큽니다.&lt;/b&gt;&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  왜 헷갈릴까 | 같은 집인데 면적 숫자가 여러 개 보이는 이유
 &lt;/div&gt; 
&lt;/div&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;부동산 매물을 보면 같은 집인데도 어떤 곳은 59㎡, 어떤 곳은 84㎡, 또 어떤 곳은 109㎡처럼 숫자가 다르게 보입니다. &lt;br&gt;&lt;br&gt;이 차이는 집이 바뀐 것이 아니라 &lt;b&gt;어떤 면적 기준으로 표시했는지&lt;/b&gt;가 다르기 때문입니다. &lt;br&gt;&lt;br&gt;특히 아파트 평수나 실사용 공간을 처음 보는 분들은 &lt;b&gt;숫자가 더 큰 쪽이 더 넓게 쓰는 집이라고 오해&lt;/b&gt;하기 쉬운데, 실제 생활 공간을 볼 때는 전용면적부터 확인해야 합니다.&lt;/p&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #bfdbfe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #1e40af; margin-bottom: 10px;&quot;&gt;
  이 글에서 먼저 구분하면 쉬워집니다
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;&lt;b&gt;전용면적&lt;/b&gt; = 실제로 내 집 안에서 단독 사용하는 공간&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;공급면적&lt;/b&gt; = 전용면적 + 공용 복도·계단 등 일부 공용면적 포함&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;계약면적&lt;/b&gt; = 공급면적보다 더 넓게 잡힐 수 있는 기준&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.07);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  전용면적 뜻 | 내가 실제로 쓰는 공간 기준
 &lt;/div&gt; 
&lt;/div&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;전용면적은 세대 내부에서 &lt;b&gt;내가 단독으로 사용하는 공간&lt;/b&gt;을 말합니다. &lt;br&gt;&lt;br&gt;보통 방, 거실, 주방, 욕실처럼 실제 생활하는 내부 공간을 이해할 때 가장 먼저 보는 기준입니다. &lt;br&gt;&lt;br&gt;그래서 실거주 관점에서는 &lt;b&gt;전용면적이 가장 중요한 숫자&lt;/b&gt;라고 보면 됩니다.&lt;/p&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;
  전용면적 볼 때 체크할 것
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;&lt;b&gt;실제 체감 넓이&lt;/b&gt;를 보려면 전용면적부터 확인합니다.&lt;/li&gt; 
  &lt;li&gt;같은 84형처럼 보여도 구조에 따라 체감이 달라질 수 있습니다.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;평수만 보고 판단하면 착오&lt;/b&gt;가 생길 수 있습니다.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div id=&quot;code_coupang_realestate_basic_3&quot; data-ke-type=&quot;html&quot; data-source=&quot;&lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&lt;/script&gt;&quot;&gt; 
 &lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt; 
 &lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  공급면적 뜻 | 왜 평수 표기에 많이 쓰일까?
 &lt;/div&gt; 
&lt;/div&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;공급면적은 &lt;b&gt;전용면적에 주거공용면적을 더한 값&lt;/b&gt;입니다. &lt;br&gt;&lt;br&gt;즉, 집 내부만이 아니라 복도, 계단, 현관홀 같은 공용 부분 중 세대에 배분되는 면적이 포함됩니다. &lt;br&gt;&lt;br&gt;부동산 광고나 분양 자료에서 흔히 보는 평형 표기는 이 공급면적 기준과 연결되는 경우가 많아서, 많은 분들이 공급면적 숫자를 먼저 보게 됩니다. &lt;br&gt;&lt;br&gt;다만 &lt;b&gt;공급면적이 크다고 해서 내가 실제로 더 넓게 쓰는 공간이 늘어나는 것은 아닙니다.&lt;/b&gt;&lt;/p&gt;&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt; 
 &lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; color: #1d4ed8;&quot;&gt;비교 포인트&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 36%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;전용면적&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 36%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;공급면적&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;공간 기준&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;실제 단독 사용 공간&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;단독 사용 공간 + 주거공용면적&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;체감 넓이 판단&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;직접 연결&lt;/b&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;착시 가능&lt;/b&gt;&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;광고 노출 빈도&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;상대적으로 적음&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;상대적으로 많음&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #ef4444; background: #fff5f5; border-radius: 14px; box-shadow: 0 6px 18px rgba(239,68,68,0.07);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  계약면적 뜻 | 가장 넓어 보여 헷갈리기 쉬운 숫자
 &lt;/div&gt; 
&lt;/div&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;계약면적은 공급면적에 &lt;b&gt;기타공용면적까지 포함&lt;/b&gt;한 기준입니다. &lt;br&gt;&lt;br&gt;따라서 숫자상으로는 가장 크게 보일 수 있지만, 실제 생활 공간을 판단할 때는 그대로 체감 넓이로 받아들이면 안 됩니다. &lt;br&gt;&lt;br&gt;특히 비교할 때는 &lt;b&gt;한 매물은 계약면적, 다른 매물은 전용면적으로 보면 비교 자체가 틀어질 수 있습니다.&lt;/b&gt;&lt;/p&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(239,68,68,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #7f1d1d; margin-bottom: 10px;&quot;&gt;
  실수하기 쉬운 포인트
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;&lt;b&gt;숫자가 더 크다고 더 넓게 사는 집이라고 생각하는 경우&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;전용면적과 공급면적을 섞어서 비교하는 경우&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;평수만 보고 실제 구조와 체감 공간을 놓치는 경우&lt;/b&gt;&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #8b5cf6; background: #faf5ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(139,92,246,0.07);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  평수 볼 때 헷갈리지 않는 체크 순서
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #ddd6fe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt; 
 &lt;ol style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;decimal&quot;&gt; 
  &lt;li&gt;&lt;b&gt;전용면적부터 확인&lt;/b&gt;합니다.&lt;/li&gt; 
  &lt;li&gt;그다음 공급면적이 얼마나 차이 나는지 봅니다.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;계약면적은 비교 기준을 맞춘 뒤&lt;/b&gt; 참고합니다.&lt;/li&gt; 
  &lt;li&gt;평수 숫자보다 구조, 방 크기, 수납, 발코니 확장 여부를 함께 봅니다.&lt;/li&gt; 
 &lt;/ol&gt; 
&lt;/div&gt;&lt;div id=&quot;code_coupang_realestate_basic_4&quot; data-ke-type=&quot;html&quot; data-source=&quot;&lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&lt;/script&gt;&quot;&gt; 
 &lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt; 
 &lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
  FAQ
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;&lt;b&gt;Q. 전용면적과 공급면적 중 무엇을 먼저 봐야 하나요?&lt;/b&gt;&lt;br&gt;→ &lt;b&gt;실제 체감 공간을 보려면 전용면적을 먼저&lt;/b&gt; 보는 것이 좋습니다.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q. 아파트 34평은 전용면적 34평인가요?&lt;/b&gt;&lt;br&gt;→ 보통은 공급면적 기준으로 말하는 경우가 많아 &lt;b&gt;전용면적과 같다고 보면 안 됩니다.&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q. 계약면적이 더 크면 더 좋은 집인가요?&lt;/b&gt;&lt;br&gt;→ 아닙니다. &lt;b&gt;실사용 공간과 직접 같지 않을 수 있습니다.&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q. 왜 같은 84형인데 체감이 다를 수 있나요?&lt;/b&gt;&lt;br&gt;→ 구조, 방 배치, 수납, 확장 여부에 따라 체감이 달라질 수 있습니다.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  결론 | 평수 비교 전에 먼저 면적 기준부터 맞춰야 합니다
 &lt;/div&gt; 
&lt;/div&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;전용면적, 공급면적, 계약면적은 같은 집을 다른 기준으로 보는 숫자입니다. &lt;br&gt;&lt;br&gt;그래서 아파트 평수나 실사용 공간을 제대로 보려면 &lt;b&gt;전용면적 → 공급면적 → 계약면적 순서&lt;/b&gt;로 이해하는 것이 가장 쉽습니다. &lt;br&gt;&lt;br&gt;특히 매물 비교에서는 &lt;b&gt;같은 기준끼리 비교하지 않으면 클릭은 유도돼도 판단은 틀릴 수 있습니다.&lt;/b&gt;&lt;/p&gt;&lt;blockquote data-ke-style=&quot;style1&quot;&gt;아파트 평수에서 가장 많이 헷갈리는 이유는 면적 숫자가 많은 것이 아니라, 어떤 기준의 숫자인지 구분하지 않고 보기 때문입니다.&lt;/blockquote&gt;</description>
      <category>부동산/부동산 기초</category>
      <category>계약면적 뜻</category>
      <category>공급면적 뜻</category>
      <category>부동산 면적 차이</category>
      <category>아파트 면적</category>
      <category>아파트 평수 보는법</category>
      <category>전용면적 공급면적 차이</category>
      <category>전용면적 뜻</category>
      <category>평수 계산</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/132</guid>
      <comments>https://trace90.tistory.com/entry/exclusive-area-vs-supply-area-vs-contract-area-guide#entry132comment</comments>
      <pubDate>Wed, 15 Apr 2026 08:30:28 +0900</pubDate>
    </item>
    <item>
      <title>등기부등본 보는법 | 매매&amp;middot;전세&amp;middot;월세 계약 전 꼭 확인할 핵심 정리</title>
      <link>https://trace90.tistory.com/entry/how-to-read-real-estate-register-before-contract-guide</link>
      <description>&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #fefce8 100%); box-shadow: 0 10px 28px rgba(245,158,11,0.08);&quot;&gt; 
 &lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
   핵심 요약 
 &lt;/div&gt; 
 &lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt; 
  &lt;div&gt; &lt;b&gt;이 글에서 바로 볼 것&lt;/b&gt; 등기부등본에서 계약 전에 반드시 확인해야 할 항목과 읽는 순서 
  &lt;/div&gt; 
  &lt;div&gt; &lt;b&gt;공통 기준&lt;/b&gt; 매매·전세·월세 모두 표제부, 갑구, 을구, 소유자 일치 여부, 권리관계 확인이 기본입니다. 
  &lt;/div&gt; 
  &lt;div&gt; &lt;b&gt;핵심 위험&lt;/b&gt; 가압류·압류·가처분·경매개시결정, 과도한 근저당, 계약 상대방과 소유자 불일치 
  &lt;/div&gt; 
  &lt;div&gt; &lt;b&gt;한 줄 결론&lt;/b&gt; 매매·전세·월세를 가리지 않고 계약 전에는 반드시 등기부등본으로 부동산 표시와 권리관계를 먼저 확인해야 합니다. 
  &lt;/div&gt; 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
   한눈에 보는 기준 | 등기부등본은 모든 부동산 계약의 기본 확인 서류입니다 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt; 
 &lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 22%; text-align: left; color: #1d4ed8;&quot;&gt;확인 구역&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 40%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;무엇을 확인하나&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 38%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;계약 전 판단 기준&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;표제부&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;건물 종류, 소재지, 면적 등 부동산의 표시&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;계약하려는 주소·동·호수와 일치하는지&lt;/b&gt; 먼저 확인해야 합니다.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;갑구&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;소유권 관련 사항, 소유자, 압류·가압류·가처분·경매개시결정 등&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;계약 상대방과 소유자가 같은지&lt;/b&gt;, 위험 권리가 있는지 확인해야 합니다.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;을구&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;근저당권, 전세권, 지상권 등 소유권 외 권리&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;선순위 권리와 채권최고액 규모&lt;/b&gt;를 함께 보고 판단해야 합니다.&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
   등기부등본이 왜 중요한가 | 매매·전세·월세 공통 기준으로 봐야 합니다 
 &lt;/div&gt; 
&lt;/div&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;등기부등본은 &lt;b&gt;부동산의 표시와 권리관계를 확인하는 공적 서류&lt;/b&gt;입니다. &lt;br&gt;&lt;br&gt;매매 계약에서는 &lt;b&gt;내가 사려는 부동산의 소유권과 말소되어야 할 권리&lt;/b&gt;를 확인하는 기준이 되고, 전세·월세 계약에서는 &lt;b&gt;보증금 보호와 계약 상대방 확인&lt;/b&gt;의 기본 자료가 됩니다. &lt;br&gt;&lt;br&gt;따라서 &lt;b&gt;매매·전세·월세를 구분해서 중요도를 다르게 볼 문제가 아니라, 모든 부동산 계약에서 먼저 확인해야 할 공통 서류&lt;/b&gt;로 보는 것이 맞습니다.&lt;/p&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.07);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
   등기부등본 보는 순서 | 표제부 → 갑구 → 을구 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;
   1단계 | 표제부 
 &lt;/div&gt; 
 &lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;
   표제부는 건물 종류, 주소, 면적처럼 &lt;b&gt;부동산 자체의 표시&lt;/b&gt;를 확인하는 구역입니다. 
  &lt;br&gt; 
  &lt;br&gt;&lt;b&gt;계약하려는 집의 주소, 동·호수, 건물 종류가 정확히 일치하는지&lt;/b&gt; 먼저 확인해야 합니다. 아파트, 오피스텔, 다세대, 다가구처럼 비슷한 주소가 많은 경우에는 더 꼼꼼히 보는 것이 좋습니다. 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;
   2단계 | 갑구 
 &lt;/div&gt; 
 &lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;
   갑구는 &lt;b&gt;소유권과 관련된 내용&lt;/b&gt;을 확인하는 구역입니다. 
  &lt;br&gt; 
  &lt;br&gt;가장 먼저 &lt;b&gt;현재 소유자 이름&lt;/b&gt;을 봐야 합니다. 계약 상대방 이름과 등기상 소유자 이름이 다르면 반드시 관계를 확인해야 합니다. 
  &lt;br&gt; 
  &lt;br&gt;또한 갑구에는 &lt;b&gt;가압류, 압류, 가처분, 경매개시결정&lt;/b&gt; 같은 위험 신호가 표시될 수 있습니다. 이런 내용이 있으면 계약 전 재확인이 필요합니다. 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;
   3단계 | 을구 
 &lt;/div&gt; 
 &lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;
   을구는 &lt;b&gt;근저당권, 전세권, 지상권 등 소유권 외 권리&lt;/b&gt;를 확인하는 구역입니다. 
  &lt;br&gt; 
  &lt;br&gt;특히 &lt;b&gt;근저당권&lt;/b&gt;은 금융기관 대출이 설정되어 있을 수 있다는 뜻입니다. 여기서는 &lt;b&gt;근저당 유무만 볼 것이 아니라 채권최고액 규모와 다른 선순위 권리까지 함께 확인&lt;/b&gt;해야 합니다. 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div id=&quot;code_coupang_realestate_basic_1&quot; data-ke-type=&quot;html&quot; data-source=&quot;&lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&lt;/script&gt;&quot;&gt; 
 &lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt; 
 &lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
   매매·전세·월세를 같은 기준으로 보면 무엇이 다른가? 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt; 
 &lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 18%; text-align: left; color: #1d4ed8;&quot;&gt;계약 유형&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 41%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;공통 확인 기준&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 41%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;추가로 더 볼 부분&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;매매&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;표제부 확인, 소유자 일치 여부, 압류·가압류 여부, 근저당 등 권리관계 확인&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;잔금 전 말소될 권리인지, 소유권 이전에 장애가 없는지&lt;/b&gt;를 더 확인해야 합니다.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;전세&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;표제부 확인, 소유자 일치 여부, 압류·가압류 여부, 근저당 등 권리관계 확인&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;보증금 회수 위험과 선순위 권리 구조&lt;/b&gt;를 더 세밀하게 봐야 합니다.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;월세&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;표제부 확인, 소유자 일치 여부, 압류·가압류 여부, 근저당 등 권리관계 확인&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;보증금이 있다면 전세처럼 권리관계와 보증금 보호 관점&lt;/b&gt;에서 확인해야 합니다.&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #ef4444; background: #fff5f5; border-radius: 14px; box-shadow: 0 6px 18px rgba(239,68,68,0.07);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
   이 항목이 보이면 반드시 다시 확인해야 합니다 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(239,68,68,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #7f1d1d; margin-bottom: 10px;&quot;&gt;
   위험 신호 체크리스트 
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;&lt;b&gt;소유자 이름과 계약 상대방 이름이 다를 때&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;갑구에 압류, 가압류, 가처분, 경매개시결정이 있을 때&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;을구에 선순위 권리나 근저당권이 복잡할 때&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;잔금 전 말소 필요 권리를 확인하지 않았을 때&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;대리인 계약인데 위임 관계가 명확하지 않을 때&lt;/b&gt;&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #8b5cf6; background: #faf5ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(139,92,246,0.07);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
   계약 전에 바로 확인하는 순서 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #ddd6fe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt; 
 &lt;ol style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;decimal&quot;&gt; 
  &lt;li&gt;&lt;b&gt;등기부등본 최신본을 확인합니다.&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;표제부에서 주소와 동·호수를 확인합니다.&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;갑구에서 현재 소유자와 위험 권리 유무를 확인합니다.&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;을구에서 근저당권과 선순위 권리를 확인합니다.&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;계약 상대방이 소유자가 아니면 위임 관계를 추가 확인합니다.&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;매매는 말소·이전 조건, 전세·월세는 보증금 보호 관점까지 함께 검토합니다.&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;계약 당일에도 최신본으로 다시 확인합니다.&lt;/b&gt;&lt;/li&gt; 
 &lt;/ol&gt; 
&lt;/div&gt;&lt;div id=&quot;code_coupang_realestate_basic_2&quot; data-ke-type=&quot;html&quot; data-source=&quot;&lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&lt;/script&gt;&quot;&gt; 
 &lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt; 
 &lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
   FAQ 
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;&lt;b&gt;Q. 등기부등본은 전세 계약할 때만 보면 되나요?&lt;/b&gt;&lt;br&gt;→ &lt;b&gt;아닙니다.&lt;/b&gt; &lt;b&gt;매매·전세·월세 계약 모두&lt;/b&gt; 등기부등본 확인이 필요합니다.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q. 갑구와 을구 중 어디를 더 중요하게 봐야 하나요?&lt;/b&gt;&lt;br&gt;→ &lt;b&gt;둘 다 중요합니다.&lt;/b&gt; 갑구는 소유권과 위험 신호, 을구는 근저당 등 권리관계를 확인하는 핵심 구역입니다.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q. 근저당이 있으면 바로 계약을 포기해야 하나요?&lt;/b&gt;&lt;br&gt;→ &lt;b&gt;근저당 유무만으로 판단하지 말고&lt;/b&gt; &lt;b&gt;채권최고액 규모와 선순위 권리&lt;/b&gt;를 함께 확인해야 합니다.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q. 월세 계약도 등기부등본을 꼼꼼히 봐야 하나요?&lt;/b&gt;&lt;br&gt;→ 네. &lt;b&gt;보증금이 있는 월세&lt;/b&gt;는 권리관계를 반드시 확인해야 합니다.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q. 매매 계약에서는 무엇을 더 확인해야 하나요?&lt;/b&gt;&lt;br&gt;→ &lt;b&gt;소유권 이전 장애 여부&lt;/b&gt;와 &lt;b&gt;잔금 전 말소될 권리&lt;/b&gt;까지 함께 확인해야 합니다.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
   결론 | 매매·전세·월세 모두 같은 출발점에서 확인해야 합니다 
 &lt;/div&gt; 
&lt;/div&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;등기부등본은 &lt;b&gt;표제부에서 부동산 표시 확인, 갑구에서 소유자와 위험 권리 확인, 을구에서 근저당 등 권리관계 확인&lt;/b&gt;이라는 같은 기준으로 읽으면 됩니다. &lt;br&gt;&lt;br&gt;이 기준은 &lt;b&gt;매매·전세·월세 모두 동일하게 적용&lt;/b&gt;됩니다. 이후에 매매는 이전·말소 조건을 더 보고, 전세·월세는 보증금 보호 관점을 더 보는 식으로 확장하면 됩니다.&lt;/p&gt;&lt;blockquote data-ke-style=&quot;style1&quot;&gt;부동산 계약에서 가장 먼저 확인해야 할 것은 집의 분위기가 아니라 등기부등본에 적힌 표시와 권리관계입니다.&lt;/blockquote&gt;&lt;div style=&quot;margin: 24px 0 0; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
   관련 글 링크 
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/jeonse-contract-checklist-beginners-mistake-prevention-guide&quot;&gt;전세 계약 전 꼭 확인해야 할 체크리스트 | 초보자용 실수 방지 가이드&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/report-move-in-and-fixed-date-difference-guide&quot;&gt;전입신고와 확정일자 차이 | 왜 둘 다 중요한가&lt;/a&gt;&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;</description>
      <category>부동산/부동산 기초</category>
      <category>갑구 을구</category>
      <category>근저당 확인</category>
      <category>등기부등본 보는법</category>
      <category>등기부등본 보는법 전세</category>
      <category>등기부등본 확인</category>
      <category>매매 계약 확인사항</category>
      <category>부동산 계약 체크리스트</category>
      <category>월세계약 확인사항</category>
      <category>전세계약 확인사항</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/131</guid>
      <comments>https://trace90.tistory.com/entry/how-to-read-real-estate-register-before-contract-guide#entry131comment</comments>
      <pubDate>Tue, 14 Apr 2026 23:50:59 +0900</pubDate>
    </item>
    <item>
      <title>S&amp;amp;P500 투자로 1억 만들기 | 보수적 연 7% 기준 일시금&amp;middot;적립식 복리 계산</title>
      <link>https://trace90.tistory.com/entry/compound-interest-100m-lump-sum-monthly-5year-simulation-guide</link>
      <description>&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 18px; background: linear-gradient(180deg,#ffffff 0%,#eff6ff 100%);&quot;&gt; 
 &lt;div style=&quot;font-size: 18px; font-weight: 800; color: #111827; margin-bottom: 10px;&quot;&gt;
   핵심 요약 
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #374151; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;이번 글은 &lt;b&gt;S&amp;amp;P500 보수적 연평균 수익률 7%&lt;/b&gt; 기준으로 계산했습니다.&lt;/li&gt; 
  &lt;li&gt;일시금 1000만원·3000만원·5000만원, 월 30만원·50만원·100만원·200만원·300만원을 비교했습니다.&lt;/li&gt; 
  &lt;li&gt;각 표는 &lt;b&gt;평가금액 중심&lt;/b&gt;으로 정리하고, 원금은 괄호로 함께 표기했습니다.&lt;/li&gt; 
  &lt;li&gt;핵심은 수익률 자랑보다 &lt;b&gt;1억 도달 시점&lt;/b&gt;을 현실적으로 비교하는 것입니다.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 14px 18px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 12px;&quot;&gt; 
 &lt;div style=&quot;font-size: 21px; font-weight: 800; color: #111827;&quot;&gt;
   계산 기준 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt; 
 &lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.8; background: #fff; border: 1px solid #fde68a;&quot; data-ke-align=&quot;alignLeft&quot;&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;padding: 12px; background: #fef3c7; border: 1px solid #fde68a; text-align: left;&quot;&gt;항목&lt;/th&gt; 
    &lt;th style=&quot;padding: 12px; background: #fef3c7; border: 1px solid #fde68a; text-align: left;&quot;&gt;기준&lt;/th&gt; 
    &lt;th style=&quot;padding: 12px; background: #fef3c7; border: 1px solid #fde68a; text-align: left;&quot;&gt;설명&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #fde68a;&quot;&gt;수익률 기준&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #fde68a;&quot;&gt;연 7%&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #fde68a;&quot;&gt;S&amp;amp;P500 장기 수익률을 보수적으로 잡은 기준&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #fde68a;&quot;&gt;일시금&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #fde68a;&quot;&gt;1000만원 / 3000만원 / 5000만원&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #fde68a;&quot;&gt;시작 시점에 한 번만 투자&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #fde68a;&quot;&gt;월 적립금&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #fde68a;&quot;&gt;30만원 / 50만원 / 100만원 / 200만원 / 300만원&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #fde68a;&quot;&gt;매월 말 적립 기준&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #fde68a;&quot;&gt;비교 기간&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #fde68a;&quot;&gt;10년 / 20년 / 30년&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #fde68a;&quot;&gt;평가금액과 1억 도달 시점 비교&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #1d4ed8; margin-bottom: 10px;&quot;&gt;
   왜 연 7%로 봤을까? 
 &lt;/div&gt; 
 &lt;p style=&quot;margin: 0; color: #374151; line-height: 1.9; font-size: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;S&amp;amp;P500 장기 평균 수익률은 10% 안팎으로 자주 언급되지만, 실제 투자에서는 환율, 세금, 수수료, 변동성 때문에 체감 수익률이 더 낮아질 수 있습니다. 그래서 이번 글은 계획용 기준으로 &lt;b&gt;보수적인 연 7%&lt;/b&gt;를 적용했습니다.&lt;/p&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 14px 18px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 12px;&quot;&gt; 
 &lt;div style=&quot;font-size: 21px; font-weight: 800; color: #111827;&quot;&gt;
   일시금만 투자하면 1억까지 얼마나 걸릴까? 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 16px 0 20px; padding: 16px 18px; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #1d4ed8; margin-bottom: 10px;&quot;&gt;
   구조 해석 
 &lt;/div&gt; 
 &lt;p style=&quot;margin: 0; color: #374151; line-height: 1.9; font-size: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;일시금만 투자하는 방식은 시작 자금이 클수록 유리합니다. 다만 월 적립이 없기 때문에 1억 도달 속도는 생각보다 느릴 수 있습니다.&lt;/p&gt; 
&lt;/div&gt;&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt; 
 &lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.8; background: #fff; border: 1px solid #bfdbfe;&quot; data-ke-align=&quot;alignLeft&quot;&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;padding: 12px; background: #eff6ff; border: 1px solid #bfdbfe; text-align: left;&quot;&gt;일시금&lt;/th&gt; 
    &lt;th style=&quot;padding: 12px; background: #eff6ff; border: 1px solid #bfdbfe; text-align: left;&quot;&gt;10년&lt;/th&gt; 
    &lt;th style=&quot;padding: 12px; background: #eff6ff; border: 1px solid #bfdbfe; text-align: left;&quot;&gt;20년&lt;/th&gt; 
    &lt;th style=&quot;padding: 12px; background: #eff6ff; border: 1px solid #bfdbfe; text-align: left;&quot;&gt;30년&lt;/th&gt; 
    &lt;th style=&quot;padding: 12px; background: #eff6ff; border: 1px solid #bfdbfe; text-align: left;&quot;&gt;1억 도달 시점&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bfdbfe;&quot;&gt;1000만원&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bfdbfe;&quot;&gt;2,010만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 1,000만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bfdbfe;&quot;&gt;4,039만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 1,000만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bfdbfe;&quot;&gt;8,116만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 1,000만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bfdbfe; color: #dc2626; font-weight: 800;&quot;&gt;33.0년&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bfdbfe; background: #f8fbff;&quot;&gt;3000만원&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bfdbfe; background: #f8fbff;&quot;&gt;6,029만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 3,000만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bfdbfe; background: #f8fbff;&quot;&gt;1억 2,116만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 3,000만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bfdbfe; background: #f8fbff;&quot;&gt;2억 4,349만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 3,000만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bfdbfe; background: #f8fbff; color: #dc2626; font-weight: 800;&quot;&gt;17.3년&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bfdbfe;&quot;&gt;5000만원&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bfdbfe;&quot;&gt;1억 48만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 5,000만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bfdbfe;&quot;&gt;2억 193만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 5,000만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bfdbfe;&quot;&gt;4억 582만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 5,000만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bfdbfe; color: #dc2626; font-weight: 800;&quot;&gt;10.0년&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 14px 18px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 12px;&quot;&gt; 
 &lt;div style=&quot;font-size: 21px; font-weight: 800; color: #111827;&quot;&gt;
   월 적립만 투자하면 1억까지 얼마나 걸릴까? 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt; 
 &lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.8; background: #fff; border: 1px solid #bbf7d0;&quot; data-ke-align=&quot;alignLeft&quot;&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;padding: 12px; background: #f0fdf4; border: 1px solid #bbf7d0; text-align: left;&quot;&gt;월 적립금&lt;/th&gt; 
    &lt;th style=&quot;padding: 12px; background: #f0fdf4; border: 1px solid #bbf7d0; text-align: left;&quot;&gt;10년&lt;/th&gt; 
    &lt;th style=&quot;padding: 12px; background: #f0fdf4; border: 1px solid #bbf7d0; text-align: left;&quot;&gt;20년&lt;/th&gt; 
    &lt;th style=&quot;padding: 12px; background: #f0fdf4; border: 1px solid #bbf7d0; text-align: left;&quot;&gt;30년&lt;/th&gt; 
    &lt;th style=&quot;padding: 12px; background: #f0fdf4; border: 1px solid #bbf7d0; text-align: left;&quot;&gt;1억 도달 시점&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bbf7d0;&quot;&gt;월 30만원&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bbf7d0;&quot;&gt;5,193만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 3,600만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bbf7d0;&quot;&gt;1억 5,628만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 7,200만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bbf7d0;&quot;&gt;3억 6,599만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 1억 800만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bbf7d0; color: #dc2626; font-weight: 800;&quot;&gt;15.5년&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bbf7d0; background: #f9fffb;&quot;&gt;월 50만원&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bbf7d0; background: #f9fffb;&quot;&gt;8,654만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 6,000만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bbf7d0; background: #f9fffb;&quot;&gt;2억 6,046만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 1억 2,000만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bbf7d0; background: #f9fffb;&quot;&gt;6억 998만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 1억 8,000만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bbf7d0; background: #f9fffb; color: #dc2626; font-weight: 800;&quot;&gt;11.1년&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bbf7d0;&quot;&gt;월 100만원&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bbf7d0;&quot;&gt;1억 7,308만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 1억 2,000만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bbf7d0;&quot;&gt;5억 2,093만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 2억 4,000만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bbf7d0;&quot;&gt;12억 1,997만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 3억 6,000만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bbf7d0; color: #dc2626; font-weight: 800;&quot;&gt;6.7년&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bbf7d0; background: #f9fffb;&quot;&gt;월 200만원&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bbf7d0; background: #f9fffb;&quot;&gt;3억 4,617만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 2억 4,000만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bbf7d0; background: #f9fffb;&quot;&gt;10억 4,185만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 4억 8,000만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bbf7d0; background: #f9fffb;&quot;&gt;24억 3,994만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 7억 2,000만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bbf7d0; background: #f9fffb; color: #dc2626; font-weight: 800;&quot;&gt;3.8년&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bbf7d0;&quot;&gt;월 300만원&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bbf7d0;&quot;&gt;5억 1,925만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 3억 6,000만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bbf7d0;&quot;&gt;15억 6,278만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 7억 2,000만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bbf7d0;&quot;&gt;36억 5,991만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 10억 8,000만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bbf7d0; color: #dc2626; font-weight: 800;&quot;&gt;2.6년&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 14px 18px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 12px;&quot;&gt; 
 &lt;div style=&quot;font-size: 21px; font-weight: 800; color: #111827;&quot;&gt;
   일시금 + 월 적립을 병행하면 얼마나 빨라질까? 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 16px 0 20px; padding: 16px 18px; border: 1px solid #bae6fd; border-radius: 16px; background: #ffffff;&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0369a1; margin-bottom: 10px;&quot;&gt;
   핵심 해석 
 &lt;/div&gt; 
 &lt;p style=&quot;margin: 0; color: #374151; line-height: 1.9; font-size: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;일시금과 월 적립을 함께 가져가면 같은 수익률에서도 1억 도달 시점이 더 빨라집니다. 특히 시작 자금이 3000만원, 5000만원으로 올라갈수록 속도 차이가 더 크게 벌어집니다.&lt;/p&gt; 
&lt;/div&gt;&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt; 
 &lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.8; background: #fff; border: 1px solid #bae6fd;&quot; data-ke-align=&quot;alignLeft&quot;&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;padding: 12px; background: #f0f9ff; border: 1px solid #bae6fd; text-align: left;&quot;&gt;병행 전략&lt;/th&gt; 
    &lt;th style=&quot;padding: 12px; background: #f0f9ff; border: 1px solid #bae6fd; text-align: left;&quot;&gt;10년&lt;/th&gt; 
    &lt;th style=&quot;padding: 12px; background: #f0f9ff; border: 1px solid #bae6fd; text-align: left;&quot;&gt;20년&lt;/th&gt; 
    &lt;th style=&quot;padding: 12px; background: #f0f9ff; border: 1px solid #bae6fd; text-align: left;&quot;&gt;30년&lt;/th&gt; 
    &lt;th style=&quot;padding: 12px; background: #f0f9ff; border: 1px solid #bae6fd; text-align: left;&quot;&gt;1억 도달 시점&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd;&quot;&gt;1000만원 + 월 30만원&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd;&quot;&gt;7,202만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 4,600만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd;&quot;&gt;1억 9,667만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 8,200만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd;&quot;&gt;4억 4,716만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 1억 1,800만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd; color: #dc2626; font-weight: 800;&quot;&gt;13.0년&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd; background: #f8fdff;&quot;&gt;1000만원 + 월 50만원&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd; background: #f8fdff;&quot;&gt;1억 664만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 7,000만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd; background: #f8fdff;&quot;&gt;3억 85만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 1억 3,000만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd; background: #f8fdff;&quot;&gt;6억 9,115만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 1억 9,000만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd; background: #f8fdff; color: #dc2626; font-weight: 800;&quot;&gt;9.5년&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd;&quot;&gt;1000만원 + 월 100만원&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd;&quot;&gt;1억 9,318만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 1억 3,000만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd;&quot;&gt;5억 6,131만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 2억 5,000만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd;&quot;&gt;13억 114만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 3억 7,000만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd; color: #dc2626; font-weight: 800;&quot;&gt;5.8년&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd; background: #eef8ff;&quot;&gt;3000만원 + 월 30만원&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd; background: #eef8ff;&quot;&gt;1억 1,222만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 6,600만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd; background: #eef8ff;&quot;&gt;2억 7,744만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 1억 200만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd; background: #eef8ff;&quot;&gt;6억 948만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 1억 3,800만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd; background: #eef8ff; color: #dc2626; font-weight: 800;&quot;&gt;8.9년&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd; background: #eef8ff;&quot;&gt;3000만원 + 월 50만원&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd; background: #eef8ff;&quot;&gt;1억 4,683만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 9,000만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd; background: #eef8ff;&quot;&gt;3억 8,163만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 1억 5,000만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd; background: #eef8ff;&quot;&gt;8억 5,348만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 2억 1,000만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd; background: #eef8ff; color: #dc2626; font-weight: 800;&quot;&gt;6.8년&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd; background: #eef8ff;&quot;&gt;3000만원 + 월 100만원&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd; background: #eef8ff;&quot;&gt;2억 3,337만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 1억 5,000만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd; background: #eef8ff;&quot;&gt;6억 4,209만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 2억 7,000만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd; background: #eef8ff;&quot;&gt;14억 6,346만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 3억 9,000만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd; background: #eef8ff; color: #dc2626; font-weight: 800;&quot;&gt;4.3년&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd; background: #e0f2fe;&quot;&gt;5000만원 + 월 30만원&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd; background: #e0f2fe;&quot;&gt;1억 5,241만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 8,600만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd; background: #e0f2fe;&quot;&gt;3억 5,821만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 1억 2,200만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd; background: #e0f2fe;&quot;&gt;7억 7,182만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 1억 5,800만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd; background: #e0f2fe; color: #dc2626; font-weight: 800;&quot;&gt;5.8년&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd; background: #e0f2fe;&quot;&gt;5000만원 + 월 50만원&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd; background: #e0f2fe;&quot;&gt;1억 8,703만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 1억 1,000만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd; background: #e0f2fe;&quot;&gt;4억 6,240만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 1억 7,000만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd; background: #e0f2fe;&quot;&gt;10억 1,581만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 2억 3,000만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd; background: #e0f2fe; color: #dc2626; font-weight: 800;&quot;&gt;4.5년&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd; background: #e0f2fe;&quot;&gt;5000만원 + 월 100만원&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd; background: #e0f2fe;&quot;&gt;2억 7,357만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 1억 7,000만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd; background: #e0f2fe;&quot;&gt;7억 2,286만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 2억 9,000만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd; background: #e0f2fe;&quot;&gt;16억 2,580만원 &lt;span style=&quot;color: #6b7280;&quot;&gt;(원금 4억 1,000만원)&lt;/span&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 12px; border: 1px solid #bae6fd; background: #e0f2fe; color: #dc2626; font-weight: 800;&quot;&gt;3.0년&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt;&lt;div id=&quot;code_coupang_compound_interest&quot; data-ke-type=&quot;html&quot; data-source=&quot;&lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&lt;/script&gt;&quot;&gt; 
 &lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt; 
 &lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 14px 18px; border-left: 5px solid #8b5cf6; background: #faf5ff; border-radius: 12px;&quot;&gt; 
 &lt;div style=&quot;font-size: 21px; font-weight: 800; color: #111827;&quot;&gt;
   체크리스트 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 16px 0 20px; padding: 16px 18px; border: 1px solid #ddd6fe; border-radius: 16px; background: #ffffff;&quot;&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #374151; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;일시금과 월 적립금 중 무엇을 더 현실적으로 준비할 수 있는지 먼저 점검하기&lt;/li&gt; 
  &lt;li&gt;목표 시점을 10년 / 20년 / 30년 중 어디에 둘지 정하기&lt;/li&gt; 
  &lt;li&gt;보수적인 7% 기준으로도 계획이 유지되는지 확인하기&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 14px 18px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 12px;&quot;&gt; 
 &lt;div style=&quot;font-size: 21px; font-weight: 800; color: #111827;&quot;&gt;
   결론 / 선택 정리 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 16px 0 20px; padding: 16px 18px; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot;&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #374151; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;일시금만 투자하는 방식은 시작 자금이 커야 속도가 붙습니다.&lt;/li&gt; 
  &lt;li&gt;월 적립만으로는 월 50만원부터 10년 안팎 가능성이 보이고, 월 100만원부터는 속도가 훨씬 빨라집니다.&lt;/li&gt; 
  &lt;li&gt;일시금과 월 적립을 함께 가져가는 전략이 1억 도달 시점을 가장 빠르게 만듭니다.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;blockquote data-ke-style=&quot;style1&quot;&gt;보수적인 기준으로 계산해도, 1억 도달 속도를 결정하는 핵심은 결국 시작 자금과 월 적립금입니다.&lt;/blockquote&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;※ 본 글은 S&amp;amp;P500 장기 수익률을 보수적으로 잡은 연 7% 기준 시뮬레이션입니다. 실제 투자 결과는 시장 상황, 세금, 수수료, 환율, 투자 시점에 따라 달라질 수 있습니다.&lt;/p&gt;</description>
      <category>경제&amp;middot;재테크/ETF&amp;middot;계좌전략</category>
      <category>1억만들기</category>
      <category>복리계산</category>
      <category>월100만원투자</category>
      <category>월200만원투자</category>
      <category>월300만원투자</category>
      <category>월30만원투자</category>
      <category>월50만원투자</category>
      <category>일시금투자</category>
      <category>장기투자</category>
      <category>적립식투자</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/130</guid>
      <comments>https://trace90.tistory.com/entry/compound-interest-100m-lump-sum-monthly-5year-simulation-guide#entry130comment</comments>
      <pubDate>Mon, 13 Apr 2026 23:50:31 +0900</pubDate>
    </item>
    <item>
      <title>전세대출 연장 거절되는 이유 | 만기 전 확인할 것과 대처 방법 총정리</title>
      <link>https://trace90.tistory.com/entry/jeonse-loan-extension-rejection-reasons-checklist-response-guide</link>
      <description>&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #fefce8 100%); box-shadow: 0 10px 28px rgba(245,158,11,0.08);&quot;&gt; 
 &lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
  핵심 요약
 &lt;/div&gt; 
 &lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt; 
  &lt;div&gt;
   &lt;b&gt;가장 흔한 거절 이유&lt;/b&gt; 재계약서 미정리, 보증기관 갱신 거절, 소득·신용 변화, 주택·보증금 조건 미충족입니다.
  &lt;/div&gt; 
  &lt;div&gt;
   &lt;b&gt;공식 확인 포인트&lt;/b&gt; HF는 기한연장 시 &lt;b&gt;(갱신)임대차계약서와 주민등록등본&lt;/b&gt;을 요구하고, HUG는 갱신 심사에서 &lt;b&gt;담보인정비율·보증한도·선순위채권&lt;/b&gt; 등을 봅니다.
  &lt;/div&gt; 
  &lt;div&gt;
   &lt;b&gt;중요한 차이&lt;/b&gt; &lt;b&gt;보증금이 유지·감액&lt;/b&gt;이면 단순 연장에 가까울 수 있지만, &lt;b&gt;보증금 증액&lt;/b&gt;은 신규 취급처럼 다시 보는 경우가 많습니다.
  &lt;/div&gt; 
  &lt;div&gt;
   &lt;b&gt;핵심 대응&lt;/b&gt; 만기 직전에 움직이지 말고, 계약서·보증기관·은행 조건을 먼저 맞춰야 연장 가능성이 높아집니다.
  &lt;/div&gt; 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  한눈에 보는 전세대출 연장 거절 체크표
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt; 
 &lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; color: #1d4ed8;&quot;&gt;점검 항목&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 36%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;거절로 이어지는 경우&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 36%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;지금 확인할 것&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;임대차계약&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;재계약서가 없거나, 계약 내용이 불명확한 경우&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;갱신 계약서, 확정일자, 주소, 계약기간을 다시 확인&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;보증기관 심사&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;HUG·HF 보증 연장이 안 되는 경우&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;현재 상품의 보증기관과 갱신 조건 확인&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;보증금 변동&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;보증금이 올라 추가 심사가 필요한 경우&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;증액분, 추가 한도, 신규 취급 여부 확인&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;소득·상환능력&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;상환능력 심사에서 한도가 줄거나 거절되는 경우&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;최근 소득증빙, 이자부담, 다른 대출 현황 점검&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;권리관계·주택조건&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;선순위채권 증가, 권리침해, 보증한도 초과&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;등기부등본, 주택가격, 선순위채권 확인&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;연체·신용&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;연체 이력이나 신용 하락이 생긴 경우&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;연체 해소 여부와 신용 상태 재점검&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  전세대출 연장이 거절되는 대표 이유
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #1d4ed8; margin-bottom: 10px;&quot;&gt;
  1) 재계약이 깔끔하게 정리되지 않은 경우
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;대출 연장은 보통 &lt;b&gt;임대차계약 갱신&lt;/b&gt;이 전제입니다.&lt;/li&gt; 
  &lt;li&gt;계약기간, 임차보증금, 임대인 정보가 바뀌었는데 서류 반영이 안 되면 연장이 막히기 쉽습니다.&lt;/li&gt; 
  &lt;li&gt;HF는 기한연장 시 &lt;b&gt;(갱신)임대차계약서 사본과 주민등록등본&lt;/b&gt;을 기본 제출서류로 안내합니다.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #1d4ed8; margin-bottom: 10px;&quot;&gt;
  2) 보증금이 올라서 단순 연장이 아니라 신규 심사가 필요한 경우
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;보증금이 그대로이거나 줄어든 경우는 단순 기한연장에 가까울 수 있습니다.&lt;/li&gt; 
  &lt;li&gt;반대로 &lt;b&gt;보증금 증액&lt;/b&gt;이 있으면 신규 취급 절차처럼 다시 심사하는 경우가 많습니다.&lt;/li&gt; 
  &lt;li&gt;HF는 전세지킴보증 기준으로 &lt;b&gt;임차보증금 증액이 있으면 신규취급 절차로 진행&lt;/b&gt;한다고 안내합니다.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #1d4ed8; margin-bottom: 10px;&quot;&gt;
  3) 보증기관 갱신 심사에서 막히는 경우
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;전세대출은 은행만 보는 것이 아니라 &lt;b&gt;보증기관 심사&lt;/b&gt;가 핵심입니다.&lt;/li&gt; 
  &lt;li&gt;HUG는 갱신 심사 안내에서 &lt;b&gt;담보인정비율, 보증한도, 선순위채권&lt;/b&gt; 등을 중요하게 봅니다.&lt;/li&gt; 
  &lt;li&gt;즉 집값 대비 보증금과 선순위채권 합계가 기준을 넘으면 갱신이 어려울 수 있습니다.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div id=&quot;code_coupang_jeonse_extend_1&quot; data-ke-type=&quot;html&quot; data-source=&quot;&lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&lt;/script&gt;&quot;&gt; 
 &lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt; 
 &lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #1d4ed8; margin-bottom: 10px;&quot;&gt;
  4) 소득·상환능력 심사에서 한도가 줄거나 거절되는 경우
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;최근에는 단순히 기존 대출이 있다는 이유만으로 자동 연장되는 구조가 아닙니다.&lt;/li&gt; 
  &lt;li&gt;HF FAQ 기준으로 &lt;b&gt;2025.6.19 이후 신규보증&lt;/b&gt;부터는 임차인 상환능력 심사가 적용되며, &lt;b&gt;대출금 증액 없이 갱신&lt;/b&gt;되는 경우에는 갱신보증 발급 시 상환능력을 다시 심사하지 않는다고 안내합니다.&lt;/li&gt; 
  &lt;li&gt;다만 &lt;b&gt;대출금이 증액&lt;/b&gt;되거나, &lt;b&gt;새 전셋집으로 이사&lt;/b&gt;하거나, &lt;b&gt;대출은행을 변경&lt;/b&gt;하는 경우에는 신규 보증에 가까워져 다시 심사 대상이 될 수 있습니다.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #1d4ed8; margin-bottom: 10px;&quot;&gt;
  5) 주택 권리관계나 선순위채권이 불리하게 바뀐 경우
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;등기부등본상 권리침해, 선순위채권 증가, 주택가격 산정 문제는 보증 갱신에 직접 영향을 줍니다.&lt;/li&gt; 
  &lt;li&gt;HUG는 갱신 관련 FAQ에서 &lt;b&gt;전세보증금 + 선순위채권 등&lt;/b&gt;이 &lt;b&gt;주택가격 × 담보인정비율&lt;/b&gt; 이내여야 한다는 점을 안내합니다.&lt;/li&gt; 
  &lt;li&gt;즉 집값이 내려가거나 선순위채권이 늘면 기존보다 불리해질 수 있습니다.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #1d4ed8; margin-bottom: 10px;&quot;&gt;
  6) 연체, 신용점수 하락, 내부 심사 기준 미충족
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;보증기관을 통과해도 은행 자체 심사에서 막힐 수 있습니다.&lt;/li&gt; 
  &lt;li&gt;최근 연체, 신용 악화, 타 대출 증가, 내부 위험관리 기준 미충족은 연장 거절 사유가 될 수 있습니다.&lt;/li&gt; 
  &lt;li&gt;이 부분은 상품 공통으로 많이 작동하지만, 정확한 컷은 은행 내부 기준이라 은행별 차이가 있습니다.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;border: 1px solid #fecaca; background: #fff5f5; padding: 16px 18px; border-radius: 14px; margin: 20px 0; color: #7f1d1d; line-height: 1.9;&quot;&gt;
 &lt;b&gt;중요&lt;/b&gt;
 &lt;br&gt;전세대출 연장은 “기존 대출이 있으니 자동 연장”이 아닙니다. &lt;b&gt;재계약 상태, 보증기관 승인, 은행 심사&lt;/b&gt;가 모두 맞아야 합니다.
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  만기 전에 꼭 확인할 것
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;
  핵심 체크리스트
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;현재 대출의 &lt;b&gt;보증기관이 HUG인지 HF인지&lt;/b&gt; 확인하기&lt;/li&gt; 
  &lt;li&gt;임대차계약이 &lt;b&gt;갱신 완료&lt;/b&gt;됐는지, 보증금 증액 여부 확인하기&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;등기부등본&lt;/b&gt;으로 권리관계와 선순위채권 변동 확인하기&lt;/li&gt; 
  &lt;li&gt;최근 &lt;b&gt;소득증빙&lt;/b&gt;, 재직 상태, 다른 대출 증가 여부 점검하기&lt;/li&gt; 
  &lt;li&gt;최근 &lt;b&gt;연체 이력&lt;/b&gt;이나 신용 변동이 없는지 확인하기&lt;/li&gt; 
  &lt;li&gt;만기 직전이 아니라 &lt;b&gt;은행과 먼저 상담 일정&lt;/b&gt; 잡기&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt; 
 &lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 30%; text-align: left; color: #1d4ed8;&quot;&gt;확인 자료&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 35%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;왜 필요한가&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 35%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;실수 포인트&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;갱신 임대차계약서&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;연장 심사의 출발점&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;기간, 금액, 임대인 정보가 기존과 다르면 정확히 반영해야 합니다.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;주민등록등본&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;거주 상태 확인&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;주소 이전이 꼬여 있으면 심사 지연 가능성이 있습니다.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;등기부등본&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;권리관계·선순위채권 확인&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;가압류, 근저당 증가를 놓치면 뒤늦게 거절될 수 있습니다.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;소득증빙 서류&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;상환능력 확인&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;재직 변화, 소득 감소가 있으면 미리 설명 준비가 필요합니다.&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt;&lt;div id=&quot;code_coupang_jeonse_extend_2&quot; data-ke-type=&quot;html&quot; data-source=&quot;&lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&lt;/script&gt;&quot;&gt; 
 &lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt; 
 &lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.07);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  공식 기준으로 보면 특히 중요한 포인트
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt; 
 &lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; color: #1d4ed8;&quot;&gt;구분&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 36%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;공식 확인 내용&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 36%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;해석 포인트&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;HF 기한연장&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;임대차계약기간 만료 &lt;b&gt;1개월 전부터&lt;/b&gt; 보증 만료일 이전까지 신청 가능&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;만기 직전까지 미루지 말고 최소 한 달 전에는 움직이는 게 안전합니다.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;HF 증액 갱신&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;임차보증금 &lt;b&gt;증액이 있는 경우 신규취급 절차&lt;/b&gt;로 진행&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;단순 연장이라고 생각했다가 새 심사에 들어갈 수 있습니다.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;HUG 갱신심사&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;담보인정비율 100% → &lt;b&gt;90%&lt;/b&gt; 적용 안내, 보증한도 산식 반영&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;예전엔 됐던 조건이 갱신 시점에는 안 될 수 있습니다.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;HF 상환능력&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;대출금 &lt;b&gt;증액 없는 갱신&lt;/b&gt;은 재심사 제외 가능, 증액·이사·은행변경은 재심사 가능&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;연장 방식에 따라 결과가 크게 달라질 수 있습니다.&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  거절 통보를 받았다면 어떻게 해야 하나
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 20px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #1d4ed8; margin-bottom: 10px;&quot;&gt;
  1단계. 거절 주체부터 확인
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;은행 내부 거절인지&lt;/li&gt; 
  &lt;li&gt;보증기관(HUG/HF) 거절인지&lt;/li&gt; 
  &lt;li&gt;서류 미비인지 먼저 구분해야 합니다.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 20px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #1d4ed8; margin-bottom: 10px;&quot;&gt;
  2단계. 재계약 구조를 다시 점검
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;보증금이 올랐는지&lt;/li&gt; 
  &lt;li&gt;전입 유지와 거주 요건이 맞는지&lt;/li&gt; 
  &lt;li&gt;임대인 변경이나 권리관계 변동이 있었는지 다시 봐야 합니다.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #1d4ed8; margin-bottom: 10px;&quot;&gt;
  3단계. 가능한 대안 확인
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;증액분을 줄여 재계약 구조를 조정할 수 있는지&lt;/li&gt; 
  &lt;li&gt;은행 변경이 가능한지&lt;/li&gt; 
  &lt;li&gt;보증기관 재심사 또는 다른 상품 검토가 가능한지 확인해야 합니다.&lt;/li&gt; 
  &lt;li&gt;다만 이사·은행 변경은 신규 심사로 다시 들어갈 수 있다는 점을 같이 봐야 합니다.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
  FAQ
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 전세대출은 만기만 되면 자동 연장되나요?&lt;br&gt;→ 아닙니다. 재계약, 보증기관 승인, 은행 심사가 모두 맞아야 합니다.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 보증금이 조금만 올라도 문제가 되나요?&lt;br&gt;→ 상품에 따라 다르지만, 공식 안내상 &lt;b&gt;증액은 신규 취급 절차&lt;/b&gt;로 보는 경우가 있어 단순 연장보다 까다로워질 수 있습니다.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 대출금 증액이 없으면 상환능력 심사를 다시 안 보나요?&lt;br&gt;→ HF FAQ 기준으로는 &lt;b&gt;증액 없는 갱신&lt;/b&gt;의 경우 재심사 제외 가능성이 있습니다. 다만 상품과 구조가 다르면 달라질 수 있습니다.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 왜 예전에는 됐는데 이번엔 안 될 수 있나요?&lt;br&gt;→ 집값, 선순위채권, 담보인정비율, 보증한도, 소득·신용 상태가 갱신 시점에 다시 반영되기 때문입니다.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 거절되면 바로 퇴거 준비부터 해야 하나요?&lt;br&gt;→ 그 전에 거절 주체와 사유를 먼저 확인해야 합니다. 서류 보완으로 해결되는 경우와 구조적으로 어려운 경우는 대응이 다릅니다.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  결론 | 만기 전에 이 순서로 준비하세요
 &lt;/div&gt; 
&lt;/div&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;먼저 &lt;b&gt;보증기관이 어디인지&lt;/b&gt; 확인합니다.&lt;/li&gt;&lt;li&gt;그다음 &lt;b&gt;갱신 임대차계약서&lt;/b&gt;와 &lt;b&gt;주민등록등본&lt;/b&gt;을 준비합니다.&lt;/li&gt;&lt;li&gt;보증금 증액 여부, 주택 권리관계, 선순위채권을 같이 봅니다.&lt;/li&gt;&lt;li&gt;최근 소득·신용 변화가 있으면 미리 은행에 설명 가능한 자료를 준비합니다.&lt;/li&gt;&lt;li&gt;거절 통보를 받았더라도 &lt;b&gt;은행 거절인지, 보증기관 거절인지, 서류 문제인지&lt;/b&gt;부터 구분해야 대처가 됩니다.&lt;/li&gt;&lt;/ul&gt;&lt;blockquote data-ke-style=&quot;style1&quot;&gt;전세대출 연장은 결국 &lt;b&gt;계약&lt;/b&gt;, &lt;b&gt;보증&lt;/b&gt;, &lt;b&gt;은행 심사&lt;/b&gt; 3가지를 동시에 통과해야 합니다. 만기 직전에 급하게 움직이기보다, 재계약 직후부터 보증기관 기준과 은행 조건을 같이 맞추는 것이 가장 안전합니다.&lt;/blockquote&gt;&lt;div style=&quot;margin: 24px 0 0; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
  관련 글 링크
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/jeonse-contract-checklist-beginners-mistake-prevention-guide&quot;&gt;전세 계약 전 꼭 확인해야 할 체크리스트 | 초보자용 실수 방지 가이드&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/jeonse-guarantee-insurance-eligibility-limit-rejection-guide&quot;&gt;전세보증보험 가입 조건 총정리 | 가입 가능 주택·보증금 한도·거절 사례까지&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/implied-renewal-vs-renewal-request-right-guide&quot;&gt;묵시적 갱신과 계약갱신청구권 차이 | 전세·월세 연장할 때 꼭 알아야 할 기준&lt;/a&gt;&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;※ 실제 연장 가능 여부는 이용 중인 상품, 보증기관, 은행 내부 심사, 보증금 변동, 주택 권리관계에 따라 달라질 수 있습니다.&lt;/p&gt;</description>
      <category>부동산/대출&amp;middot;세금</category>
      <category>hf전세대출</category>
      <category>HUG전세대출</category>
      <category>전세대출거절</category>
      <category>전세대출만기</category>
      <category>전세대출연장</category>
      <category>전세자금대출연장</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/128</guid>
      <comments>https://trace90.tistory.com/entry/jeonse-loan-extension-rejection-reasons-checklist-response-guide#entry128comment</comments>
      <pubDate>Sun, 12 Apr 2026 22:30:08 +0900</pubDate>
    </item>
    <item>
      <title>청년 월세 지원 조건 총정리 | 신청 대상&amp;middot;소득 기준&amp;middot;지원금&amp;middot;주의사항까지</title>
      <link>https://trace90.tistory.com/entry/youth-monthly-rent-support-eligibility-income-amount-guide</link>
      <description>&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #fefce8 100%); box-shadow: 0 10px 28px rgba(245,158,11,0.08);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;핵심 요약&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;지원 대상&lt;/b&gt; 2026년 기준 &lt;b&gt;19세 이상 34세 이하&lt;/b&gt; 독립거주 무주택 청년입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;소득 기준&lt;/b&gt; &lt;b&gt;청년가구 중위소득 60% 이하&lt;/b&gt;이면서 &lt;b&gt;원가구 중위소득 100% 이하&lt;/b&gt;여야 합니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;재산 기준&lt;/b&gt; 청년가구 &lt;b&gt;1억 2,200만 원 이하&lt;/b&gt;, 원가구 &lt;b&gt;4억 7,000만 원 이하&lt;/b&gt;입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;지원 금액&lt;/b&gt; 실제 월세 범위 안에서 &lt;b&gt;월 최대 20만 원, 최대 24개월, 총 480만 원&lt;/b&gt;까지 지원합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;한눈에 보는 2026 청년 월세 지원 기준&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 26%; text-align: left; color: #1d4ed8;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 40%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;2026 기준&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 34%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;체크 포인트&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;연령&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;19세 이상 34세 이하&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;청년 월세 지원사업은 19~34세 독립거주 무주택 청년이 기본 대상입니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;주택 요건&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;독립거주 + 무주택&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;본인 명의 주택 소유자, 분양권&amp;middot;입주권 보유자는 제외됩니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;소득 기준&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;청년가구 중위소득 60% 이하&lt;/b&gt; + &lt;b&gt;원가구 중위소득 100% 이하&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;둘 다 충족이 원칙이지만, 예외적으로 원가구 소득을 보지 않는 경우가 있습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;재산 기준&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;청년가구 &lt;b&gt;1억 2,200만 원 이하&lt;/b&gt;&lt;br /&gt;원가구 &lt;b&gt;4억 7,000만 원 이하&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;임차보증금 마련 목적 부채 등 일부 부채만 인정됩니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;지원 금액&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;월 최대 20만 원&lt;/b&gt;, &lt;b&gt;최대 24개월&lt;/b&gt;, &lt;b&gt;총 480만 원&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;관리비&amp;middot;보증금은 제외되고 실제 납부 월세만 지원됩니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;신청 기간&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;2026.03.30 09:00 ~ 2026.05.29 16:00&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;2026년 신규 수혜자 신청 접수 기간 기준입니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;누가 받을 수 있나 | 대상 기준 정확히 정리&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #1d4ed8; margin-bottom: 10px;&quot;&gt;기본 대상&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;19세 이상 34세 이하&lt;/b&gt; 청년&lt;/li&gt;
&lt;li&gt;&lt;b&gt;부모와 별도로 거주하는 독립거주자&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;무주택자&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;청년가구 소득이 &lt;b&gt;기준 중위소득 60% 이하&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;원가구 소득이 &lt;b&gt;기준 중위소득 100% 이하&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;border: 1px solid #fecaca; background: #fff5f5; padding: 16px 18px; border-radius: 14px; margin: 20px 0; color: #7f1d1d; line-height: 1.9;&quot;&gt;&lt;b&gt;원가구 소득을 보지 않는 예외&lt;/b&gt; &lt;br /&gt;아래에 해당하면 원가구 소득은 보지 않습니다. &lt;br /&gt;- &lt;b&gt;30세 이상&lt;/b&gt; &lt;br /&gt;- &lt;b&gt;혼인 또는 이혼한 경우&lt;/b&gt; &lt;br /&gt;- &lt;b&gt;미혼부&amp;middot;미혼모&lt;/b&gt; &lt;br /&gt;- &lt;b&gt;30세 미만 미혼 청년이라도 본인 소득이 기준 중위소득 50% 이상&lt;/b&gt;이어서 생계를 달리한다고 시&amp;middot;군&amp;middot;구청장이 인정하는 경우&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 30%; text-align: left; color: #1d4ed8;&quot;&gt;가구 구분&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 35%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;포함 범위&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 35%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;설명&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;청년가구&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;청년 + 배우자 + 직계비속 + 동일 주소지 거주 민법상 가족&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;실제 독립된 생활 단위를 보는 기준입니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;원가구&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;청년독립가구 + 1촌 이내 직계혈족(부&amp;middot;모)&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;원칙적으로 부모 소득&amp;middot;재산도 함께 봅니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_youth_rent_1&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;소득 기준은 얼마인가 | 2026 금액으로 보면&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 20px; padding: 18px 20px; border: 1px solid #bfdbfe; border-radius: 18px; background: #eff6ff; color: #1e3a8a; line-height: 1.9;&quot;&gt;2026년 기준 중위소득은 &lt;b&gt;1인 가구 2,564,238원&lt;/b&gt;, &lt;b&gt;2인 가구 4,199,292원&lt;/b&gt;, &lt;b&gt;3인 가구 5,359,036원&lt;/b&gt;, &lt;b&gt;4인 가구 6,494,738원&lt;/b&gt;입니다. 청년 월세 지원은 여기서 &lt;b&gt;청년가구 60%&lt;/b&gt;, &lt;b&gt;원가구 100%&lt;/b&gt;를 적용해 판단합니다.&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 16%; text-align: left; color: #1d4ed8;&quot;&gt;가구원 수&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;2026 기준 중위소득 100%&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;청년가구 60%&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;원가구 100%&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;1인&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;2,564,238원&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;1,538,542원&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;2,564,238원&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;2인&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;4,199,292원&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;2,519,575원&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;4,199,292원&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;3인&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;5,359,036원&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;3,215,421원&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;5,359,036원&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;4인&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;6,494,738원&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;3,896,842원&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;6,494,738원&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;border: 1px solid #e5e7eb; border-radius: 16px; overflow: hidden; margin: 20px 0 28px; background: #ffffff;&quot;&gt;
&lt;div style=&quot;background: #f8fafc; padding: 14px 16px; font-weight: 800; color: #0f172a; border-bottom: 1px solid #e5e7eb;&quot;&gt;소득 계산에서 많이 헷갈리는 부분&lt;/div&gt;
&lt;div style=&quot;padding: 16px; line-height: 1.9; color: #334155;&quot;&gt;
&lt;div&gt;✔ 단순 월급만 보는 것이 아니라 근로소득, 사업소득, 재산소득, 공적이전소득을 함께 봅니다.&lt;/div&gt;
&lt;div&gt;✔ 근로&amp;middot;사업소득은 일정 공제가 반영됩니다.&lt;/div&gt;
&lt;div&gt;✔ 실업급여, 국민연금급여 같은 공적이전소득도 포함될 수 있습니다.&lt;/div&gt;
&lt;div&gt;✔ 최종 판단은 신청인이 적어 넣은 숫자가 아니라 행정 심사 기준으로 결정됩니다.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;재산 기준과 지원금 | 얼마까지 가능할까?&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 30%; text-align: left; color: #1d4ed8;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 35%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;기준&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 35%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;주의사항&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;청년가구 재산&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;1억 2,200만 원 이하&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;일반재산 + 자동차가액 - 인정부채 방식으로 계산합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;원가구 재산&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;4억 7,000만 원 이하&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;부모 재산도 함께 반영되는 구조입니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;월 지원액&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;월 최대 20만 원&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;실제 월세가 18만 원이면 18만 원만 지원됩니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;총 지원 한도&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;최대 24개월, 총 480만 원&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;생애 1회 성격으로 보시면 됩니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;지원 제외 비용&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;관리비, 임차보증금&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;순수 월차임만 지원 대상입니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;이 경우는 제외 | 탈락 사유를 먼저 보자&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(220,38,38,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #b91c1c; margin-bottom: 10px;&quot;&gt;대표적인 제외 대상&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;주택 소유자, 분양권 보유자, 입주권 보유자&lt;/li&gt;
&lt;li&gt;직계존속&amp;middot;형제&amp;middot;자매 등 &lt;b&gt;2촌 이내 혈족 주택을 임차&lt;/b&gt;한 경우&lt;/li&gt;
&lt;li&gt;공공임대주택 거주자&lt;/li&gt;
&lt;li&gt;1실에 여러 명이 사는 전대차 형태인데 &lt;b&gt;별도 임대차계약이 없는 경우&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;국토교통부 또는 지자체 청년월세 지원을 이미 받고 있는 경우&lt;/li&gt;
&lt;li&gt;과거 청년월세 한시 특별지원으로 &lt;b&gt;이미 24개월 전부 지원&lt;/b&gt;받은 경우&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;신청 방법과 준비서류 | 어디서 어떻게 신청하나&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;핵심 체크리스트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;신청 기간:&lt;/b&gt; 2026년 3월 30일 09:00 ~ 2026년 5월 29일 16:00&lt;/li&gt;
&lt;li&gt;&lt;b&gt;방문 신청:&lt;/b&gt; 주소지 관할 주민센터&lt;/li&gt;
&lt;li&gt;&lt;b&gt;온라인 신청:&lt;/b&gt; 복지로 &amp;gt; 서비스 신청 &amp;gt; 복지서비스 신청 &amp;gt; 복지급여 신청 &amp;gt; 기타 &amp;gt; 청년월세지원&lt;/li&gt;
&lt;li&gt;&lt;b&gt;대리 신청 가능:&lt;/b&gt; 법정대리인, 동일 세대원(동거인 제외), 배우자, 직계존&amp;middot;비속&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 30%; text-align: left; color: #1d4ed8;&quot;&gt;준비 항목&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 35%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;왜 필요한가&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 35%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;실수 포인트&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;임대차계약서&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;실제 임차 사실과 월세 확인&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;계약 당사자, 주소, 월차임이 불명확하면 심사에 불리할 수 있습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;월세 이체 내역&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;실제 납부 월세 입증&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;현금 지급만 하고 증빙이 없으면 곤란할 수 있습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;본인 계좌&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;지원금 지급 계좌&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;원칙적으로 청년 본인 계좌로 지급됩니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;대리 신청 서류&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;본인 방문이 어려운 경우 필요&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;위임장과 대리인 신분증을 빠뜨리면 재방문 가능성이 큽니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_youth_rent_2&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;상황별 적용 | 헷갈리는 사례 정리&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 20px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #1d4ed8; margin-bottom: 10px;&quot;&gt;사례 1. 27세, 원룸 월세 거주, 본인 소득만 있는 경우&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;나이는 충족합니다.&lt;/li&gt;
&lt;li&gt;무주택 독립거주면 기본 자격은 맞습니다.&lt;/li&gt;
&lt;li&gt;다만 &lt;b&gt;청년가구 60% 이하&lt;/b&gt;와 &lt;b&gt;원가구 100% 이하&lt;/b&gt;를 함께 충족해야 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 20px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #1d4ed8; margin-bottom: 10px;&quot;&gt;사례 2. 31세 미혼 청년, 부모 소득이 높은 경우&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;30세 이상&lt;/b&gt;이면 원가구 소득을 보지 않는 예외에 해당합니다.&lt;/li&gt;
&lt;li&gt;이 경우 청년 본인 가구 기준 충족 여부가 핵심입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #1d4ed8; margin-bottom: 10px;&quot;&gt;사례 3. 월세 25만 원인데 관리비가 8만 원인 경우&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지원은 &lt;b&gt;관리비를 제외한 월세&lt;/b&gt; 기준으로 계산합니다.&lt;/li&gt;
&lt;li&gt;따라서 실제 지원 판단은 순수 월차임 기준으로 봐야 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;FAQ&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 청년 월세 지원은 몇 살까지 가능한가요?&lt;br /&gt;&amp;rarr; 2026년 기준으로 &lt;b&gt;19세 이상 34세 이하&lt;/b&gt;가 기본 대상입니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 부모 소득이 높으면 무조건 탈락인가요?&lt;br /&gt;&amp;rarr; 원칙적으로는 원가구 소득 100% 이하를 봅니다. 다만 &lt;b&gt;30세 이상&lt;/b&gt;, 혼인&amp;middot;이혼, 미혼부&amp;middot;모 등은 원가구 소득을 보지 않는 예외가 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 월세 20만 원보다 적으면 20만 원을 다 받나요?&lt;br /&gt;&amp;rarr; 아닙니다. &lt;b&gt;실제 납부 월세 범위 내&lt;/b&gt;에서만 지원합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 관리비도 지원되나요?&lt;br /&gt;&amp;rarr; 아닙니다. &lt;b&gt;관리비와 임차보증금은 제외&lt;/b&gt;되고 월차임만 지원됩니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 예전에 청년월세 지원을 24개월 다 받았는데 다시 신청할 수 있나요?&lt;br /&gt;&amp;rarr; 복지로 안내 기준상 &lt;b&gt;과거 한시 특별지원으로 24개월 전부 수혜한 경우는 제외&lt;/b&gt;됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;결론 | 신청 전에 이것만 먼저 확인하세요&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;나이:&lt;/b&gt; 19세 이상 34세 이하인지&lt;/li&gt;
&lt;li&gt;&lt;b&gt;거주 형태:&lt;/b&gt; 부모와 따로 사는 무주택 독립거주인지&lt;/li&gt;
&lt;li&gt;&lt;b&gt;소득:&lt;/b&gt; 청년가구 60% 이하, 원가구 100% 이하인지&lt;/li&gt;
&lt;li&gt;&lt;b&gt;재산:&lt;/b&gt; 청년가구 1억 2,200만 원 이하, 원가구 4억 7,000만 원 이하인지&lt;/li&gt;
&lt;li&gt;&lt;b&gt;지원 금액:&lt;/b&gt; 월 최대 20만 원, 최대 24개월인지&lt;/li&gt;
&lt;li&gt;&lt;b&gt;제외 사유:&lt;/b&gt; 공공임대 거주, 친족 주택 임차, 과거 24개월 전액 수혜 등은 아닌지&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;청년 월세 지원은 단순히 &quot;청년이면 신청&quot;이 아니라 &lt;b&gt;연령&amp;middot;독립거주&amp;middot;무주택&amp;middot;소득&amp;middot;재산&amp;middot;제외사유&lt;/b&gt;를 모두 맞춰야 하는 제도입니다. 신청 전에는 먼저 내 가구 기준과 부모 포함 원가구 기준을 같이 확인하는 것이 가장 중요합니다.&lt;/blockquote&gt;
&lt;div style=&quot;margin: 24px 0 0; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;관련 글 링크&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/first-time-special-supply-eligibility-guide-with-other-types&quot;&gt;생애최초 특별공급 조건 총정리 | 신혼부부&amp;middot;다자녀&amp;middot;일반과 차이까지 한눈에 정리&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/jeonse-guarantee-insurance-eligibility-limit-rejection-guide&quot;&gt;전세보증보험 가입 조건 총정리 | 가입 가능 주택&amp;middot;보증금 한도&amp;middot;거절 사례까지&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/report-move-in-and-fixed-date-difference-guide&quot;&gt;전입신고와 확정일자 차이 | 왜 둘 다 중요한가&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ 가구 구성, 소득 반영 항목, 인정 부채 여부에 따라 실제 심사 결과는 달라질 수 있으므로 신청 단계에서는 복지로 제출 기준을 그대로 확인해 진행하는 것이 가장 안전합니다.&lt;/p&gt;</description>
      <category>부동산/청약&amp;middot;주택정책</category>
      <category>복지로</category>
      <category>청년월세지원</category>
      <category>청년월세지원금</category>
      <category>청년월세지원소득기준</category>
      <category>청년월세지원조건</category>
      <category>청년월세특별지원</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/127</guid>
      <comments>https://trace90.tistory.com/entry/youth-monthly-rent-support-eligibility-income-amount-guide#entry127comment</comments>
      <pubDate>Sun, 12 Apr 2026 22:10:30 +0900</pubDate>
    </item>
    <item>
      <title>@Transactional이란 무엇인가? | 롤백, readOnly, 주의점까지 실무 기준으로 이해하기</title>
      <link>https://trace90.tistory.com/entry/spring-transactional-rollback-readonly-practical-guide</link>
      <description>&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%); box-shadow: 0 10px 28px rgba(37,99,235,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;핵심 요약&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;이 글에서 바로 이해할 것&lt;/b&gt; &lt;code&gt;@Transactional&lt;/code&gt;이 무엇을 보장하고, 어디에 붙일 때 의미가 살아나는지 정리합니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;이 글에서 바로 해결할 것&lt;/b&gt; 롤백이 안 되는 이유, &lt;code&gt;readOnly = true&lt;/code&gt;를 붙여도 왜 수정이 되는 것처럼 보이는지 실무 관점으로 설명합니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;바로 확인할 설정&lt;/b&gt; 예외 타입, 프록시 호출 구조, 메서드 접근제한자, 트랜잭션 경계 위치를 체크합니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;핵심 결론&lt;/b&gt; &lt;code&gt;@Transactional&lt;/code&gt;은 &quot;붙이면 끝&quot;이 아니라 &lt;b&gt;어디서 시작되고 어떤 예외에서 끝나는지&lt;/b&gt;를 알아야 제대로 쓸 수 있습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;한눈에 보는 개념 / 구조&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; color: #1d4ed8;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 36%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;설명&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 36%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;실무 포인트&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;&lt;code&gt;@Transactional&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;여러 DB 작업을 하나의 트랜잭션으로 묶어 성공하면 커밋하고, 실패하면 롤백하도록 만드는 Spring 선언형 트랜잭션 기능입니다.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;서비스 계층에서 &quot;어디까지를 하나의 작업 단위로 볼지&quot;를 먼저 정한 뒤 붙여야 합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;롤백 기본 규칙&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;기본적으로 &lt;b&gt;RuntimeException, Error&lt;/b&gt;에서 롤백합니다. 체크 예외는 기본 롤백 대상이 아닙니다.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;비즈니스 예외가 체크 예외라면 &lt;code&gt;rollbackFor&lt;/code&gt;를 명시하지 않으면 의도와 다르게 커밋될 수 있습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;&lt;code&gt;readOnly = true&lt;/code&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;읽기 전용 트랜잭션 힌트를 줘서 flush, dirty checking, DB 최적화 가능성을 높이는 옵션입니다.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;&quot;쓰기 차단 스위치&quot;로 오해하면 안 됩니다. JPA/DB/드라이버 조합에 따라 동작 체감이 달라집니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;동작 방식&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;Spring AOP 프록시가 메서드 진입 전 트랜잭션을 열고, 종료 시 커밋 또는 롤백합니다.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;같은 클래스 내부에서 자기 메서드를 직접 호출하면 프록시를 우회해서 트랜잭션이 적용되지 않을 수 있습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;pre class=&quot;less&quot;&gt;&lt;code&gt;Controller
   &amp;darr;
Service(@Transactional)
   &amp;darr;
Repository / JPA / JDBC
   &amp;darr;
정상 종료 &amp;rarr; COMMIT
예외 발생 &amp;rarr; ROLLBACK
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #bfdbfe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;쉽게 말하면 이렇게 이해하면 됩니다&lt;/div&gt;
&lt;div style=&quot;color: #334155; line-height: 1.95; font-size: 15px;&quot;&gt;주문 생성, 재고 차감, 결제 내역 저장이 한 번에 처리돼야 하는데 중간에 하나라도 실패하면 어떻게 해야 할까요?&lt;br /&gt;이럴 때 &lt;code&gt;@Transactional&lt;/code&gt;은 이 작업들을 &lt;b&gt;하나의 묶음&lt;/b&gt;으로 보고, 중간에 문제가 생기면 전부 되돌리게 만듭니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;언제 붙이고, 어디에 붙여야 할까?&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;실무에서는 보통 &lt;b&gt;Service 계층 메서드&lt;/b&gt;에 붙입니다. 이유는 트랜잭션의 기준이 &quot;하나의 비즈니스 작업&quot;이기 때문입니다.&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 30%; text-align: left; color: #1d4ed8;&quot;&gt;위치&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 35%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;추천도&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 35%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;이유&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;Controller&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #dc2626;&quot;&gt;보통 비추천&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;웹 요청 범위와 비즈니스 작업 범위가 섞여 경계가 애매해지기 쉽습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;Service&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #2563eb;&quot;&gt;가장 일반적&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;주문, 회원가입, 결제 같은 비즈니스 단위를 묶기 좋습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;Repository&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #f59e0b;&quot;&gt;상황별&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;개별 DB 작업 보호에는 의미가 있지만, 여러 작업을 묶는 큰 경계로는 부족할 수 있습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #fffdf7; box-shadow: 0 8px 24px rgba(245,158,11,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #92400e; margin-bottom: 10px;&quot;&gt;예시로 보면 더 쉽습니다&lt;/div&gt;
&lt;pre class=&quot;less&quot; style=&quot;margin: 0; white-space: pre-wrap; font-size: 14px; line-height: 1.8; color: #1f2937;&quot;&gt;&lt;code&gt;@Service
@RequiredArgsConstructor
public class OrderService {&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;aspectj&quot;&gt;&lt;code&gt;private final OrderRepository orderRepository;
private final StockService stockService;
private final PaymentHistoryRepository paymentHistoryRepository;

@Transactional
public void placeOrder(OrderRequest request) {
    orderRepository.save(Order.create(request));
    stockService.decrease(request.productId(), request.quantity());
    paymentHistoryRepository.save(PaymentHistory.of(request));
}
&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;&quot; style=&quot;margin: 0; white-space: pre-wrap; font-size: 14px; line-height: 1.8; color: #1f2937;&quot;&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;}&lt;/p&gt;
&lt;pre class=&quot;&quot; style=&quot;margin: 0; white-space: pre-wrap; font-size: 14px; line-height: 1.8; color: #1f2937;&quot;&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;위 메서드는 &quot;주문 처리&quot;라는 하나의 작업입니다. 셋 중 하나라도 실패하면 전체를 되돌리는 쪽이 맞기 때문에 &lt;code&gt;@Transactional&lt;/code&gt; 경계를 여기 두는 것이 자연스럽습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;롤백은 어떻게 동작할까?&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;많이 헷갈리는 부분이 바로 이것입니다. &lt;b&gt;예외가 발생했다고 무조건 롤백되는 것은 아닙니다.&lt;/b&gt;&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 30%; text-align: left; color: #1d4ed8;&quot;&gt;예외 타입&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 35%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;기본 롤백 여부&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 35%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;실무 해석&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;RuntimeException&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #2563eb;&quot;&gt;기본 롤백&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;IllegalArgumentException, IllegalStateException 같은 예외는 기본적으로 롤백됩니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;Error&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #2563eb;&quot;&gt;기본 롤백&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;애플리케이션이 정상 복구하기 어려운 수준입니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;Checked Exception&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #dc2626;&quot;&gt;기본 미롤백&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;IOException, Exception 상속 계열은 별도 지정이 없으면 커밋될 수 있습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #fffafa; box-shadow: 0 8px 24px rgba(239,68,68,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #991b1b; margin-bottom: 10px;&quot;&gt;실무에서 자주 나오는 실수&lt;/div&gt;
&lt;pre class=&quot;aspectj&quot; style=&quot;margin: 0; white-space: pre-wrap; font-size: 14px; line-height: 1.8; color: #1f2937;&quot;&gt;&lt;code&gt;@Transactional
public void issueCoupon() throws Exception {
    couponRepository.save(coupon);&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;haxe&quot;&gt;&lt;code&gt;if (alreadyIssued) {
    throw new Exception(&quot;이미 발급된 쿠폰입니다.&quot;);
}
&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;&quot; style=&quot;margin: 0; white-space: pre-wrap; font-size: 14px; line-height: 1.8; color: #1f2937;&quot;&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;}&lt;/p&gt;
&lt;pre class=&quot;&quot; style=&quot;margin: 0; white-space: pre-wrap; font-size: 14px; line-height: 1.8; color: #1f2937;&quot;&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;위 코드는 예외가 발생해도 &lt;b&gt;체크 예외&lt;/b&gt;이기 때문에 기본 설정만으로는 롤백되지 않을 수 있습니다. 이럴 때는 아래처럼 명시해야 합니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #bfdbfe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;pre class=&quot;angelscript&quot; style=&quot;margin: 0; white-space: pre-wrap; font-size: 14px; line-height: 1.8; color: #1f2937;&quot;&gt;&lt;code&gt;@Transactional(rollbackFor = Exception.class)
public void issueCoupon() throws Exception {
    couponRepository.save(coupon);&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;haxe&quot;&gt;&lt;code&gt;if (alreadyIssued) {
    throw new Exception(&quot;이미 발급된 쿠폰입니다.&quot;);
}
&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;&quot; style=&quot;margin: 0; white-space: pre-wrap; font-size: 14px; line-height: 1.8; color: #1f2937;&quot;&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;}&lt;/p&gt;
&lt;pre class=&quot;&quot; style=&quot;margin: 0; white-space: pre-wrap; font-size: 14px; line-height: 1.8; color: #1f2937;&quot;&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;&lt;code&gt;readOnly = true&lt;/code&gt;는 정확히 무엇일까?&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;이 옵션도 오해가 많습니다. &lt;code&gt;readOnly = true&lt;/code&gt;는 보통 &lt;b&gt;읽기 전용 트랜잭션이라는 힌트&lt;/b&gt;를 주는 개념입니다.&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 30%; text-align: left; color: #1d4ed8;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 35%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;기대 효과&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 35%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;주의점&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;JPA flush 최소화&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;불필요한 변경 감지를 줄이는 데 도움이 될 수 있습니다.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;구현체나 설정에 따라 체감이 다릅니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;DB 최적화 힌트&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;일부 DB/드라이버는 읽기 전용 연결 힌트를 받을 수 있습니다.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;모든 DB가 동일하게 강제 차단해주지는 않습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;의도 표현&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;&quot;이 메서드는 조회 전용&quot;이라는 팀 공통 신호가 됩니다.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;그렇다고 코드상 쓰기를 절대 막아준다고 믿으면 위험합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #ddd6fe; border-radius: 18px; background: #fcfcff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt;
&lt;pre class=&quot;reasonml&quot; style=&quot;margin: 0; white-space: pre-wrap; font-size: 14px; line-height: 1.8; color: #1f2937;&quot;&gt;&lt;code&gt;@Transactional(readOnly = true)
public MemberDetailResponse getMemberDetail(Long memberId) {
    Member member = memberRepository.findById(memberId)
        .orElseThrow(() -&amp;gt; new IllegalArgumentException(&quot;회원이 없습니다.&quot;));&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;angelscript&quot;&gt;&lt;code&gt;return MemberDetailResponse.from(member);
&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;&quot; style=&quot;margin: 0; white-space: pre-wrap; font-size: 14px; line-height: 1.8; color: #1f2937;&quot;&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;}&lt;/p&gt;
&lt;pre class=&quot;&quot; style=&quot;margin: 0; white-space: pre-wrap; font-size: 14px; line-height: 1.8; color: #1f2937;&quot;&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;즉 조회 메서드에는 적극적으로 붙일 수 있지만, &lt;b&gt;읽기 전용이니 실수로 엔티티를 바꿔도 무조건 안전하다&lt;/b&gt;고 생각하면 안 됩니다.&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;비교 / 차이 정리&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 30%; text-align: left; color: #1d4ed8;&quot;&gt;비교 항목&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 35%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;일반 &lt;code&gt;@Transactional&lt;/code&gt;&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 35%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;&lt;code&gt;@Transactional(readOnly = true)&lt;/code&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;주 용도&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;등록, 수정, 삭제, 상태 변경&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;목록 조회, 상세 조회, 검색&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;변경 감지&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;일반 동작&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;최적화 힌트가 적용될 수 있음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;실수 방지 효과&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;쓰기 작업에 적합&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;의도 표현에는 좋지만, 물리적 쓰기 차단으로 믿으면 안 됨&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;자주 막히는 포인트 / 문제해결&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 24%; text-align: left; color: #1d4ed8;&quot;&gt;문제&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;원인&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;확인 방법&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 20%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;해결&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;예외가 났는데 롤백이 안 됨&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;체크 예외이거나, 예외를 내부에서 잡고 삼킨 경우&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;throw 타입, catch 후 재던지는지 여부 확인&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;code&gt;rollbackFor&lt;/code&gt; 지정 또는 예외 처리 구조 재정리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;어노테이션을 붙였는데 효과가 없음&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;같은 클래스 내부 self-invocation으로 프록시 우회&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;this.someMethod() 구조인지 확인&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;트랜잭션 메서드를 별도 빈으로 분리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;private 메서드에 붙였는데 동작 안 함&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;프록시 기반 AOP 특성상 외부 호출 대상이 아님&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;메서드 접근제한자 확인&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;public 메서드 기준으로 경계 재설계&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;&lt;code&gt;readOnly = true&lt;/code&gt;인데 데이터가 바뀐 것 같음&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;읽기 전용이 강제 차단이 아니라 힌트이기 때문&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;flush 시점, 영속성 컨텍스트, DB 설정 확인&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;조회 메서드에서는 엔티티 변경 자체를 피하도록 코드 구조 개선&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(245,158,11,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #92400e; margin-bottom: 10px;&quot;&gt;설정 / 확인 체크리스트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;트랜잭션 경계를 Controller가 아니라 Service에 두고 있는지 확인해요.&lt;/li&gt;
&lt;li&gt;롤백 대상 예외가 RuntimeException인지, 체크 예외라면 &lt;code&gt;rollbackFor&lt;/code&gt;를 지정했는지 봐야 합니다.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;catch&lt;/code&gt;로 예외를 잡아 로그만 남기고 끝내지 않았는지 확인해요.&lt;/li&gt;
&lt;li&gt;같은 클래스 내부 메서드 호출로 프록시를 우회하지 않았는지 봐야 합니다.&lt;/li&gt;
&lt;li&gt;조회 메서드는 &lt;code&gt;readOnly = true&lt;/code&gt;로 의도를 분명히 하고, 수정 메서드는 일반 트랜잭션으로 분리해두면 관리가 쉬워집니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_it_transactional&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;실무 예제로 정리해보면&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;pre class=&quot;less&quot; style=&quot;margin: 0; white-space: pre-wrap; font-size: 14px; line-height: 1.8; color: #1f2937;&quot;&gt;&lt;code&gt;@Service
@RequiredArgsConstructor
public class MemberPointService {&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;livescript&quot;&gt;&lt;code&gt;private final MemberRepository memberRepository;
private final PointHistoryRepository pointHistoryRepository;

@Transactional
public void charge(Long memberId, int amount) {
    Member member = memberRepository.findById(memberId)
        .orElseThrow(() -&amp;gt; new IllegalArgumentException(&quot;회원이 없습니다.&quot;));

    member.charge(amount);
    pointHistoryRepository.save(PointHistory.charge(memberId, amount));
}

@Transactional(readOnly = true)
public PointSummary getSummary(Long memberId) {
    Member member = memberRepository.findById(memberId)
        .orElseThrow(() -&amp;gt; new IllegalArgumentException(&quot;회원이 없습니다.&quot;));

    return PointSummary.from(member);
}
&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;&quot; style=&quot;margin: 0; white-space: pre-wrap; font-size: 14px; line-height: 1.8; color: #1f2937;&quot;&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;}&lt;/p&gt;
&lt;pre class=&quot;&quot; style=&quot;margin: 0; white-space: pre-wrap; font-size: 14px; line-height: 1.8; color: #1f2937;&quot;&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-size=&quot;size16&quot;&gt;위처럼 &lt;b&gt;변경 작업&lt;/b&gt;과 &lt;b&gt;조회 작업&lt;/b&gt;을 메서드 수준에서 분리해두면, 코드 의도도 선명해지고 문제 추적도 쉬워집니다. 이것이 실무에서 가장 관리하기 편한 방식 중 하나입니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;FAQ&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; &lt;code&gt;@Transactional&lt;/code&gt;은 클래스에 붙이는 게 좋을까요, 메서드에 붙이는 게 좋을까요?&lt;br /&gt;&amp;rarr; 공통 정책이 분명하다면 클래스에 붙일 수 있지만, 실무에서는 메서드별로 조회/수정 의도가 다르기 때문에 메서드 단위가 더 명확한 경우가 많습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 예외를 &lt;code&gt;try-catch&lt;/code&gt;로 잡으면 무조건 롤백이 안 되나요?&lt;br /&gt;&amp;rarr; 내부에서 잡고 끝내면 정상 종료로 인식될 수 있습니다. 잡더라도 다시 던지거나, 상황에 맞게 롤백 정책을 별도로 설계해야 합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; &lt;code&gt;readOnly = true&lt;/code&gt;면 UPDATE가 아예 차단되나요?&lt;br /&gt;&amp;rarr; 보통 그렇게 단정하면 안 됩니다. 구현체와 DB 설정에 따라 다르고, 대부분은 &quot;조회 전용 힌트&quot;로 이해하는 것이 안전합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; Repository에도 트랜잭션이 있는데 왜 Service에 또 붙이나요?&lt;br /&gt;&amp;rarr; 개별 쿼리 보호와 비즈니스 작업 경계는 다릅니다. 여러 저장/수정 작업을 하나로 묶으려면 Service 경계가 더 자연스럽습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;결론&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;color: #334155; line-height: 1.95; font-size: 15px; padding-left: 20px; margin: 0 0 18px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;@Transactional&lt;/code&gt;은 여러 DB 작업을 하나의 비즈니스 단위로 묶는 도구입니다.&lt;/li&gt;
&lt;li&gt;롤백은 기본적으로 RuntimeException 기준이므로, 체크 예외는 별도 설정이 필요할 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;readOnly = true&lt;/code&gt;는 조회 최적화와 의도 표현에 유용하지만, 쓰기 금지 장치로 과신하면 안 됩니다.&lt;/li&gt;
&lt;li&gt;가장 중요한 것은 어노테이션 자체보다 &lt;b&gt;트랜잭션 경계와 예외 설계&lt;/b&gt;입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;실무에서 &lt;code&gt;@Transactional&lt;/code&gt;은 &quot;붙였다&quot;보다 &quot;어디에 왜 붙였는가&quot;가 훨씬 더 중요합니다.&lt;/blockquote&gt;
&lt;div style=&quot;margin: 24px 0 0; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;관련 글 링크&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/what-is-transaction-acid-guide&quot;&gt;트랜잭션(Transaction)이란? ACID와 격리수준까지 쉽게 이해하기&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/spring-core-concepts-ioc-di-bean-container-guide&quot;&gt;Spring 핵심 개념 정리 | IoC, DI, Bean, Container, ApplicationContext 쉽게 이해하기&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/spring-mvc-controller-service-repository-guide&quot;&gt;Spring MVC 구조 정리 | Controller, Service, Repository 역할과 흐름 이해하기&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description>
      <category>IT/Spring</category>
      <category>@Transactional</category>
      <category>readonly</category>
      <category>ROLLBACK</category>
      <category>spring</category>
      <category>spring transaction</category>
      <category>트랜잭션</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/123</guid>
      <comments>https://trace90.tistory.com/entry/spring-transactional-rollback-readonly-practical-guide#entry123comment</comments>
      <pubDate>Sun, 12 Apr 2026 14:57:23 +0900</pubDate>
    </item>
    <item>
      <title>묵시적 갱신과 계약갱신청구권 차이 | 전세&amp;middot;월세 연장할 때 꼭 알아야 할 기준</title>
      <link>https://trace90.tistory.com/entry/implied-renewal-vs-renewal-request-right-guide</link>
      <description>&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%); box-shadow: 0 10px 28px rgba(37,99,235,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
   핵심 요약 
 &lt;/div&gt; 
 &lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt; 
  &lt;div&gt; &lt;b&gt;이 글에서 바로 볼 것&lt;/b&gt; 묵시적 갱신과 계약갱신청구권이 어떻게 다르고, 실제로 언제 어떤 방식으로 움직여야 하는지 정리해요. 
  &lt;/div&gt; 
  &lt;div&gt; &lt;b&gt;최신 기준&lt;/b&gt; 현재 실무에서는 계약갱신청구권 행사 시기를 &lt;b&gt;계약만료 6개월 전부터 2개월 전까지&lt;/b&gt;로 보는 것이 기본이에요. 
  &lt;/div&gt; 
  &lt;div&gt; &lt;b&gt;중요 차이&lt;/b&gt; 묵시적 갱신은 아무 말 없이 연장되는 구조이고, 계약갱신청구권은 임차인이 &lt;b&gt;명확하게 권리를 행사&lt;/b&gt;하는 구조예요. 
  &lt;/div&gt; 
  &lt;div&gt; &lt;b&gt;핵심 결론&lt;/b&gt; 전세·월세를 그냥 연장할지, 권리를 행사해 연장할지는 &lt;b&gt;시점·증거·향후 해지 계획&lt;/b&gt;까지 함께 보고 결정해야 해요. 
  &lt;/div&gt; 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
   먼저 결론 | 둘의 차이는 이렇게 이해하면 쉬워요 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #bfdbfe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;&lt;b&gt;묵시적 갱신&lt;/b&gt; = 임대인·임차인이 별도 종료나 조건변경 통지를 하지 않아 &lt;b&gt;자동으로 기존 조건이 이어지는 구조&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;계약갱신청구권&lt;/b&gt; = 임차인이 법에서 정한 기간 안에 &lt;b&gt;명확하게 갱신 의사를 통지해 연장을 요구하는 권리&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;묵시적 갱신은 계약갱신청구권 행사로 보지 않아요.&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;묵시적 갱신 후에도 나중에 계약갱신청구권을 행사할 수 있는 경우가 있어요.&lt;/b&gt;&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
   한눈에 보는 비교표 | 무엇이 가장 다를까? 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt; 
 &lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 22%; text-align: left; color: #1d4ed8;&quot;&gt;구분&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 39%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;묵시적 갱신&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 39%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;계약갱신청구권&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;발생 방식&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;당사자가 별도 종료·변경 통지를 하지 않으면 자동으로 이어져요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;임차인이 법정 기간 안에 명확히 갱신을 요구해야 해요.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;의사표시&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;없어도 성립할 수 있어요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;명확한 의사표시가 필요해요.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;행사 횟수&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;권리 행사 개념이 아니에요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;1회 행사 가능, 2년 보장이 기본이에요.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;시점 관리&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;기한을 놓쳐도 자동 연장이 될 수 있어요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;현재는 보통 계약만료 6개월 전부터 2개월 전까지가 핵심 기간이에요.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;해지 구조&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;임차인 입장에서는 나중에 중도 해지 계획이 있으면 특히 주의가 필요해요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;갱신 후 중도 해지 관련 효과도 실무상 매우 중요해서 통지 증거를 남기는 편이 안전해요.&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
   최신 기준 | 계약갱신청구권은 언제까지 말해야 할까? 
 &lt;/div&gt; 
&lt;/div&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;현재 실무에서 가장 중요한 기준은 &lt;b&gt;계약만료 6개월 전부터 2개월 전까지&lt;/b&gt;라는 점이에요. 예전 자료 중에는 1개월 전까지라고 적힌 글이 아직 남아 있는데, 지금은 최신 기준과 섞이면 혼동이 생길 수 있어요.&lt;/p&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #bfdbfe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #1d4ed8; margin-bottom: 10px;&quot;&gt;
   실무 체크 
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;계약갱신청구권은 &lt;b&gt;만료 직전에 급하게 말하면 늦을 수 있어요.&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;단순히 보냈다가 아니라 &lt;b&gt;상대방에게 의사가 도달했는지&lt;/b&gt;가 중요해요.&lt;/li&gt; 
  &lt;li&gt;문자, 카카오톡, 이메일, 내용증명 등은 가능하지만 &lt;b&gt;증거가 남는 방식&lt;/b&gt;이 유리해요.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.07);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
   실행 방법 | 임차인이 실제로 어떻게 움직여야 하나? 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;
   계약갱신청구권 행사 절차 
 &lt;/div&gt; 
 &lt;ol style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;decimal&quot;&gt; 
  &lt;li&gt;&lt;b&gt;계약 만료일을 먼저 정확히 확인&lt;/b&gt;해요.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;6개월 전부터 2개월 전까지&lt;/b&gt; 안에 갱신 의사를 통지해요.&lt;/li&gt; 
  &lt;li&gt;문자나 카톡만 보내도 될 수는 있지만, &lt;b&gt;내용증명이나 기록이 남는 방식&lt;/b&gt;을 추천해요.&lt;/li&gt; 
  &lt;li&gt;&quot;계약갱신청구권을 행사합니다&quot;처럼 &lt;b&gt;권리 행사라는 표현을 명확히&lt;/b&gt; 넣는 편이 안전해요.&lt;/li&gt; 
  &lt;li&gt;보낸 날짜, 수신 여부, 답변 내용을 캡처나 문서로 남겨요.&lt;/li&gt; 
 &lt;/ol&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
   예시 문구 
 &lt;/div&gt; 
 &lt;pre class=&quot;erlang&quot; style=&quot;margin: 0; white-space: pre-wrap; font-size: 14px; line-height: 1.8; color: #1f2937;&quot;&gt;&lt;code&gt;안녕하세요. 임대차계약 만료일이 다가와
주택임대차보호법상 계약갱신청구권을 행사합니다.
종전 계약을 갱신하여 계속 거주하고자 하니 확인 부탁드립니다.&lt;/code&gt;&lt;/pre&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
   묵시적 갱신은 언제 생기나? | 아무것도 안 하면 자동으로 이어질 수 있어요 
 &lt;/div&gt; 
&lt;/div&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;묵시적 갱신은 임대인이나 임차인이 계약 종료 또는 조건 변경 의사를 적절한 시기에 밝히지 않으면, &lt;b&gt;기존 계약과 같은 조건으로 다시 이어진 것으로 보는 구조&lt;/b&gt;예요. 즉, 적극적으로 권리를 행사한 것이 아니라 &quot;별말 없이 계속 가는 상태&quot;에 더 가까워요.&lt;/p&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #bae6fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(56,189,248,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
   묵시적 갱신이 특히 중요한 이유 
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;당장은 편해 보여도, 나중에 &lt;b&gt;내가 계약갱신청구권을 쓴 것인지 아닌지&lt;/b&gt; 헷갈리기 쉬워요.&lt;/li&gt; 
  &lt;li&gt;국토교통부 Q&amp;amp;A 기준으로는 &lt;b&gt;묵시적 갱신은 계약갱신청구권 행사로 보지 않아요.&lt;/b&gt;&lt;/li&gt; 
  &lt;li&gt;그래서 묵시적 갱신이 된 뒤에도, 그 갱신된 계약의 만료를 기준으로 다시 계약갱신청구권을 검토할 수 있어요.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div id=&quot;code_coupang_realestate_renewal&quot; data-ke-type=&quot;html&quot; data-source=&quot;&lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&lt;/script&gt;&quot;&gt; 
 &lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt; 
 &lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f97316; background: #fff7ed; border-radius: 14px; box-shadow: 0 6px 18px rgba(249,115,22,0.08);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
   실행 시나리오 | 이런 상황이면 이렇게 판단해요 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt; 
 &lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 26%; text-align: left; color: #1d4ed8;&quot;&gt;상황&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 38%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;어떻게 봐야 하나&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 36%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;실행 팁&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;그냥 더 살고 싶다&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;묵시적 갱신으로 갈 수도 있지만, 권리를 분명히 쓰려면 계약갱신청구권 통지가 더 명확해요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;만료일 계산 후 증거 남는 방식으로 통지해요.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;나중에 중간에 이사 갈 수도 있다&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;묵시적 갱신과 계약갱신청구권 갱신은 이후 해지 대응에서 체감이 다를 수 있어요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;무조건 구두 합의만 하지 말고, 종료 계획과 책임 범위를 미리 정리해요.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;이미 묵시적으로 연장됐다&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;그 자체가 계약갱신청구권 행사로 보이지는 않아요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;갱신된 계약의 만료일을 기준으로 다시 행사 가능성 검토가 필요해요.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;임대인이 매도할 예정이라고 한다&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;국토교통부 Q&amp;amp;A 기준으로 단순 매도 목적만으로는 갱신 거절이 되는 구조가 아니에요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;막연한 말만 듣지 말고, 거절 사유를 구체적으로 확인해요.&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #ef4444; background: #fff5f5; border-radius: 14px; box-shadow: 0 6px 18px rgba(239,68,68,0.07);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
   주의사항 | 여기서 많이 실수해요 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(239,68,68,0.05);&quot;&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;&lt;b&gt;&quot;말로 했으니 됐다&quot;&lt;/b&gt;고 생각하면 나중에 분쟁이 생길 수 있어요.&lt;/li&gt; 
  &lt;li&gt;계약갱신청구권은 &lt;b&gt;시기를 놓치면&lt;/b&gt; 의미가 크게 달라져요.&lt;/li&gt; 
  &lt;li&gt;묵시적 갱신과 명시적 합의 갱신, 계약갱신청구권 행사는 서로 같은 것으로 보면 안 돼요.&lt;/li&gt; 
  &lt;li&gt;임대인이 갱신을 거절할 수 있는지는 &lt;b&gt;법정 사유 해당 여부&lt;/b&gt;를 따져야 해요.&lt;/li&gt; 
  &lt;li&gt;특히 실거주 사유, 차임 연체, 전대, 파손 등은 사실관계와 증거를 같이 봐야 해요.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #ddd6fe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
   준비해야 할 자료 
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;현재 임대차계약서 사본&lt;/li&gt; 
  &lt;li&gt;계약 시작일과 만료일 메모&lt;/li&gt; 
  &lt;li&gt;임대인 연락처 및 통지 기록&lt;/li&gt; 
  &lt;li&gt;문자, 카톡, 이메일, 내용증명 발송 내역&lt;/li&gt; 
  &lt;li&gt;임대료 협의 내용이 있다면 그 기록&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
   FAQ 
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 묵시적 갱신도 계약갱신청구권을 쓴 것으로 보나요?&lt;br&gt;→ 아니에요. 국토교통부 Q&amp;amp;A 기준으로 묵시적 갱신은 계약갱신청구권 행사로 보지 않아요.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 이미 묵시적으로 연장됐으면 계약갱신청구권은 못 쓰나요?&lt;br&gt;→ 그렇지 않아요. 묵시적 갱신 후에도 그 갱신된 계약의 만료를 기준으로 다시 검토할 수 있어요.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 계약갱신청구권은 몇 번 쓸 수 있나요?&lt;br&gt;→ 1회 행사 가능하고, 2년 보장이 기본이에요.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 꼭 내용증명으로 보내야 하나요?&lt;br&gt;→ 법에서 방식이 하나로 고정된 것은 아니지만, 나중에 다툼을 줄이려면 증거가 남는 방식이 가장 안전해요.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
   결론 | 연장 자체보다 &quot;어떤 방식으로 연장됐는지&quot;가 더 중요해요 
 &lt;/div&gt; 
&lt;/div&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;묵시적 갱신은 아무 말 없이 이어지는 구조예요.&lt;/li&gt;&lt;li&gt;계약갱신청구권은 임차인이 기간 안에 명확히 요구해야 하는 권리예요.&lt;/li&gt;&lt;li&gt;둘은 같은 연장처럼 보여도, &lt;b&gt;법적 의미와 실무 대응이 다를 수 있어요.&lt;/b&gt;&lt;/li&gt;&lt;li&gt;전세·월세 연장을 앞두고 있다면 &lt;b&gt;만료일 계산 → 통지 방식 선택 → 증거 보관&lt;/b&gt; 순서로 움직이는 것이 가장 안전해요.&lt;/li&gt;&lt;/ul&gt;&lt;blockquote data-ke-style=&quot;style1&quot;&gt;임대차 연장은 &quot;계속 살 수 있느냐&quot;만의 문제가 아니라, &lt;b&gt;나중에 어떤 권리를 주장할 수 있느냐&lt;/b&gt;의 문제이기도 해요.&lt;/blockquote&gt;&lt;div style=&quot;margin: 24px 0 0; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
   관련 글 링크 
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/report-move-in-and-fixed-date-difference-guide&quot;&gt;전입신고와 확정일자 차이 | 왜 둘 다 중요한가&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/monthly-rent-contract-checklist-young-adults-guide&quot;&gt;월세 계약 전 꼭 확인해야 할 체크리스트 | 사회초년생이 놓치기 쉬운 핵심 정리&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/jeonse-contract-checklist-beginners-mistake-prevention-guide&quot;&gt;전세 계약 전 꼭 확인해야 할 체크리스트 | 초보자용 실수 방지 가이드&lt;/a&gt;&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;※ 참고: 개별 계약 사정, 체결 시점, 통지 방식, 분쟁 사실관계에 따라 판단이 달라질 수 있으므로 실제 통지 전에는 최신 법령과 공식 해설, 필요 시 전문가 자문까지 함께 확인하는 것이 안전해요.&lt;/p&gt;</description>
      <category>부동산/매매&amp;middot;전세&amp;middot;월세</category>
      <category>계약갱신청구권</category>
      <category>묵시적 갱신</category>
      <category>월세 연장</category>
      <category>임대차 계약</category>
      <category>전세 연장</category>
      <category>주택임대차보호법</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/126</guid>
      <comments>https://trace90.tistory.com/entry/implied-renewal-vs-renewal-request-right-guide#entry126comment</comments>
      <pubDate>Sat, 11 Apr 2026 23:20:48 +0900</pubDate>
    </item>
    <item>
      <title>전세보증보험 가입 조건 총정리 | 가입 가능 주택&amp;middot;보증금 한도&amp;middot;거절 사례까지</title>
      <link>https://trace90.tistory.com/entry/jeonse-guarantee-insurance-eligibility-limit-rejection-guide</link>
      <description>&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #fefce8 100%); box-shadow: 0 10px 28px rgba(245,158,11,0.08);&quot;&gt; 
 &lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
   핵심 요약 
 &lt;/div&gt; 
 &lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt; 
  &lt;div&gt; &lt;b&gt;이 글에서 바로 볼 것&lt;/b&gt; 전세보증보험이 어떤 경우에 가입 가능하고, 어떤 경우에 거절되기 쉬운지 실무 기준으로 정리해요. 
  &lt;/div&gt; 
  &lt;div&gt; &lt;b&gt;판단 기준&lt;/b&gt; 주택 유형, 보증금 규모, 권리관계, 계약 요건, 전입·확정일자 준비 여부를 함께 봐야 해요. 
  &lt;/div&gt; 
  &lt;div&gt; &lt;b&gt;바로 확인할 것&lt;/b&gt; 가입 기관별 세부 기준은 달라질 수 있으므로 계약 전 최신 공고 기준을 반드시 대조해야 해요. 
  &lt;/div&gt; 
  &lt;div&gt; &lt;b&gt;핵심 결론&lt;/b&gt; 전세보증보험은 &lt;b&gt;집이 전세라고 해서 자동으로 되는 상품이 아니라&lt;/b&gt;, 보증금·주택·권리관계·서류 요건을 모두 충족해야 가입이 가능해요. 
  &lt;/div&gt; 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
   먼저 결론 | 전세보증보험 가입 가능성은 이 5가지를 먼저 봐야 해요 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(245,158,11,0.06);&quot;&gt; 
 &lt;ol style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;decimal&quot;&gt; 
  &lt;li&gt;&lt;b&gt;가입 가능한 주택 유형인지&lt;/b&gt; 먼저 확인해요.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;보증금 규모가 해당 상품 한도 안에 들어오는지&lt;/b&gt; 봐야 해요.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;등기부등본상 권리관계가 복잡하지 않은지&lt;/b&gt; 확인해요.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;전입신고·확정일자·계약기간 등 기본 요건&lt;/b&gt;을 맞출 수 있는지 봐야 해요.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;임대인 정보, 계약서, 서류가 보험사 요구 기준과 맞는지&lt;/b&gt; 점검해야 해요.&lt;/li&gt; 
 &lt;/ol&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
   한눈에 보는 기준표 | 전세보증보험은 무엇을 보나? 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt; 
 &lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 24%; text-align: left; color: #1d4ed8;&quot;&gt;체크 항목&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 42%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;무엇을 보나&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 34%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;실무 포인트&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;주택 유형&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;아파트, 오피스텔, 다세대, 연립, 단독·다가구 등 보증 대상이 되는 주택인지 봐요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;같은 오피스텔이라도 주거용 여부, 건축물대장 상태에 따라 달라질 수 있어요.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;보증금 한도&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;기관별·지역별·상품별로 정한 보증금 상한 안에 들어오는지 확인해요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;수도권과 비수도권, 상품 종류에 따라 기준이 달라질 수 있어서 최신 공고 확인이 필수예요.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;권리관계&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;근저당, 압류, 가압류, 선순위 권리, 경매 위험 등을 봐요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;보증금이 집값 대비 높거나 선순위 채권이 많으면 거절 가능성이 높아져요.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;계약 요건&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;임대차계약서, 계약기간, 임대인 정보, 보증금 지급 구조 등을 봐요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;대리인 계약, 특약 누락, 정보 불일치가 있으면 심사에서 막히기 쉬워요.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;보호 절차&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;전입신고, 확정일자, 점유 상태 등 임차인 보호 요건을 갖추는지 봐요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;상품에 따라 신청 시점과 필요 조건이 달라서 계약 직후 바로 움직이는 편이 안전해요.&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
   가입 가능한 주택 | 어떤 집이 대상이 되기 쉬울까? 
 &lt;/div&gt; 
&lt;/div&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;전세보증보험은 보통 &lt;b&gt;주거용으로 인정되는 주택&lt;/b&gt;을 기준으로 심사를 봐요. 다만 실제 가입 가능 여부는 기관과 상품에 따라 차이가 있어서, 단순히 &quot;전세 계약을 맺었다&quot;는 이유만으로 자동 가입이 되는 것은 아니에요.&lt;/p&gt;&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt; 
 &lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; color: #1d4ed8;&quot;&gt;주택 유형&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 36%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;가입 가능성&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 36%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;주의할 점&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;아파트&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;비교적 판단이 명확한 편이에요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;권리관계와 보증금 수준이 여전히 중요해요.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;오피스텔&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;주거용으로 인정되면 가능성이 있어요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;업무용 표기, 용도 문제, 건축물대장 상태를 꼭 봐야 해요.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;연립·다세대&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;가능한 경우가 많아요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;시세 확인과 선순위 권리 검토가 특히 중요해요.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;다가구·단독주택&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;가능할 수 있지만 심사가 더 까다롭게 느껴질 수 있어요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;다른 세입자 보증금, 선순위 관계, 보증금 총액 리스크를 같이 봐야 해요.&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #bfdbfe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #1d4ed8; margin-bottom: 10px;&quot;&gt;
   핵심 포인트 
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;건물 유형보다 &lt;b&gt;권리관계와 보증금 구조&lt;/b&gt;가 더 중요하게 작용하는 경우가 많아요.&lt;/li&gt; 
  &lt;li&gt;오피스텔·다가구는 서류상 상태와 선순위 관계를 더 꼼꼼히 봐야 해요.&lt;/li&gt; 
  &lt;li&gt;불법건축물 이슈, 위반건축물 표시, 공부상 정보 불일치는 거절 사유로 이어질 수 있어요.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.07);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
   보증금 한도 | 얼마까지 가능하냐보다 내 계약이 기준 안에 드는지가 중요해요 
 &lt;/div&gt; 
&lt;/div&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;많이 헷갈리는 부분이 바로 보증금 한도예요. 전세보증보험은 보통 &lt;b&gt;기관별·상품별·지역별로 보증 가능한 상한선&lt;/b&gt;이 있어요. 그래서 같은 5억 원 전세라도 어디에 있는 집인지, 어떤 상품을 쓰는지, 신청 시점이 언제인지에 따라 결과가 달라질 수 있어요.&lt;/p&gt;&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt; 
 &lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; color: #1d4ed8;&quot;&gt;구분&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 36%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;무엇을 확인하나&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 36%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;실무 판단&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;수도권 / 비수도권&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;지역별 상한이 다른지 봐요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;수도권은 기준이 다르게 공지되는 경우가 많아요.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;기관별 상품 차이&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;같은 전세보증보험이라도 운영 기준과 심사 포인트가 달라질 수 있어요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;조건이 안 맞으면 다른 기관 상품이 더 적합할 수 있어요.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;보증금 규모&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;내 계약 보증금이 상한 이내인지 확인해요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;숫자 하나만 보지 말고 주택가액 대비 과도한지도 같이 봐야 해요.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;신청 시점&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;계약 초기인지, 갱신 계약인지, 입주 후 얼마가 지났는지 봐요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;같은 집이어도 시점이 늦으면 제한될 수 있어요.&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;
   실무 메모 
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;보증금 한도는 자주 바뀔 수 있어서 &lt;b&gt;계약 직전 최신 공고&lt;/b&gt;를 보는 게 안전해요.&lt;/li&gt; 
  &lt;li&gt;한도 안에 들어도 &lt;b&gt;집값 대비 보증금이 과도하면&lt;/b&gt; 심사에서 불리할 수 있어요.&lt;/li&gt; 
  &lt;li&gt;단순히 &quot;얼마까지 된다&quot;보다 &lt;b&gt;내 계약이 왜 가능한지&lt;/b&gt;를 기준으로 봐야 해요.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div id=&quot;code_coupang_realestate_guarantee&quot; data-ke-type=&quot;html&quot; data-source=&quot;&lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&lt;/script&gt;&quot;&gt; 
 &lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt; 
 &lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #ef4444; background: #fff5f5; border-radius: 14px; box-shadow: 0 6px 18px rgba(239,68,68,0.07);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
   거절 사례 | 실제로 많이 막히는 이유는 이쪽이에요 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt; 
 &lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 24%; text-align: left; color: #1d4ed8;&quot;&gt;거절 사유&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 32%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;왜 문제인가&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 24%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;확인 포인트&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 20%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;대응&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;보증금이 기준 초과&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;상품 한도 밖이면 구조적으로 가입이 어려워요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;기관별 최신 한도&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;다른 상품 검토&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;선순위 채권 과다&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;경매 시 보증금 회수 가능성이 낮다고 판단될 수 있어요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;근저당, 선순위 임차인&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;계약 재검토&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;주택 정보 불일치&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;등기, 건축물대장, 계약서 정보가 다르면 심사에서 막힐 수 있어요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;호수, 면적, 용도&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;서류 정정&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;전입·확정일자 요건 미흡&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;임차인 보호 요건이 약하면 가입 요건 충족이 어려워질 수 있어요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;신청 시점, 절차&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;즉시 보완&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;불법·위반건축물 이슈&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;담보가치와 법적 안정성 판단에 불리해요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;건축물대장 표시&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;대상 재검토&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;임대인·대리인 서류 문제&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;권한 불명확, 정보 누락, 서명 문제는 심사 리스크예요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;위임장, 신분 확인&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;증빙 강화&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(239,68,68,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #7f1d1d; margin-bottom: 10px;&quot;&gt;
   거절되기 쉬운 대표 상황 
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;집값 대비 전세보증금이 지나치게 높아요.&lt;/li&gt; 
  &lt;li&gt;다가구인데 다른 세입자 보증금과 선순위 관계가 불명확해요.&lt;/li&gt; 
  &lt;li&gt;오피스텔인데 공부상 용도나 서류 정보가 애매해요.&lt;/li&gt; 
  &lt;li&gt;임대인이 보증보험 협조 문구를 계약서에 넣는 것을 꺼려요.&lt;/li&gt; 
  &lt;li&gt;계약 후 너무 늦게 알아봐서 신청 시점 요건을 놓쳐요.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
   계약 전 체크리스트 | 가입 가능성을 높이려면 이것부터 준비해요 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #bae6fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(56,189,248,0.06);&quot;&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;등기부등본 최신본을 계약 직전에 다시 확인해요.&lt;/li&gt; 
  &lt;li&gt;건축물대장, 주소, 호수, 용도 정보가 일치하는지 봐요.&lt;/li&gt; 
  &lt;li&gt;근저당, 압류, 가압류, 선순위 임차 가능성을 체크해요.&lt;/li&gt; 
  &lt;li&gt;전입신고와 확정일자를 빠르게 진행할 수 있는 일정인지 확인해요.&lt;/li&gt; 
  &lt;li&gt;계약서 특약에 &lt;b&gt;보증보험 가입 협조&lt;/b&gt; 문구를 넣는지 봐요.&lt;/li&gt; 
  &lt;li&gt;보증금 한도와 신청 시점은 기관 최신 공고 기준으로 재확인해요.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
   FAQ 
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 전세보증보험은 모든 전세집이 가입되나요?&lt;br&gt;→ 아니에요. 주택 유형, 보증금 규모, 권리관계, 서류 요건에 따라 가입 가능 여부가 달라져요.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 보증금 한도만 맞으면 바로 가입되나요?&lt;br&gt;→ 아니에요. 한도 안에 들어도 선순위 채권, 주택 상태, 서류 불일치 때문에 거절될 수 있어요.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 다가구나 오피스텔도 가입할 수 있나요?&lt;br&gt;→ 가능할 수 있어요. 다만 아파트보다 더 꼼꼼한 심사가 들어갈 수 있어서 서류와 권리관계 확인이 중요해요.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 계약 후 나중에 알아봐도 괜찮나요?&lt;br&gt;→ 너무 늦으면 신청 시점 요건에 걸릴 수 있어요. 계약 전후로 바로 확인하는 편이 안전해요.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
   결론 | 전세보증보험은 &quot;가입 가능 여부&quot; 자체가 위험 신호를 알려줘요 
 &lt;/div&gt; 
&lt;/div&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;전세보증보험은 보증금 보호의 중요한 수단이지만, 모든 계약이 자동 승인되는 구조는 아니에요.&lt;/li&gt;&lt;li&gt;가입 가능 주택인지, 보증금 한도 안인지, 권리관계가 안전한지, 서류가 맞는지를 함께 봐야 해요.&lt;/li&gt;&lt;li&gt;거절 사례를 미리 알면 계약 자체를 다시 판단하는 데 큰 도움이 돼요.&lt;/li&gt;&lt;li&gt;&lt;b&gt;보험이 안 되는 집은 왜 안 되는지&lt;/b&gt;부터 따져보는 것이 전세 리스크를 줄이는 현실적인 출발점이에요.&lt;/li&gt;&lt;/ul&gt;&lt;blockquote data-ke-style=&quot;style1&quot;&gt;전세보증보험은 &quot;가입했느냐&quot;보다 먼저, &lt;b&gt;왜 가입이 되는 집인지&lt;/b&gt;, 또는 &lt;b&gt;왜 거절될 수 있는 집인지&lt;/b&gt;를 보는 것이 더 중요해요.&lt;/blockquote&gt;&lt;div style=&quot;margin: 24px 0 0; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
   관련 글 링크 
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/jeonse-contract-checklist-beginners-mistake-prevention-guide&quot;&gt;전세 계약 전 꼭 확인해야 할 체크리스트 | 초보자용 실수 방지 가이드&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/report-move-in-and-fixed-date-difference-guide&quot;&gt;전입신고와 확정일자 차이 | 왜 둘 다 중요한가&lt;/a&gt;&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;※ 참고: 전세보증보험의 세부 가입 기준과 보증금 한도는 기관·상품·지역·시점에 따라 달라질 수 있어요. 실제 계약 전에는 반드시 최신 공식 공고와 상담 기준을 다시 확인하는 것이 안전해요.&lt;/p&gt;</description>
      <category>부동산/매매&amp;middot;전세&amp;middot;월세</category>
      <category>가입 조건</category>
      <category>거절 사례</category>
      <category>보증금 보호</category>
      <category>전세보증금반환보증</category>
      <category>전세보증보험</category>
      <category>전세사기 예방</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/125</guid>
      <comments>https://trace90.tistory.com/entry/jeonse-guarantee-insurance-eligibility-limit-rejection-guide#entry125comment</comments>
      <pubDate>Sat, 11 Apr 2026 22:35:06 +0900</pubDate>
    </item>
    <item>
      <title>월세 계약 전 꼭 확인해야 할 체크리스트 | 사회초년생이 놓치기 쉬운 핵심 정리</title>
      <link>https://trace90.tistory.com/entry/monthly-rent-contract-checklist-young-adults-guide</link>
      <description>&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%); box-shadow: 0 10px 28px rgba(37,99,235,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
   핵심 요약 
 &lt;/div&gt; 
 &lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt; 
  &lt;div&gt; &lt;b&gt;이 글에서 바로 볼 것&lt;/b&gt; 월세 계약 전에 꼭 확인해야 할 순서와 서류, 관리비, 보증금 체크 포인트를 한눈에 정리합니다. 
  &lt;/div&gt; 
  &lt;div&gt; &lt;b&gt;특히 놓치기 쉬운 것&lt;/b&gt; 사회초년생이 자주 넘기는 &lt;b&gt;관리비 포함 항목, 특약, 하자 사진 기록, 전입신고·확정일자&lt;/b&gt;까지 같이 봅니다. 
  &lt;/div&gt; 
  &lt;div&gt; &lt;b&gt;바로 판단할 기준&lt;/b&gt; 집이 예뻐 보여도 권리관계, 실지출, 하자 책임이 불리하면 계약을 미루는 쪽이 더 안전합니다. 
  &lt;/div&gt; 
  &lt;div&gt; &lt;b&gt;핵심 결론&lt;/b&gt; 월세 계약의 핵심은 월세 금액만 보는 것이 아니라 &lt;b&gt;보증금 안전 + 고정지출 + 계약서 문구&lt;/b&gt;를 함께 보는 것입니다. 
  &lt;/div&gt; 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
   먼저 결론 | 월세 계약 전 가장 먼저 체크할 5가지 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #bfdbfe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;ol style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;decimal&quot;&gt; 
  &lt;li&gt;&lt;b&gt;등기부등본으로 소유자와 권리관계&lt;/b&gt;를 먼저 확인해요.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;월세 + 관리비 + 공과금&lt;/b&gt;까지 포함한 실제 고정지출을 계산해요.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;보증금 반환 위험&lt;/b&gt;이 큰 구조인지 보고, 필요하면 계약을 보류해요.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;하자 상태와 수리 책임&lt;/b&gt;을 사진과 특약으로 남겨요.&lt;/li&gt; 
  &lt;li&gt;입주 후에는 &lt;b&gt;전입신고와 확정일자&lt;/b&gt;까지 빠르게 이어가야 해요.&lt;/li&gt; 
 &lt;/ol&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
   한눈에 보는 월세 계약 체크표 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt; 
 &lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 24%; text-align: left; color: #1d4ed8;&quot;&gt;체크 항목&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 38%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;왜 중요한가&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 38%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;확인 포인트&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;소유자 확인&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;계약 상대방이 실제 소유자인지 확인해야 사기 위험을 줄일 수 있어요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;등기부등본상 소유자 이름과 계약서 임대인 정보를 대조해요.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;권리관계&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;근저당이나 복잡한 권리가 많으면 보증금 반환 위험이 커질 수 있어요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;을구, 근저당권, 가압류, 압류 여부를 확인해요.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;실제 월 고정지출&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;월세만 보고 계약하면 관리비 때문에 예산이 흔들릴 수 있어요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;관리비, 인터넷, 주차, 전기·가스 별도 여부를 따져요.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;하자 상태&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;입주 직후 수리비 분쟁으로 이어지기 쉬운 부분이에요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;곰팡이, 누수, 창문, 보일러, 수압, 도어락, 옵션 작동 여부를 봐요.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;특약&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;말로만 약속하면 분쟁 때 증명하기 어려워요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;수리 범위, 청소 상태, 옵션 고장 책임, 중도해지 조건을 문구로 남겨요.&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
   체크 순서 | 사회초년생이라면 이 순서대로 보면 덜 놓칩니다 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt; 
  &lt;div&gt; &lt;b&gt;1단계.&lt;/b&gt; 방을 보기 전에 보증금, 월세, 관리비 범위를 먼저 정해요. 
  &lt;/div&gt; 
  &lt;div&gt; &lt;b&gt;2단계.&lt;/b&gt; 마음에 드는 집이 있으면 등기부등본과 소유자부터 확인해요. 
  &lt;/div&gt; 
  &lt;div&gt; &lt;b&gt;3단계.&lt;/b&gt; 집 상태는 사진으로 남기고, 수리 필요 항목을 바로 정리해요. 
  &lt;/div&gt; 
  &lt;div&gt; &lt;b&gt;4단계.&lt;/b&gt; 계약서에는 특약으로 수리·청소·반환 조건을 적어요. 
  &lt;/div&gt; 
  &lt;div&gt; &lt;b&gt;5단계.&lt;/b&gt; 입주 후에는 전입신고와 확정일자까지 이어가야 보증금 보호가 더 강해져요. 
  &lt;/div&gt; 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
   관리비는 왜 꼭 따로 봐야 할까? 
 &lt;/div&gt; 
&lt;/div&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;사회초년생이 가장 많이 놓치는 부분 중 하나가 &lt;b&gt;월세만 보고 실제 지출을 계산하는 것&lt;/b&gt;입니다. 예를 들어 월세 45만 원이라고 해도 관리비 10만 원, 인터넷 별도, 주차비 별도, 전기·가스 별도라면 체감 부담은 완전히 달라집니다.&lt;/p&gt;&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt; 
 &lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 30%; text-align: left; color: #1d4ed8;&quot;&gt;항목&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 35%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;자주 하는 오해&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 35%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;실제 확인할 것&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;관리비&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;&quot;대충 몇만 원이겠지&quot; 하고 넘겨요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;고정인지 변동인지, 평균 얼마인지, 포함 항목이 무엇인지 물어봐야 해요.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;공과금&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;관리비에 다 포함된다고 생각해요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;전기, 가스, 수도가 별도인지 확인해야 해요.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;옵션 유지비&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;냉장고·세탁기만 있으면 끝이라고 봐요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;에어컨 청소 상태, 보일러 노후, 인덕션 고장 여부도 비용과 연결돼요.&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #fffdf7; box-shadow: 0 8px 24px rgba(245,158,11,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #92400e; margin-bottom: 10px;&quot;&gt;
   이런 질문은 꼭 해보는 게 좋아요 
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;관리비에 포함되는 항목이 정확히 무엇인가요?&lt;/li&gt; 
  &lt;li&gt;최근 평균 관리비는 어느 정도였나요?&lt;/li&gt; 
  &lt;li&gt;주차비, 인터넷, 수도는 별도인가요?&lt;/li&gt; 
  &lt;li&gt;계절에 따라 전기·가스비 차이가 큰 편인가요?&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div id=&quot;code_coupang_realestate_monthly_rent&quot; data-ke-type=&quot;html&quot; data-source=&quot;&lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&lt;/script&gt;&quot;&gt; 
 &lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt; 
 &lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
   자주 놓치는 위험 신호 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt; 
 &lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 24%; text-align: left; color: #1d4ed8;&quot;&gt;위험 신호&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;왜 조심해야 하나&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;바로 확인할 것&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 20%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;판단&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;등기부 확인을 꺼림&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;권리관계를 숨기거나 설명을 회피할 수 있어요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;소유자 정보와 권리관계 열람&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #dc2626;&quot;&gt;보류&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;관리비 설명이 모호함&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;월 고정지출이 예상보다 커질 수 있어요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;포함 항목, 평균 금액, 별도 항목&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #f59e0b;&quot;&gt;재확인&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;하자 수리 약속이 말로만 있음&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;입주 후 책임 공방으로 이어지기 쉬워요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;특약 문구, 사진, 문자 기록&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #dc2626;&quot;&gt;문서화 필요&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;보증금이 집 상태 대비 과도함&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;반환 위험을 따져봐야 하는 구조일 수 있어요.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;권리관계, 시세, 보증금 규모&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #f59e0b;&quot;&gt;신중 검토&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
   계약서에서 꼭 넣어두면 좋은 특약 예시 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;입주 전 확인된 하자는 임대인이 수리 후 인도한다.&lt;/li&gt; 
  &lt;li&gt;에어컨, 보일러, 세탁기, 냉장고 등 옵션 고장 시 최초 고장 책임 범위를 명확히 한다.&lt;/li&gt; 
  &lt;li&gt;퇴실 시 원상복구 범위는 일반적인 생활 흔적을 제외하고 별도 협의한다.&lt;/li&gt; 
  &lt;li&gt;관리비 항목과 부담 주체를 계약서 또는 별첨 문서로 확인한다.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(245,158,11,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #92400e; margin-bottom: 10px;&quot;&gt;
   계약 직전 최종 체크리스트 
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;등기부등본상 소유자와 계약 상대방이 같은지 확인했어요.&lt;/li&gt; 
  &lt;li&gt;월세 외 관리비와 공과금 구조를 계산했어요.&lt;/li&gt; 
  &lt;li&gt;하자 사진과 영상, 수리 요청 내용을 남겼어요.&lt;/li&gt; 
  &lt;li&gt;특약에 말로 한 약속을 문장으로 넣었어요.&lt;/li&gt; 
  &lt;li&gt;입주 후 전입신고와 확정일자 계획까지 세웠어요.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
   FAQ 
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 월세 계약도 등기부등본을 꼭 봐야 하나요?&lt;br&gt;→ 네. 월세라도 보증금이 걸려 있고 계약 상대방 확인이 중요하므로 기본 확인 서류로 보는 게 안전해요.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 관리비는 구두로만 들어도 괜찮나요?&lt;br&gt;→ 가능하면 포함 항목과 금액 구조를 문자나 계약서 문구로 남기는 편이 좋아요. 입주 후 분쟁이 가장 자주 생기는 부분 중 하나예요.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 월세 계약도 확정일자가 필요한가요?&lt;br&gt;→ 보증금이 있는 월세라면 중요하게 보는 게 좋아요. 전입신고와 함께 챙기는 쪽이 더 안전해요.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 집 상태는 괜찮아 보이는데 하자를 꼭 사진으로 남겨야 하나요?&lt;br&gt;→ 네. 나중에 퇴실이나 수리 책임을 따질 때 가장 현실적인 증빙이 됩니다.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
   결론 
 &lt;/div&gt; 
&lt;/div&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;월세 계약은 월세 숫자 하나만 보면 안 되고, 관리비와 공과금까지 합친 실제 지출을 봐야 해요.&lt;/li&gt;&lt;li&gt;등기부등본, 소유자 확인, 권리관계 확인은 사회초년생일수록 더 먼저 챙기는 것이 안전해요.&lt;/li&gt;&lt;li&gt;하자와 수리 책임은 사진과 특약으로 남겨야 나중에 덜 힘들어요.&lt;/li&gt;&lt;li&gt;입주 후 전입신고와 확정일자까지 이어가야 보증금 보호가 더 탄탄해집니다.&lt;/li&gt;&lt;/ul&gt;&lt;blockquote data-ke-style=&quot;style1&quot;&gt;좋은 월세방은 예쁜 방이 아니라, 내가 감당 가능한 비용 안에서 보증금과 생활 리스크까지 통제되는 방이에요.&lt;/blockquote&gt;&lt;div style=&quot;margin: 24px 0 0; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
   관련 글 링크 
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/jeonse-contract-checklist-beginners-mistake-prevention-guide&quot;&gt;전세 계약 전 꼭 확인해야 할 체크리스트 | 초보자용 실수 방지 가이드&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/report-move-in-and-fixed-date-difference-guide&quot;&gt;전입신고와 확정일자 차이 | 왜 둘 다 중요한가&lt;/a&gt;&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;</description>
      <category>부동산/매매&amp;middot;전세&amp;middot;월세</category>
      <category>관리비</category>
      <category>보증금 보호</category>
      <category>부동산 체크리스트</category>
      <category>사회초년생</category>
      <category>월세 계약</category>
      <category>임대차계약</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/124</guid>
      <comments>https://trace90.tistory.com/entry/monthly-rent-contract-checklist-young-adults-guide#entry124comment</comments>
      <pubDate>Sat, 11 Apr 2026 17:25:24 +0900</pubDate>
    </item>
    <item>
      <title>생애최초 특별공급 조건 총정리 | 신혼부부&amp;middot;다자녀&amp;middot;일반과 차이까지 한눈에 정리</title>
      <link>https://trace90.tistory.com/entry/first-time-special-supply-eligibility-guide-with-other-types</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;생애최초 특별공급은 이름은 익숙하지만 실제 자격 판단은 생각보다 까다롭습니다. 특히 청약을 처음 준비하는 분들은 &lt;b&gt;무주택이면 되는지, 신혼부부 특별공급과 무엇이 다른지, 다자녀 특별공급과 같이 볼 수 있는지&lt;/b&gt;에서 많이 헷갈립니다.&lt;br&gt;이번 글은 문장 설명보다 실제로 판단할 수 있도록 &lt;b&gt;유형별 기준, 체크리스트, 준비항목, 상황별 비교&lt;/b&gt; 중심으로 정리했습니다. 핵심은 하나입니다. 특별공급은 “이름이 비슷한 제도”가 아니라, &lt;b&gt;각 유형마다 보는 기준이 다르기 때문에 내 상황을 기준표에 대입해서 보는 방식&lt;/b&gt;이 가장 정확합니다.&lt;/p&gt;&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #fefce8 100%); box-shadow: 0 10px 28px rgba(245,158,11,0.08);&quot;&gt; 
 &lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
  핵심 요약
 &lt;/div&gt; 
 &lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt; 
  &lt;div&gt;
   &lt;b&gt;생애최초&lt;/b&gt;는 무주택 세대 + 처음 집을 마련하는 성격 + 소득·자산 기준 확인이 핵심입니다.
  &lt;/div&gt; 
  &lt;div&gt;
   &lt;b&gt;신혼부부&lt;/b&gt;는 혼인 상태, 혼인 기간, 자녀 여부, 소득 기준이 핵심입니다.
  &lt;/div&gt; 
  &lt;div&gt;
   &lt;b&gt;다자녀&lt;/b&gt;는 미성년 자녀 수와 세대 구성 조건이 핵심입니다.
  &lt;/div&gt; 
  &lt;div&gt;
   &lt;b&gt;가장 중요한 포인트&lt;/b&gt;는 내 상황을 유형별 기준표에 넣어 먼저 거를 수 있어야 한다는 점입니다.
  &lt;/div&gt; 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  한눈에 보는 기준 | 나는 어느 유형부터 보면 되나?
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt; 
 &lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.8; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 16%; text-align: left; color: #1d4ed8;&quot;&gt;유형&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;핵심 판단 기준&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;먼저 체크할 것&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;이런 사람에게 우선 추천&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;생애최초&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;무주택 세대, 생애 최초 주택 구입 성격, 소득·자산 기준&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;세대 전원 무주택 여부, 과거 주택 소유 이력, 소득·자산 충족 여부&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;첫 내 집 마련을 준비하는 무주택 가구&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;신혼부부&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;혼인 상태, 혼인 기간, 자녀 여부, 소득 기준&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;혼인 여부, 혼인 기간, 자녀 유무, 소득 충족 여부&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;혼인 초기이거나 자녀가 있는 신혼 가구&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;다자녀&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;미성년 자녀 수, 세대 구성, 무주택 여부&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;자녀 수, 세대원 구성, 무주택 여부&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;자녀 수가 많은 가구&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;일반공급&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;청약통장, 순위, 지역요건, 가점·추첨&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;통장 가입기간, 납입횟수, 가점 경쟁력&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;특별공급 자격이 애매하거나 일반 가점이 높은 사람&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  생애최초 특별공급 | 기준 체크리스트
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #1d4ed8; margin-bottom: 10px;&quot;&gt;
  생애최초 체크리스트
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;세대 기준으로 무주택 상태인가&lt;/li&gt; 
  &lt;li&gt;본인과 세대원이 과거 주택 소유 이력 판단에서 문제 없는가&lt;/li&gt; 
  &lt;li&gt;해당 공고의 소득 기준을 충족하는가&lt;/li&gt; 
  &lt;li&gt;해당 공고의 자산 기준이 적용되면 이를 충족하는가&lt;/li&gt; 
  &lt;li&gt;청약통장, 지역, 세대주 요건 등 기본 청약 자격을 갖췄는가&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt; 
 &lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.8; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 22%; text-align: left; color: #1d4ed8;&quot;&gt;항목&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 52%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;확인 기준&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 26%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;준비/확인 자료&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;무주택&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;현재 본인만이 아니라 세대 기준 무주택 판단이 중요한 경우가 많습니다.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;세대구성원 정보, 주택소유 확인&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;생애최초 성격&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;단순 현재 무주택이 아니라 과거 주택 소유 이력 판단이 중요합니다.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;과거 주택 관련 이력 점검&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;소득&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;전년도 도시근로자 가구당 월평균소득 기준 등 공고상 기준을 확인해야 합니다.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;소득증빙자료, 원천징수·소득금액 자료&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;자산&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;국민주택 등 일부 유형에서는 총자산·자동차가액 기준 확인이 중요합니다.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;자산 관련 사전 점검&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;기본 청약요건&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;청약통장, 지역 요건, 세대주 여부 등 기본 요건이 같이 걸릴 수 있습니다.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;청약통장 가입내역, 주소지 요건&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.07);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  신혼부부 특별공급 | 기준 체크리스트
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;
  신혼부부 체크리스트
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;혼인 중이거나 예비신혼부부 요건에 해당하는가&lt;/li&gt; 
  &lt;li&gt;혼인 기간 기준에 들어오는가&lt;/li&gt; 
  &lt;li&gt;자녀 유무 또는 임신·입양 관련 기준을 확인했는가&lt;/li&gt; 
  &lt;li&gt;소득 기준을 충족하는가&lt;/li&gt; 
  &lt;li&gt;무주택 세대 요건을 충족하는가&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  다자녀 특별공급 | 기준 체크리스트
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;
  다자녀 체크리스트
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;미성년 자녀 수 기준을 충족하는가&lt;/li&gt; 
  &lt;li&gt;세대원 구성상 자녀 산정이 가능한 상태인가&lt;/li&gt; 
  &lt;li&gt;무주택 세대 요건을 충족하는가&lt;/li&gt; 
  &lt;li&gt;배점 항목 또는 우선순위 기준이 있는지 확인했는가&lt;/li&gt; 
  &lt;li&gt;주민등록등본 등 가족관계 증빙이 준비 가능한가&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div id=&quot;code_coupang_housing_policy_1&quot; data-ke-type=&quot;html&quot; data-source=&quot;&lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&lt;/script&gt;&quot;&gt; 
 &lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt; 
 &lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #ef4444; background: #fff5f5; border-radius: 14px; box-shadow: 0 6px 18px rgba(239,68,68,0.07);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  유형별 준비항목 | 실제로 미리 챙길 서류
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt; 
 &lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.8; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 24%; text-align: left; color: #1d4ed8;&quot;&gt;준비항목&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 38%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;왜 필요한가&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 38%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;주로 보는 유형&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;주민등록등본·초본&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;세대 구성, 주소지, 세대 분리 여부 확인에 쓰입니다.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;생애최초 / 신혼부부 / 다자녀 공통&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;가족관계증명서&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;배우자·자녀 관계 확인이 필요합니다.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;신혼부부 / 다자녀&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;혼인관계증명서&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;혼인 여부와 혼인 기간 확인에 쓰입니다.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;신혼부부&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;소득증빙자료&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;소득 기준 충족 여부 확인에 필요합니다.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;생애최초 / 신혼부부&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;자산 관련 확인자료&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;총자산·자동차가액 기준 적용 시 필요할 수 있습니다.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;생애최초 등 공고별 적용 유형&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;청약통장 가입내역&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;통장 요건과 가입기간, 납입 내역 확인에 필요합니다.&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;생애최초 / 일반공급 포함 공통&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  사례로 이해하기 | 나는 어떤 유형을 먼저 봐야 할까?
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;border: 1px solid #dbeafe; border-radius: 18px; overflow: hidden; margin: 18px 0 22px; background: #fff; box-shadow: 0 8px 24px rgba(15,23,42,0.05);&quot;&gt; 
 &lt;div style=&quot;padding: 14px 18px; background: #eff6ff; font-size: 18px; font-weight: 800; color: #1e40af;&quot;&gt;
  사례 1. 미혼 무주택 직장인
 &lt;/div&gt; 
 &lt;div style=&quot;padding: 18px; line-height: 1.9; color: #334155;&quot;&gt; 
  &lt;div&gt;
   &lt;b&gt;우선 검토&lt;/b&gt; 생애최초 / 일반공급
  &lt;/div&gt; 
  &lt;div style=&quot;margin-top: 8px;&quot;&gt;
   &lt;b&gt;왜&lt;/b&gt; 신혼부부·다자녀 요건은 해당 가능성이 낮고, 첫 집 마련 여부와 소득·자산 기준이 핵심이기 때문입니다.
  &lt;/div&gt; 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;border: 1px solid #bfdbfe; border-radius: 18px; overflow: hidden; margin: 18px 0 22px; background: #fff; box-shadow: 0 8px 24px rgba(15,23,42,0.05);&quot;&gt; 
 &lt;div style=&quot;padding: 14px 18px; background: #dbeafe; font-size: 18px; font-weight: 800; color: #1d4ed8;&quot;&gt;
  사례 2. 결혼 2년 차, 자녀 1명
 &lt;/div&gt; 
 &lt;div style=&quot;padding: 18px; line-height: 1.9; color: #334155;&quot;&gt; 
  &lt;div&gt;
   &lt;b&gt;우선 검토&lt;/b&gt; 신혼부부 / 생애최초
  &lt;/div&gt; 
  &lt;div style=&quot;margin-top: 8px;&quot;&gt;
   &lt;b&gt;왜&lt;/b&gt; 혼인과 자녀 요건이 신혼부부에 더 직접적으로 맞을 수 있고, 동시에 첫 집 마련 요건이 맞으면 생애최초도 함께 볼 수 있기 때문입니다.
  &lt;/div&gt; 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;border: 1px solid #fecdd3; border-radius: 18px; overflow: hidden; margin: 18px 0 22px; background: #fff; box-shadow: 0 8px 24px rgba(15,23,42,0.05);&quot;&gt; 
 &lt;div style=&quot;padding: 14px 18px; background: #ffe4e6; font-size: 18px; font-weight: 800; color: #be123c;&quot;&gt;
  사례 3. 미성년 자녀가 많은 무주택 가구
 &lt;/div&gt; 
 &lt;div style=&quot;padding: 18px; line-height: 1.9; color: #334155;&quot;&gt; 
  &lt;div&gt;
   &lt;b&gt;우선 검토&lt;/b&gt; 다자녀 / 신혼부부 또는 생애최초 병행 검토
  &lt;/div&gt; 
  &lt;div style=&quot;margin-top: 8px;&quot;&gt;
   &lt;b&gt;왜&lt;/b&gt; 다자녀 기준이 직접적으로 맞을 가능성이 높고, 가족 상황에 따라 다른 특별공급과 함께 비교할 수 있기 때문입니다.
  &lt;/div&gt; 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div id=&quot;code_coupang_housing_policy_2&quot; data-ke-type=&quot;html&quot; data-source=&quot;&lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&lt;/script&gt;&quot;&gt; 
 &lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt; 
 &lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
  FAQ
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;&lt;b&gt;Q. 생애최초는 무주택이면 끝인가요?&lt;/b&gt;&lt;br&gt;→ 아닙니다. 무주택 외에도 세대 기준, 과거 주택 소유 이력 판단, 소득·자산 기준까지 함께 봐야 합니다.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q. 신혼부부와 생애최초 둘 다 해당될 수 있나요?&lt;/b&gt;&lt;br&gt;→ 상황에 따라 검토 대상이 함께 될 수 있습니다. 그래서 둘을 분리하지 말고 비교해서 보는 것이 중요합니다.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q. 다자녀는 자녀 수만 많으면 유리한가요?&lt;/b&gt;&lt;br&gt;→ 자녀 수가 핵심이긴 하지만 세대 구성과 무주택 기준, 공고별 세부기준도 같이 봐야 합니다.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q. 일반공급은 특별공급이 안 될 때만 보는 건가요?&lt;/b&gt;&lt;br&gt;→ 그렇지 않습니다. 특별공급 자격이 애매하거나 일반 가점 경쟁력이 있으면 일반공급도 같이 비교해야 합니다.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  결론 | 특별공급은 유형별 기준표로 먼저 거르는 것이 핵심
 &lt;/div&gt; 
&lt;/div&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;이 글에서 가장 중요한 것은 “공고문 보세요”가 아니라, &lt;b&gt;내가 어떤 유형을 먼저 검토해야 하는지 스스로 1차 판단할 수 있어야 한다&lt;/b&gt;는 점입니다.&lt;/p&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;무주택 + 첫 집 마련 중심이면 생애최초&lt;/li&gt;&lt;li&gt;혼인·자녀 중심이면 신혼부부&lt;/li&gt;&lt;li&gt;자녀 수 중심이면 다자녀&lt;/li&gt;&lt;li&gt;특별공급이 애매하면 일반공급까지 같이 비교&lt;/li&gt;&lt;/ul&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;즉 특별공급은 애매하게 이해하고 넘어갈수록 손해를 보기 쉽고, &lt;b&gt;유형별 기준 / 체크리스트 / 준비항목&lt;/b&gt;으로 나눠서 봐야 실제 신청 단계에서 덜 흔들립니다.&lt;/p&gt;&lt;div style=&quot;margin: 24px 0 0; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
  공식 참고 자료
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;&lt;a href=&quot;https://www.applyhome.co.kr/co/coa/selectMainView.do&quot;&gt;청약홈 청약제도 안내&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://www.law.go.kr/%EB%B2%95%EB%A0%B9/%EC%A3%BC%ED%83%9D%EA%B3%B5%EA%B8%89%EC%97%90%EA%B4%80%ED%95%9C%EA%B7%9C%EC%B9%99&quot;&gt;주택공급에 관한 규칙&lt;/a&gt;&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;</description>
      <category>부동산/청약&amp;middot;주택정책</category>
      <category>다자녀 특별공급</category>
      <category>생애최초</category>
      <category>생애최초 특별공급</category>
      <category>신혼부부 특별공급</category>
      <category>청약</category>
      <category>청약 조건</category>
      <category>청약홈</category>
      <category>특별공급</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/122</guid>
      <comments>https://trace90.tistory.com/entry/first-time-special-supply-eligibility-guide-with-other-types#entry122comment</comments>
      <pubDate>Sat, 11 Apr 2026 15:00:30 +0900</pubDate>
    </item>
    <item>
      <title>전세 계약 전 꼭 확인해야 할 체크리스트 | 초보자용 실수 방지 가이드</title>
      <link>https://trace90.tistory.com/entry/jeonse-contract-checklist-beginners-mistake-prevention-guide</link>
      <description>&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #fefce8 100%); box-shadow: 0 10px 28px rgba(245,158,11,0.08);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;핵심 요약&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;이 글에서 바로 볼 것&lt;/b&gt; 전세 계약 전에 반드시 확인해야 할 핵심 항목과 순서&lt;/div&gt;
&lt;div&gt;&lt;b&gt;판단 기준&lt;/b&gt; 등기부등본, 임대인 확인, 선순위 권리, 특약, 보증보험 가능 여부&lt;/div&gt;
&lt;div&gt;&lt;b&gt;체크해야 할 항목&lt;/b&gt; 계약 전 서류, 계약서 문구, 입주 후 보호 절차&lt;/div&gt;
&lt;div&gt;&lt;b&gt;핵심 결론&lt;/b&gt; 전세 계약은 집 상태보다 보증금을 안전하게 돌려받을 수 있는 구조인지 먼저 확인해야 해요.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;한눈에 보는 전세 계약 체크 순서&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 18%; text-align: left; color: #1d4ed8;&quot;&gt;순서&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 34%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;무엇을 확인하나&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 48%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;왜 중요한가&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;등기부등본 최신본 확인&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;소유자, 근저당, 가압류, 압류 등 권리관계를 먼저 확인해야 해요.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;임대인과 실제 소유자 일치 여부&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;계약 상대가 진짜 권한 있는 사람인지 확인해야 해요.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;선순위 권리와 전세가 수준&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;보증금 회수 위험이 큰 구조인지 판단해야 해요.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;계약서 특약과 지급 일정&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;잔금 전 권리변동, 하자, 보증보험 협조 같은 실무 조건을 명확히 해야 해요.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;입주 후 보호 절차 계획&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;전입신고, 확정일자, 보증보험까지 이어져야 보증금 보호가 더 강해져요.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;핵심 기준표 | 무엇을 어떻게 봐야 하나?&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 24%; text-align: left; color: #1d4ed8;&quot;&gt;체크 항목&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 42%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;확인 기준&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 34%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;실수 포인트&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;등기부등본&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;소유자, 근저당권, 가압류, 압류, 경매 관련 흔적을 계약 직전 최신본 기준으로 확인해요.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;중개사 설명만 듣고 최신본 재확인을 안 하는 경우&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;임대인 신분&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;계약 상대방과 등기상 소유자가 같은지, 대리인이라면 위임 관계가 명확한지 확인해요.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;신분증만 보고 위임 권한 확인을 생략하는 경우&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;선순위 권리&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;근저당 규모, 선순위 보증금 가능성, 권리 복잡성을 같이 보며 보증금 회수 위험을 판단해요.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;근저당이 조금 있으면 괜찮다는 말만 믿는 경우&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;전세가 수준&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;주변 매매가&amp;middot;전세가와 비교해 보증금이 과도하게 높은 구조인지 봐야 해요.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;집 컨디션만 보고 시세 확인을 생략하는 경우&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;계약서 특약&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;잔금 전 권리변동 금지, 하자 처리, 보증보험 협조, 인도일/잔금일 명확화가 중요해요.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;표준계약서만 쓰면 충분하다고 생각하는 경우&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;보호 절차&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;입주 후 전입신고, 확정일자, 보증보험 가능 여부까지 이어서 준비해야 해요.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;계약만 끝나면 다 끝났다고 보는 경우&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;체크리스트 | 계약 전에 바로 확인할 것&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;계약 전 체크리스트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;등기부등본 최신본을 계약 직전에 다시 확인했는가&lt;/li&gt;
&lt;li&gt;임대인과 실제 소유자가 일치하는가&lt;/li&gt;
&lt;li&gt;대리인 계약이면 위임 관계를 확인했는가&lt;/li&gt;
&lt;li&gt;근저당&amp;middot;가압류&amp;middot;압류 등 위험 요소를 봤는가&lt;/li&gt;
&lt;li&gt;주변 시세와 전세가 수준을 비교했는가&lt;/li&gt;
&lt;li&gt;보증보험 가입 가능 여부를 확인했는가&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;준비항목 | 계약 전에 챙길 자료&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 28px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 30%; text-align: left; color: #1d4ed8;&quot;&gt;준비항목&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 40%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;왜 필요한가&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 30%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;확인 메모&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;등기부등본 최신본&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;권리관계 확인의 기본 자료예요.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;계약 직전 발급본 권장&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;임대인 신분 확인 자료&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;계약 상대가 실제 권한 있는 사람인지 확인해요.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;대리인 계약이면 위임 관계 추가 확인&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;시세 비교 자료&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;전세가가 과도하게 높은지 판단하는 데 필요해요.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;매매가&amp;middot;전세가 함께 비교&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;계약서 특약 초안&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;중요 권리와 책임을 문서로 남기기 위해 필요해요.&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;권리변동 금지&amp;middot;하자&amp;middot;보증보험 협조&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_realestate_4&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #ef4444; background: #fff5f5; border-radius: 14px; box-shadow: 0 6px 18px rgba(239,68,68,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;실수 방지 | 멈춰야 하는 신호&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(239,68,68,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #7f1d1d; margin-bottom: 10px;&quot;&gt;이럴 땐 바로 재확인해야 해요&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;권리관계 설명이 자꾸 바뀌는 경우&lt;/li&gt;
&lt;li&gt;계약을 지나치게 서두르게 만드는 경우&lt;/li&gt;
&lt;li&gt;대리인 계약인데 위임 설명이 불명확한 경우&lt;/li&gt;
&lt;li&gt;보증보험 가능 여부 답변이 계속 애매한 경우&lt;/li&gt;
&lt;li&gt;등기부등본 재확인을 꺼리는 경우&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 28px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;FAQ&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Q. 전세 계약 전에 등기부등본은 꼭 봐야 하나요?&lt;/b&gt;&lt;br /&gt;&amp;rarr; 네. 소유자와 권리관계를 확인하는 가장 기본 서류라서 반드시 봐야 해요.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q. 공인중개사가 있으면 제가 따로 확인하지 않아도 되나요?&lt;/b&gt;&lt;br /&gt;&amp;rarr; 아니에요. 중개사가 있어도 임차인이 핵심 서류와 계약 내용을 직접 확인하는 것이 안전해요.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q. 전세보증보험 가입 가능 여부도 계약 전에 확인해야 하나요?&lt;/b&gt;&lt;br /&gt;&amp;rarr; 가능하면 계약 전에 확인하는 편이 좋아요. 가입 가능 여부 자체가 위험 판단에 도움이 돼요.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q. 계약 후에는 무엇을 바로 해야 하나요?&lt;/b&gt;&lt;br /&gt;&amp;rarr; 입주 후 전입신고와 확정일자, 필요하면 보증보험까지 빠르게 이어서 준비하는 것이 좋아요.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;결론 | 전세 계약 전 체크의 핵심은 보증금 회수 가능성을 먼저 보는 거예요&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;등기부등본과 임대인 확인은 계약 전 가장 먼저 봐야 해요.&lt;/li&gt;
&lt;li&gt;선순위 권리와 전세가 수준을 같이 봐야 보증금 위험을 줄일 수 있어요.&lt;/li&gt;
&lt;li&gt;계약서 특약과 입주 후 보호 절차까지 이어져야 실수 방지가 완성돼요.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;전세 계약은 좋은 집을 고르는 일보다, 내 보증금을 안전하게 지킬 수 있는 계약인지 먼저 확인하는 일이 더 중요해요.&lt;/blockquote&gt;
&lt;div style=&quot;margin: 24px 0 0; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;관련 글 링크&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/report-move-in-and-fixed-date-difference-guide&quot;&gt;전입신고와 확정일자 차이 | 왜 둘 다 중요한가&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description>
      <category>부동산/매매&amp;middot;전세&amp;middot;월세</category>
      <category>등기부등본</category>
      <category>보증금 보호</category>
      <category>전세 계약</category>
      <category>전세 체크리스트</category>
      <category>전세보증보험</category>
      <category>전세사기</category>
      <category>전입신고</category>
      <category>확정일자</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/121</guid>
      <comments>https://trace90.tistory.com/entry/jeonse-contract-checklist-beginners-mistake-prevention-guide#entry121comment</comments>
      <pubDate>Fri, 10 Apr 2026 22:45:52 +0900</pubDate>
    </item>
    <item>
      <title>전입신고와 확정일자 차이 | 왜 둘 다 중요한가</title>
      <link>https://trace90.tistory.com/entry/report-move-in-and-fixed-date-difference-guide</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;전세나 월세 계약을 하고 나면 많은 사람이 &amp;ldquo;전입신고는 해야 한다고 들었는데, 확정일자도 꼭 받아야 하나?&amp;rdquo;에서 한 번 헷갈립니다. 둘 다 비슷해 보이지만 역할이 같지는 않고, 실제로는 &lt;b&gt;보증금을 지키는 방식이 서로 다르기 때문에 둘 다 챙기는 것이 중요&lt;/b&gt;합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 처음 계약하는 사람은 전입신고만 하면 끝난다고 생각하거나, 반대로 확정일자만 받으면 충분하다고 오해하는 경우가 많습니다. 그런데 임대차 관계에서 중요한 것은 단순 서류 제출이 아니라 &lt;b&gt;내가 그 집에 실제 거주하는 임차인이라는 점과, 보증금 보호를 위한 순서를 갖추는 것&lt;/b&gt;입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결론부터 말하면 전입신고는 임차인의 주소 이전 사실을 공적으로 등록해 대항력의 출발점이 되고, 확정일자는 임대차계약서에 날짜를 확정해 우선변제권 판단에서 중요하게 작용합니다. 그래서 전세든 월세든, 특히 보증금이 걸려 있다면 둘 중 하나만 할 것이 아니라 보통은 같이 챙기는 쪽이 안전합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;전입신고와 확정일자는 무엇이 다른가?&lt;/li&gt;
&lt;li&gt;전세와 월세에서 왜 둘 다 중요하다고 하는가?&lt;/li&gt;
&lt;li&gt;어떤 상황에서 보증금 보호에 차이가 생기는가?&lt;/li&gt;
&lt;li&gt;계약 후 무엇부터 챙겨야 하는가?&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #fefce8 100%); box-shadow: 0 10px 28px rgba(245,158,11,0.08);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;핵심 요약&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;비교 핵심&lt;/b&gt; 전입신고는 주소 이전 등록, 확정일자는 계약서 날짜 확정입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;판단 핵심&lt;/b&gt; 전입신고는 대항력, 확정일자는 우선변제권 판단에서 중요합니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;선택 핵심&lt;/b&gt; 전세와 보증부 월세처럼 보증금이 중요한 계약은 둘 다 챙기는 것이 기본입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;가장 중요한 결론&lt;/b&gt; 전입신고만 하거나 확정일자만 받는 식으로 하나만 챙기면 보증금 보호가 약해질 수 있습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;먼저 결론 | 왜 둘 다 챙기라고 할까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;바쁜 분들은 이 구간만 먼저 읽어도 핵심이 잡힙니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전입신고와 확정일자는 비슷한 절차처럼 보이지만 역할이 다릅니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;전입신고&lt;/b&gt;는 내가 이 집에 실제로 주소를 옮겨 살고 있다는 사실을 행정적으로 등록하는 절차입니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;확정일자&lt;/b&gt;는 임대차계약서가 특정 날짜에 존재했다는 사실을 공적으로 확인받는 절차입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 하나는 &lt;b&gt;거주 사실과 주소 이전&lt;/b&gt;에 가깝고, 다른 하나는 &lt;b&gt;계약서의 날짜를 증명&lt;/b&gt;하는 절차입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 전세나 월세 계약에서 보증금을 제대로 보호하려면, 보통은 아래처럼 생각하면 됩니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(245,158,11,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #92400e; margin-bottom: 10px;&quot;&gt;이런 사람에게 특히 중요합니다&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;전세 보증금이 크고 집주인 재정상태가 불안할 수 있는 경우&lt;/li&gt;
&lt;li&gt;보증부 월세처럼 보증금 비중이 무시하기 어려운 경우&lt;/li&gt;
&lt;li&gt;입주 직후 서류를 나중에 해도 된다고 생각했던 경우&lt;/li&gt;
&lt;li&gt;전입신고와 확정일자 중 하나만 해도 충분하다고 생각했던 경우&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_realestate_1&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;전입신고와 확정일자 차이 | 한눈에 비교&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;헷갈리는 이유는 둘 다 보증금 보호와 연결되기 때문입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.8; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 26%; text-align: left; color: #1d4ed8;&quot;&gt;비교 항목&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 37%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;전입신고&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 37%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;확정일자&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;의미&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;주소를 해당 주택으로 옮겼다고 행정적으로 등록하는 절차&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;임대차계약서가 특정 날짜에 존재했음을 공적으로 확인받는 절차&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;핵심 역할&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;대항력의 출발점이 되는 요소&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;우선변제권 판단에 중요한 요소&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;언제 하나?&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;실제 입주 후 가능한 빨리&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;계약서 작성 후 또는 입주 직후 가능한 빨리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;하나만 하면?&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;보증금 보호가 완전하지 않을 수 있음&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;실제 거주와 주소 등록이 빠지면 보호가 약해질 수 있음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;보증금이 큰 계약에서의 중요도&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;매우 중요&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;매우 중요&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;왜 둘 다 중요한가 | 대항력과 우선변제권 관점으로 보기&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;이 부분이 실무적으로 가장 중요합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전입신고와 확정일자를 같이 이야기하는 이유는 결국 &lt;b&gt;임차인의 보증금을 얼마나 안전하게 지킬 수 있느냐&lt;/b&gt;와 연결되기 때문입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전입신고를 하면 내가 그 집에 거주하는 임차인이라는 점이 공적으로 드러나고, 여기에 실제 점유까지 갖추면 임대차 보호의 기본 토대가 마련됩니다. 반면 확정일자는 계약서에 공적인 날짜를 부여해, 나중에 경매나 공매 같은 상황이 생겼을 때 보증금 변제 순서를 따질 때 중요한 기준이 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 쉽게 말하면 아래처럼 이해하면 됩니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;실전 이해 포인트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;전입신고 = 이 집에 실제로 들어와 사는 임차인이라는 행정상 출발선&lt;/li&gt;
&lt;li&gt;확정일자 = 이 계약이 언제 성립했는지를 공적으로 증명하는 기준&lt;/li&gt;
&lt;li&gt;보증금이 중요하면 보통 둘 다 챙겨야 보호 장치가 더 온전해짐&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;상황별 판단 | 전세와 월세에서 어떻게 봐야 할까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;같은 임대차라도 보증금 크기에 따라 체감 중요도가 달라집니다.&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;전세&lt;/b&gt;는 보증금 규모가 큰 경우가 많아서 전입신고와 확정일자를 모두 빠르게 챙기는 것이 기본에 가깝습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;보증부 월세&lt;/b&gt;도 보증금이 적지 않다면 대충 넘기면 안 됩니다. 월세 계약이라고 해서 확정일자가 덜 중요한 것은 아닙니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;보증금이 아주 적은 월세&lt;/b&gt;라도 기본적인 권리관계는 확인하는 것이 좋고, 특히 집 상태나 선순위 권리관계가 불안하면 더 신중해야 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;상황별 선택 가이드&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;전세라면 계약 후 입주와 동시에 전입신고, 확정일자를 같이 챙기는 쪽이 안전합니다.&lt;/li&gt;
&lt;li&gt;보증부 월세라면 월세 금액보다 보증금 규모를 먼저 보고 판단해야 합니다.&lt;/li&gt;
&lt;li&gt;계약 직후 바빠서 미루고 있다면 가장 먼저 전입신고와 확정일자 처리 가능 시점을 확인해야 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #ef4444; background: #fff5f5; border-radius: 14px; box-shadow: 0 6px 18px rgba(239,68,68,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;주의할 점 | 많이 하는 오해&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;하나만 챙기거나, 입주 후 미루는 경우가 가장 흔합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;전입신고만 하면 보증금 보호가 끝난다고 생각하는 경우&lt;/li&gt;
&lt;li&gt;확정일자만 받으면 주소 이전이나 실제 거주는 중요하지 않다고 생각하는 경우&lt;/li&gt;
&lt;li&gt;입주 후 며칠 지나서 해도 별 차이 없다고 가볍게 넘기는 경우&lt;/li&gt;
&lt;li&gt;계약서 원본 관리나 집 권리관계 확인 없이 절차만 먼저 생각하는 경우&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(239,68,68,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #7f1d1d; margin-bottom: 10px;&quot;&gt;꼭 체크할 포인트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;계약서 작성 후 임대인 정보와 주택 정보가 정확한지 다시 확인하기&lt;/li&gt;
&lt;li&gt;입주일과 전입신고 가능일을 미리 체크하기&lt;/li&gt;
&lt;li&gt;확정일자는 계약서 원본 기준으로 받는지 확인하기&lt;/li&gt;
&lt;li&gt;보증금이 크면 전세보증금반환보증 같은 추가 안전장치도 함께 검토하기&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_realestate_2&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;FAQ&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Q. 전입신고만 하면 확정일자는 안 받아도 되나요?&lt;/b&gt;&lt;br /&gt;&amp;rarr; 보증금 보호를 생각하면 보통은 둘 다 챙기는 것이 안전합니다. 역할이 서로 다르기 때문입니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q. 월세 계약도 확정일자가 필요한가요?&lt;/b&gt;&lt;br /&gt;&amp;rarr; 네. 보증금이 있는 월세라면 확정일자의 중요성을 가볍게 보면 안 됩니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q. 입주 후 며칠 뒤에 처리해도 괜찮나요?&lt;/b&gt;&lt;br /&gt;&amp;rarr; 가능하면 미루지 않는 편이 좋습니다. 특히 보증금이 크면 빠르게 처리할수록 안전합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q. 전입신고와 확정일자만 받으면 완전히 안전한가요?&lt;/b&gt;&lt;br /&gt;&amp;rarr; 기본적인 보호 장치는 되지만, 집의 권리관계나 보증보험 가능 여부까지 함께 확인해야 더 안전합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;결론 | 전세든 월세든 보증금이 있다면 둘 다 챙기는 것이 기본&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;판단 기준을 마지막으로 짧게 정리합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전입신고와 확정일자는 같은 절차가 아니라 서로 다른 역할을 하는 장치입니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;전입신고는 임차인의 거주와 주소 이전을 공적으로 등록하는 절차&lt;/li&gt;
&lt;li&gt;확정일자는 계약서의 날짜를 공적으로 확인받는 절차&lt;/li&gt;
&lt;li&gt;보증금 보호를 생각하면 둘 다 함께 챙기는 것이 일반적으로 더 안전한 선택&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 전세나 보증금이 큰 월세라면 &amp;ldquo;하나는 했으니 괜찮겠지&amp;rdquo;라고 생각하기보다, &lt;b&gt;입주 직후 가능한 빨리 둘 다 처리하는 것&lt;/b&gt;이 현실적으로 가장 중요한 포인트입니다.&lt;/p&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;전입신고는 거주 사실의 출발점, 확정일자는 보증금 보호 순서의 기준이라고 생각하면 가장 이해가 쉽습니다.&lt;/blockquote&gt;</description>
      <category>부동산/매매&amp;middot;전세&amp;middot;월세</category>
      <category>대항력</category>
      <category>보증금 보호</category>
      <category>우선변제권</category>
      <category>월세</category>
      <category>임대차보호법</category>
      <category>전세</category>
      <category>전입신고</category>
      <category>확정일자</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/120</guid>
      <comments>https://trace90.tistory.com/entry/report-move-in-and-fixed-date-difference-guide#entry120comment</comments>
      <pubDate>Fri, 10 Apr 2026 22:27:48 +0900</pubDate>
    </item>
    <item>
      <title>Spring MVC 구조 정리 | Controller, Service, Repository 역할과 흐름 이해하기</title>
      <link>https://trace90.tistory.com/entry/spring-mvc-controller-service-repository-guide</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;Spring Boot를 처음 공부할 때 많은 사람이 가장 헷갈려하는 부분 중 하나가 바로 &lt;b&gt;Controller, Service, Repository를 왜 나누는가&lt;/b&gt;입니다. 코드를 따라 치다 보면 클래스는 늘어나는데, 각 계층이 무엇을 맡고 어디까지 책임져야 하는지는 오히려 더 흐릿하게 느껴질 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 입문 단계에서는 &lt;code&gt;Controller&lt;/code&gt;에 로직을 다 넣어도 일단 동작은 하기 때문에, 굳이 &lt;code&gt;Service&lt;/code&gt;와 &lt;code&gt;Repository&lt;/code&gt;를 나눠야 하는 이유가 잘 와닿지 않는 경우가 많습니다. 하지만 프로젝트가 조금만 커져도 이 구조를 이해했는지 여부가 유지보수성과 가독성을 크게 갈라놓습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결론부터 말하면 Spring MVC 구조의 핵심은 &lt;b&gt;요청을 받는 역할, 비즈니스 로직을 처리하는 역할, DB에 접근하는 역할을 분리하는 것&lt;/b&gt;입니다. 이 글에서는 Controller, Service, Repository의 역할과 요청이 실제로 어떻게 흐르는지 개념부터 코드 예제까지 한 번에 정리하겠습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Controller, Service, Repository는 각각 무엇을 할까?&lt;/li&gt;
&lt;li&gt;요청 하나가 들어오면 실제로 어떤 순서로 흐를까?&lt;/li&gt;
&lt;li&gt;어디까지 Controller에 두고, 어디부터 Service로 넘겨야 할까?&lt;/li&gt;
&lt;li&gt;초보자가 이 구조에서 자주 하는 실수는 무엇일까?&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%); box-shadow: 0 10px 28px rgba(37,99,235,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;핵심 요약&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;Controller&lt;/b&gt;는 HTTP 요청을 받고 응답 형태를 결정하는 역할입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Service&lt;/b&gt;는 실제 비즈니스 로직을 처리하는 중심 계층입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Repository&lt;/b&gt;는 DB 조회&amp;middot;저장 같은 데이터 접근을 담당합니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;즉 Spring MVC 구조는 요청 처리 책임을 역할별로 분리해 코드 흐름을 명확하게 만드는 방식입니다.&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;쉬운 정의 | Spring MVC 구조를 한 문장으로 잡아보자&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;클래스를 나누는 이유를 먼저 이해하면 전체 흐름이 훨씬 쉬워집니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Spring MVC 구조는 &lt;b&gt;요청을 받는 부분, 처리하는 부분, 저장하는 부분을 나눠서 관리하는 구조&lt;/b&gt;라고 보면 가장 이해하기 쉽습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 회원 목록을 조회하는 기능이 있다고 가정해보겠습니다. 사용자가 브라우저나 프론트엔드에서 요청을 보내면, 이 요청을 먼저 받는 곳은 Controller입니다. 하지만 Controller가 데이터 조회, 조건 검사, 비즈니스 규칙 처리, DB 접근까지 모두 맡아버리면 코드가 빠르게 복잡해집니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 Spring에서는 역할을 나눕니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Controller: 요청을 받음&lt;/li&gt;
&lt;li&gt;Service: 로직을 처리함&lt;/li&gt;
&lt;li&gt;Repository: 데이터를 조회&amp;middot;저장함&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;Spring MVC 구조는 &amp;ldquo;누가 요청을 받고, 누가 처리하고, 누가 저장하는가&amp;rdquo;를 분리하는 구조라고 이해하면 됩니다.&lt;/blockquote&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;왜 중요한가 | Controller에 다 넣으면 어떤 문제가 생길까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;구조 분리를 왜 하는지 이해하면 계층 설계가 훨씬 자연스러워집니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음에는 Controller 하나에 코드를 몰아넣어도 기능은 돌아갈 수 있습니다. 하지만 기능이 늘어나면 아래 문제가 바로 생깁니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;요청 처리 코드와 비즈니스 로직이 섞여서 읽기 어려워짐&lt;/li&gt;
&lt;li&gt;같은 로직을 여러 API에서 재사용하기 어려워짐&lt;/li&gt;
&lt;li&gt;테스트 코드 작성이 불편해짐&lt;/li&gt;
&lt;li&gt;DB 접근 코드까지 Controller에 들어오면서 책임이 과해짐&lt;/li&gt;
&lt;li&gt;수정 범위가 커져 유지보수가 어려워짐&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 구조를 나누는 이유는 &amp;ldquo;폼&amp;rdquo;이 아니라 &lt;b&gt;코드 책임을 분리해서 읽기 쉽고 수정하기 쉽게 만들기 위해서&lt;/b&gt;입니다.&lt;/p&gt;
&lt;div style=&quot;border: 1px solid #fecaca; background: #fff5f5; padding: 16px 18px; border-radius: 14px; margin: 20px 0; color: #7f1d1d; line-height: 1.9;&quot;&gt;&lt;b&gt;초보자가 자주 하는 오해&lt;/b&gt;&lt;br /&gt;Controller, Service, Repository를 나누는 이유는 단순히 파일 수를 늘리기 위해서가 아닙니다. &lt;b&gt;같은 기능이라도 책임을 분리해야 코드가 커졌을 때 버틸 수 있기 때문&lt;/b&gt;입니다.&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;기본 설명 | Controller, Service, Repository 역할을 구분해보자&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;각 계층의 책임을 분명히 잡아야 구조가 선명해집니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.8; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 20%; text-align: left; color: #1d4ed8;&quot;&gt;계층&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 32%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;역할&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 48%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;핵심 포인트&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;&lt;b&gt;Controller&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;요청 수신, 파라미터 처리, 응답 반환&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;비즈니스 로직을 길게 넣기보다 Service 호출에 집중하는 편이 좋습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;Service&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;비즈니스 규칙 처리, 흐름 제어&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;핵심 로직을 모아두는 중심 계층입니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;Repository&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;DB 저장, 조회, 수정, 삭제&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;데이터 접근에 집중하고 비즈니스 판단은 Service 쪽에 두는 편이 좋습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;border: 1px solid #dbeafe; background: #ffffff; border-radius: 18px; padding: 18px; margin: 18px 0 24px; box-shadow: 0 8px 24px rgba(15,23,42,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 12px;&quot;&gt;요청 흐름을 한 줄로 보면&lt;/div&gt;
&lt;div style=&quot;display: flex; flex-direction: column; gap: 10px; line-height: 1.9; color: #334155;&quot;&gt;
&lt;div style=&quot;padding: 12px 14px; border: 1px solid #bfdbfe; border-radius: 12px; background: #eff6ff;&quot;&gt;&lt;b&gt;클라이언트&lt;/b&gt;가 요청을 보냄&lt;/div&gt;
&lt;div style=&quot;padding: 12px 14px; border: 1px solid #bfdbfe; border-radius: 12px; background: #f8fbff;&quot;&gt;&lt;b&gt;Controller&lt;/b&gt;가 요청을 받음&lt;/div&gt;
&lt;div style=&quot;padding: 12px 14px; border: 1px solid #dbeafe; border-radius: 12px; background: #ffffff;&quot;&gt;&lt;b&gt;Service&lt;/b&gt;가 필요한 로직을 처리함&lt;/div&gt;
&lt;div style=&quot;padding: 12px 14px; border: 1px solid #fecdd3; border-radius: 12px; background: #fff1f2;&quot;&gt;&lt;b&gt;Repository&lt;/b&gt;가 DB와 통신하고 결과를 반환함&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #2563eb; background: #eff6ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(37,99,235,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;소스코드 예제 | 회원 목록 조회 요청은 이렇게 흐릅니다&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;개념 설명 다음에는 실제 코드 흐름으로 보는 편이 훨씬 이해가 쉽습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 Controller는 요청을 받고 Service를 호출합니다.&lt;/p&gt;
&lt;pre class=&quot;kotlin&quot;&gt;&lt;code&gt;@RestController
@RequestMapping(&quot;/members&quot;)
public class MemberController {

    private final MemberService memberService;

    public MemberController(MemberService memberService) {
        this.memberService = memberService;
    }

    @GetMapping
    public List&amp;lt;MemberResponse&amp;gt; getMembers() {
        return memberService.getMembers();
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 코드에서 Controller는 HTTP 요청을 받아서 &lt;code&gt;memberService.getMembers()&lt;/code&gt;를 호출하고 결과를 반환하는 역할에 집중합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 다음 Service는 실제 비즈니스 흐름을 처리합니다.&lt;/p&gt;
&lt;pre class=&quot;java&quot;&gt;&lt;code&gt;@Service
public class MemberService {

    private final MemberRepository memberRepository;

    public MemberService(MemberRepository memberRepository) {
        this.memberRepository = memberRepository;
    }

    public List&amp;lt;MemberResponse&amp;gt; getMembers() {
        return memberRepository.findAll()
                .stream()
                .map(MemberResponse::new)
                .toList();
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Service는 직접 HTTP 요청을 받지 않고, Repository에서 데이터를 가져와 필요한 형태로 가공하는 역할을 맡습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마지막으로 Repository는 DB 접근에 집중합니다.&lt;/p&gt;
&lt;pre class=&quot;angelscript&quot;&gt;&lt;code&gt;@Repository
public interface MemberRepository extends JpaRepository&amp;lt;Member, Long&amp;gt; {
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 이 흐름은 아래처럼 이해하면 됩니다.&lt;/p&gt;
&lt;pre class=&quot;leaf&quot;&gt;&lt;code&gt;GET /members 요청
   &amp;darr;
MemberController#getMembers()
   &amp;darr;
MemberService#getMembers()
   &amp;darr;
MemberRepository#findAll()
   &amp;darr;
DB 조회 결과 반환
&lt;/code&gt;&lt;/pre&gt;
&lt;div id=&quot;code_coupang_spring_mvc_1&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;비교/구조 | Controller, Service, Repository에 무엇을 두어야 할까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;책임 경계를 잘 잡아야 계층 분리가 무너지지 않습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.8; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; color: #1d4ed8;&quot;&gt;구분&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 36%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;넣어도 되는 것&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 36%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;가급적 피할 것&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;Controller&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;요청 매핑, 파라미터 처리, 응답 반환&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;복잡한 계산, 긴 조건문, DB 직접 접근&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;Service&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;비즈니스 규칙, 트랜잭션, 여러 Repository 조합&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;HTTP 세부 처리, 뷰 렌더링 책임&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;Repository&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;조회/저장/수정/삭제 쿼리&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;비즈니스 판단, 요청/응답 포맷 처리&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #2563eb; background: #eff6ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(37,99,235,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;소스코드 예제 | Controller에 로직을 몰아넣으면 이렇게 됩니다&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;좋지 않은 예시를 보면 왜 계층 분리가 필요한지 더 빨리 이해됩니다.&lt;/div&gt;
&lt;/div&gt;
&lt;pre class=&quot;kotlin&quot;&gt;&lt;code&gt;@RestController
@RequestMapping(&quot;/members&quot;)
public class MemberController {

    private final MemberRepository memberRepository;

    public MemberController(MemberRepository memberRepository) {
        this.memberRepository = memberRepository;
    }

    @PostMapping
    public String saveMember(@RequestBody MemberRequest request) {
        if (request.getName() == null || request.getName().isBlank()) {
            return &quot;이름이 필요합니다.&quot;;
        }

        Member member = new Member(request.getName(), request.getAge());
        memberRepository.save(member);

        return &quot;저장 완료&quot;;
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 코드는 동작은 할 수 있지만, 검증 로직과 저장 로직이 모두 Controller 안에 들어가 있습니다. 기능이 조금만 더 늘어나도 Controller가 비대해지고 재사용도 어려워집니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이를 Service로 분리하면 이런 형태가 됩니다.&lt;/p&gt;
&lt;pre class=&quot;java&quot;&gt;&lt;code&gt;@Service
public class MemberService {

    private final MemberRepository memberRepository;

    public MemberService(MemberRepository memberRepository) {
        this.memberRepository = memberRepository;
    }

    public void saveMember(MemberRequest request) {
        if (request.getName() == null || request.getName().isBlank()) {
            throw new IllegalArgumentException(&quot;이름이 필요합니다.&quot;);
        }

        Member member = new Member(request.getName(), request.getAge());
        memberRepository.save(member);
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 Controller는 요청을 받고 Service에 위임하고, 핵심 로직은 Service로 모으는 것이 구조상 더 자연스럽습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;자주 막히는 포인트 | 초보자가 계층 구조에서 헷갈리는 부분&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;역할을 조금만 헷갈려도 코드가 금방 뒤섞이기 시작합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;border: 1px solid #dbeafe; border-radius: 18px; overflow: hidden; margin: 18px 0 22px; background: #fff; box-shadow: 0 8px 24px rgba(15,23,42,0.05);&quot;&gt;
&lt;div style=&quot;padding: 14px 18px; background: #eff6ff; font-size: 18px; font-weight: 800; color: #1e40af;&quot;&gt;1) Controller에 비즈니스 로직을 너무 많이 넣는 경우&lt;/div&gt;
&lt;div style=&quot;padding: 18px; line-height: 1.9; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;원인&lt;/b&gt; 처음에는 작은 기능이라 보여서 검증, 계산, 저장까지 한 번에 넣기 쉽습니다.&lt;/div&gt;
&lt;div style=&quot;margin-top: 10px;&quot;&gt;&lt;b&gt;해결&lt;/b&gt; 요청/응답 처리만 Controller에 두고 핵심 규칙은 Service로 옮기는 습관이 중요합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;border: 1px solid #bfdbfe; border-radius: 18px; overflow: hidden; margin: 18px 0 22px; background: #fff; box-shadow: 0 8px 24px rgba(15,23,42,0.05);&quot;&gt;
&lt;div style=&quot;padding: 14px 18px; background: #dbeafe; font-size: 18px; font-weight: 800; color: #1d4ed8;&quot;&gt;2) Service 없이 Controller와 Repository를 바로 연결하는 경우&lt;/div&gt;
&lt;div style=&quot;padding: 18px; line-height: 1.9; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;원인&lt;/b&gt; 단순 조회 정도는 바로 연결해도 된다고 생각하기 쉽습니다.&lt;/div&gt;
&lt;div style=&quot;margin-top: 10px;&quot;&gt;&lt;b&gt;해결&lt;/b&gt; 처음부터 Service 계층을 두면 로직이 늘어날 때 구조를 유지하기 훨씬 쉽습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;border: 1px solid #fecdd3; border-radius: 18px; overflow: hidden; margin: 18px 0 22px; background: #fff; box-shadow: 0 8px 24px rgba(15,23,42,0.05);&quot;&gt;
&lt;div style=&quot;padding: 14px 18px; background: #ffe4e6; font-size: 18px; font-weight: 800; color: #be123c;&quot;&gt;3) Repository에 비즈니스 판단까지 넣는 경우&lt;/div&gt;
&lt;div style=&quot;padding: 18px; line-height: 1.9; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;원인&lt;/b&gt; 조회 조건과 로직을 한 번에 처리하려다 보면 역할이 섞이기 쉽습니다.&lt;/div&gt;
&lt;div style=&quot;margin-top: 10px;&quot;&gt;&lt;b&gt;해결&lt;/b&gt; Repository는 데이터 접근에 집중하고, 정책 판단과 흐름 제어는 Service에 두는 편이 좋습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(245,158,11,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #92400e; margin-bottom: 10px;&quot;&gt;설정/확인 체크리스트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Controller가 요청/응답 처리 외의 무거운 로직을 가지고 있지 않은가?&lt;/li&gt;
&lt;li&gt;Service가 실제 업무 규칙과 흐름 제어를 담당하고 있는가?&lt;/li&gt;
&lt;li&gt;Repository가 DB 접근 외의 책임까지 떠안고 있지 않은가?&lt;/li&gt;
&lt;li&gt;DTO와 Entity 역할이 뒤섞이지 않았는가?&lt;/li&gt;
&lt;li&gt;재사용 가능한 로직이 Controller에 흩어져 있지 않은가?&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #2563eb; background: #eff6ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(37,99,235,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;소스코드 예제 | 회원 저장 기능도 계층별로 나누면 이렇게 보입니다&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;조회뿐 아니라 저장 기능도 같은 흐름으로 이해하면 구조가 더 선명해집니다.&lt;/div&gt;
&lt;/div&gt;
&lt;pre class=&quot;kotlin&quot;&gt;&lt;code&gt;@RestController
@RequestMapping(&quot;/members&quot;)
public class MemberController {

    private final MemberService memberService;

    public MemberController(MemberService memberService) {
        this.memberService = memberService;
    }

    @PostMapping
    public ResponseEntity&amp;lt;Void&amp;gt; saveMember(@RequestBody MemberRequest request) {
        memberService.saveMember(request);
        return ResponseEntity.ok().build();
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;java&quot;&gt;&lt;code&gt;@Service
public class MemberService {

    private final MemberRepository memberRepository;

    public MemberService(MemberRepository memberRepository) {
        this.memberRepository = memberRepository;
    }

    public void saveMember(MemberRequest request) {
        Member member = new Member(request.getName(), request.getAge());
        memberRepository.save(member);
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;angelscript&quot;&gt;&lt;code&gt;@Repository
public interface MemberRepository extends JpaRepository&amp;lt;Member, Long&amp;gt; {
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 나누면 Controller는 API 입구 역할을 하고, Service는 핵심 로직을 담당하고, Repository는 저장에 집중하게 됩니다. 즉 각 계층이 무엇을 해야 하는지가 코드에서 훨씬 명확하게 드러납니다.&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;실무 포인트 | 계층 분리는 결국 변경에 강한 구조를 만드는 일이다&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;구조를 잘 나누면 기능 추가와 수정이 훨씬 덜 고통스럽습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;margin: 0 0 18px 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Controller는 얇게&lt;/b&gt; 유지할수록 테스트와 유지보수가 쉬워집니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service는 재사용 가능한 업무 로직 중심&lt;/b&gt;으로 두는 편이 좋습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Repository는 데이터 접근에만 집중&lt;/b&gt;시키는 것이 구조를 덜 흔들리게 만듭니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;계층 경계가 무너지면 작은 기능 수정도 여러 파일에서 꼬이기 쉽습니다.&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;border: 1px solid #fecaca; border-radius: 18px; background: #ffffff; padding: 18px 20px; margin: 18px 0 26px; box-shadow: 0 8px 24px rgba(239,68,68,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #7f1d1d; margin-bottom: 10px;&quot;&gt;초보자가 꼭 체크할 포인트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Controller는 요청을 받고 Service에 위임하는 역할에 가깝습니다.&lt;/li&gt;
&lt;li&gt;Service는 비즈니스 로직의 중심입니다.&lt;/li&gt;
&lt;li&gt;Repository는 DB 접근 계층입니다.&lt;/li&gt;
&lt;li&gt;세 계층을 나누는 이유는 역할 분리와 유지보수성 확보입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;FAQ&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Q. Controller에서 Repository를 바로 호출해도 되나요?&lt;/b&gt;&lt;br /&gt;&amp;rarr; 작은 예제에서는 동작할 수 있지만, 구조가 커질수록 로직이 섞여 유지보수가 어려워집니다. 보통은 Service를 두는 편이 더 안정적입니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q. Service는 꼭 필요한가요?&lt;/b&gt;&lt;br /&gt;&amp;rarr; 기능이 조금만 복잡해져도 거의 필요해집니다. 특히 검증, 조합 로직, 트랜잭션, 재사용 로직은 Service 계층이 있어야 관리가 쉽습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q. Repository에 비즈니스 로직을 넣으면 안 되나요?&lt;/b&gt;&lt;br /&gt;&amp;rarr; Repository는 데이터 접근에 집중하는 편이 좋습니다. 정책 판단과 업무 흐름은 Service가 맡는 것이 일반적입니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q. Spring MVC 구조와 계층형 구조는 같은 말인가요?&lt;/b&gt;&lt;br /&gt;&amp;rarr; 완전히 같은 말은 아니지만, 실무에서는 Controller-Service-Repository 흐름을 Spring MVC 기반 계층 구조 설명과 함께 묶어서 이해하는 경우가 많습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;결론 | Spring MVC 구조는 역할 분리로 이해하는 것이 가장 쉽다&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;누가 무엇을 맡는지 분명해지면 코드도 훨씬 읽기 쉬워집니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Spring MVC 구조를 공부할 때 가장 중요한 것은 복잡한 이론보다 &lt;b&gt;Controller, Service, Repository가 각각 무엇을 맡는지&lt;/b&gt;를 분명하게 구분하는 것입니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Controller&lt;/b&gt;는 요청을 받고 응답을 반환함&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Service&lt;/b&gt;는 업무 로직을 처리함&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Repository&lt;/b&gt;는 DB와 통신함&lt;/li&gt;
&lt;li&gt;요청은 보통 Controller &amp;rarr; Service &amp;rarr; Repository 순서로 흐름&lt;/li&gt;
&lt;li&gt;이 구조를 나누는 이유는 책임 분리와 유지보수성 확보&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;Spring MVC 구조는 결국 &amp;ldquo;한 클래스가 다 하지 않도록 역할을 나누는 구조&amp;rdquo;라고 이해하면 가장 오래 남습니다.&lt;/blockquote&gt;
&lt;div style=&quot;margin: 24px 0 0; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;같이 보면 좋은 Spring 글&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/spring-core-concepts-ioc-di-bean-container-guide&quot;&gt;Spring 핵심 개념 정리 | IoC, DI, Bean, Container, ApplicationContext 쉽게 이해하기&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/spring-boot-http-methods-crud-2&quot;&gt;[Spring Boot] GET, POST, PUT, PATCH, DELETE 차이와 CRUD 구현 방법&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/Spring-Boot-JWT-EBA19CEAB7B8EC9DB8-EAB5ACED9884&quot;&gt;Spring Boot JWT 로그인 구현 방법 | Spring Security 설정부터 Access Token&amp;middot;Refresh Token 발급&amp;middot;검증까지&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description>
      <category>IT/Spring</category>
      <category>controller</category>
      <category>MVC 패턴</category>
      <category>Repository</category>
      <category>Service</category>
      <category>spring boot</category>
      <category>Spring MVC</category>
      <category>Spring 구조</category>
      <category>계층 구조</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/118</guid>
      <comments>https://trace90.tistory.com/entry/spring-mvc-controller-service-repository-guide#entry118comment</comments>
      <pubDate>Fri, 10 Apr 2026 18:30:07 +0900</pubDate>
    </item>
    <item>
      <title>Spring 핵심 개념 정리 | IoC, DI, Bean, Container, ApplicationContext 쉽게 이해하기</title>
      <link>https://trace90.tistory.com/entry/spring-core-concepts-ioc-di-bean-container-guide</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;Spring을 처음 공부할 때 가장 먼저 막히는 지점이 바로 &lt;b&gt;IoC, DI, Bean, Container&lt;/b&gt;입니다. 용어는 계속 나오는데 각각이 정확히 무엇이고, 서로 어떤 관계인지 한 번에 정리되지 않아서 개념이 흐릿하게 남는 경우가 많습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 Spring Boot 예제를 따라 치다 보면 &lt;code&gt;@Component&lt;/code&gt;, &lt;code&gt;@Service&lt;/code&gt;, &lt;code&gt;@Autowired&lt;/code&gt;, &lt;code&gt;ApplicationContext&lt;/code&gt; 같은 키워드는 자주 보이는데, 왜 이런 구조를 쓰는지 이해하지 못하면 나중에 설정이나 에러를 만났을 때 훨씬 더 헷갈리게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결론부터 말하면 Spring의 핵심은 &lt;b&gt;객체를 내가 직접 만들고 연결하던 방식을 프레임워크가 대신 관리하게 바꾸는 것&lt;/b&gt;입니다. 이 글에서는 Spring 핵심 개념을 쉬운 정의부터 구조, 예제, 자주 막히는 포인트, 실무에서 꼭 보는 체크포인트까지 한 번에 정리하겠습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;IoC와 DI는 무엇이 다를까?&lt;/li&gt;
&lt;li&gt;Bean은 그냥 객체와 무엇이 다를까?&lt;/li&gt;
&lt;li&gt;Spring Container와 ApplicationContext는 어떤 역할을 할까?&lt;/li&gt;
&lt;li&gt;왜 초보자가 @Autowired, 컴포넌트 스캔, Bean 등록에서 자주 막힐까?&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%); box-shadow: 0 10px 28px rgba(37,99,235,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;핵심 요약&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;IoC&lt;/b&gt;는 객체 생성과 제어권을 개발자가 아니라 Spring이 관리하는 개념입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;DI&lt;/b&gt;는 필요한 객체를 직접 만들지 않고 외부에서 주입받는 방식입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Bean&lt;/b&gt;은 Spring Container가 생성하고 관리하는 객체입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;ApplicationContext를 중심으로 Bean을 관리하고 연결하는 구조를 이해하면 Spring의 절반은 잡혔다고 봐도 됩니다.&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;쉬운 정의 | Spring 핵심 개념을 먼저 한 줄로 잡아보자&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;용어를 따로 외우기보다 한 흐름으로 연결해서 보는 것이 더 쉽습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Spring은 &lt;b&gt;객체를 만들고, 보관하고, 서로 연결하는 일을 프레임워크가 대신 관리해주는 구조&lt;/b&gt;라고 이해하면 가장 쉽습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예전에는 개발자가 직접 &lt;code&gt;new&lt;/code&gt;로 객체를 만들고, 필요한 객체를 생성자나 setter로 하나하나 연결해야 했습니다. 그런데 서비스가 커질수록 객체 간 의존관계가 복잡해지고, 테스트와 변경도 어려워집니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Spring은 이 문제를 줄이기 위해 &lt;b&gt;객체 생성과 관리의 주도권을 가져가고&lt;/b&gt;, 필요한 객체를 알맞게 넣어주는 구조를 제공합니다. 여기서 등장하는 핵심 개념이 바로 IoC, DI, Bean, Container입니다.&lt;/p&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;Spring을 한 줄로 요약하면 &amp;ldquo;객체를 내가 직접 관리하던 방식을 Spring Container가 대신 관리하도록 바꾸는 것&amp;rdquo;입니다.&lt;/blockquote&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;왜 중요한가 | Spring을 쓰면서 계속 마주치는 이유&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;이 개념을 모르면 코드는 따라 쳐도 구조를 이해하기 어렵습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Spring Boot를 쓰면 기능이 자동으로 되는 것처럼 보여도, 실제로는 내부에서 Bean 등록, 의존관계 주입, 설정 클래스 로딩, 컴포넌트 스캔이 계속 일어나고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 아래 상황에서 거의 반드시 이 개념들이 다시 등장합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;@Service&lt;/code&gt;, &lt;code&gt;@Repository&lt;/code&gt;, &lt;code&gt;@Controller&lt;/code&gt;가 왜 Bean이 되는지 이해할 때&lt;/li&gt;
&lt;li&gt;&lt;code&gt;@Autowired&lt;/code&gt;가 왜 동작하는지 이해할 때&lt;/li&gt;
&lt;li&gt;생성자 주입을 왜 권장하는지 이해할 때&lt;/li&gt;
&lt;li&gt;&lt;code&gt;NoSuchBeanDefinitionException&lt;/code&gt;, &lt;code&gt;NoUniqueBeanDefinitionException&lt;/code&gt; 같은 오류를 해결할 때&lt;/li&gt;
&lt;li&gt;설정 클래스로 수동 Bean 등록을 할 때&lt;/li&gt;
&lt;li&gt;테스트에서 Mock Bean이나 설정 분리를 할 때&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;border: 1px solid #fecaca; background: #fff5f5; padding: 16px 18px; border-radius: 14px; margin: 20px 0; color: #7f1d1d; line-height: 1.9;&quot;&gt;&lt;b&gt;초보자가 자주 하는 오해&lt;/b&gt;&lt;br /&gt;Spring은 단순히 &amp;ldquo;라이브러리 모음&amp;rdquo;이 아니라 &lt;b&gt;객체 생명주기와 의존관계를 관리하는 컨테이너 기반 프레임워크&lt;/b&gt;입니다. 이 관점을 놓치면 어노테이션만 외우게 되고 구조는 남지 않습니다.&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;기본 설명 | IoC, DI, Bean, Container를 각각 쉽게 이해하기&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;개념을 따로 보지 말고 연결된 역할로 보면 훨씬 쉬워집니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.8; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 20%; text-align: left; color: #1d4ed8;&quot;&gt;개념&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 32%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;쉽게 말하면&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 48%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;핵심 포인트&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;&lt;b&gt;IoC&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;객체 제어권이 개발자에서 Spring으로 넘어가는 것&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;누가 객체를 만들고 관리할지의 주도권이 바뀝니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;DI&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;필요한 객체를 직접 만들지 않고 주입받는 것&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;결합도를 낮추고 테스트와 변경에 유리합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;Bean&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;Spring이 관리하는 객체&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;그냥 new로 만든 객체와 달리 Spring Container 안에서 관리됩니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;Container&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;Bean을 생성&amp;middot;보관&amp;middot;연결&amp;middot;관리하는 공간&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;대표 구현이 BeanFactory와 ApplicationContext입니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;border: 1px solid #dbeafe; background: #ffffff; border-radius: 18px; padding: 18px; margin: 18px 0 24px; box-shadow: 0 8px 24px rgba(15,23,42,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 12px;&quot;&gt;한 흐름으로 보면 이렇게 연결됩니다&lt;/div&gt;
&lt;div style=&quot;display: flex; flex-direction: column; gap: 10px; line-height: 1.9; color: #334155;&quot;&gt;
&lt;div style=&quot;padding: 12px 14px; border: 1px solid #bfdbfe; border-radius: 12px; background: #eff6ff;&quot;&gt;&lt;b&gt;IoC&lt;/b&gt; = 객체 관리의 주도권을 Spring이 가져감&lt;/div&gt;
&lt;div style=&quot;padding: 12px 14px; border: 1px solid #bfdbfe; border-radius: 12px; background: #f8fbff;&quot;&gt;&lt;b&gt;Container&lt;/b&gt; = 그 객체들을 실제로 관리하는 공간&lt;/div&gt;
&lt;div style=&quot;padding: 12px 14px; border: 1px solid #dbeafe; border-radius: 12px; background: #ffffff;&quot;&gt;&lt;b&gt;Bean&lt;/b&gt; = Container가 관리하는 개별 객체&lt;/div&gt;
&lt;div style=&quot;padding: 12px 14px; border: 1px solid #fecdd3; border-radius: 12px; background: #fff1f2;&quot;&gt;&lt;b&gt;DI&lt;/b&gt; = Bean이 다른 Bean을 필요로 할 때 Spring이 연결해주는 방식&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;예제 | new로 직접 만들 때와 Spring DI를 쓸 때 차이&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;이 차이를 보면 왜 DI가 필요한지 바로 감이 잡힙니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 Spring 없이 직접 객체를 만들면 보통 이런 식입니다.&lt;/p&gt;
&lt;pre class=&quot;aspectj&quot;&gt;&lt;code&gt;public class OrderService {

    private final DiscountPolicy discountPolicy = new FixDiscountPolicy();

    public int calculateDiscount(int price) {
        return discountPolicy.discount(price);
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 방식은 간단해 보이지만, &lt;code&gt;OrderService&lt;/code&gt;가 어떤 할인 정책을 쓸지 스스로 결정하고 있습니다. 즉 객체 생성과 사용이 강하게 묶여 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Spring DI 구조로 바꾸면 이렇게 됩니다.&lt;/p&gt;
&lt;pre class=&quot;java&quot;&gt;&lt;code&gt;@Component
public class FixDiscountPolicy implements DiscountPolicy {
    @Override
    public int discount(int price) {
        return 1000;
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;aspectj&quot;&gt;&lt;code&gt;@Service
public class OrderService {

    private final DiscountPolicy discountPolicy;

    public OrderService(DiscountPolicy discountPolicy) {
        this.discountPolicy = discountPolicy;
    }

    public int calculateDiscount(int price) {
        return discountPolicy.discount(price);
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 &lt;code&gt;OrderService&lt;/code&gt;는 어떤 구현체가 들어오는지 직접 만들지 않습니다. 필요한 객체를 &lt;b&gt;생성자 주입&lt;/b&gt;으로 받기만 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 핵심 차이는 아래입니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;직접 생성 방식: 사용하는 클래스가 의존 객체를 스스로 생성&lt;/li&gt;
&lt;li&gt;DI 방식: 사용하는 클래스는 필요한 타입만 선언하고, 실제 연결은 Spring이 담당&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;mipsasm&quot;&gt;&lt;code&gt;직접 생성 방식
OrderService
  └─ new FixDiscountPolicy()

Spring DI 방식
Spring Container
  ├─ OrderService Bean 생성
  └─ FixDiscountPolicy Bean 생성 후 주입
&lt;/code&gt;&lt;/pre&gt;
&lt;div id=&quot;code_coupang_spring_1&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;비교/구조 | BeanFactory와 ApplicationContext는 무엇이 다를까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;Container라고 부르지만 실제로는 단계가 있습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Spring Container를 설명할 때 &lt;b&gt;BeanFactory&lt;/b&gt;와 &lt;b&gt;ApplicationContext&lt;/b&gt;가 같이 나옵니다.&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.8; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; color: #1d4ed8;&quot;&gt;구분&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 36%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;BeanFactory&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 36%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;ApplicationContext&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;기본 역할&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;Bean 생성&amp;middot;조회의 기본 기능&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;BeanFactory 기능 + 부가 기능 포함&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;추가 기능&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;상대적으로 단순&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;메시지 소스, 이벤트, 환경설정, 리소스 로딩 등 지원&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;실무 사용&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;직접 의식해서 쓰는 경우는 많지 않음&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;대부분의 Spring 애플리케이션이 실제로 사용하는 컨테이너&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실무에서는 보통 &lt;b&gt;Spring Container = 거의 ApplicationContext 중심으로 이해&lt;/b&gt;해도 큰 무리는 없습니다. BeanFactory는 기본 개념의 뿌리이고, 실제 애플리케이션에서는 ApplicationContext가 더 자주 등장합니다.&lt;/p&gt;
&lt;div style=&quot;border: 1px solid #e0e7ff; background: #f8faff; padding: 16px 18px; border-radius: 14px; margin: 18px 0 24px; color: #334155; line-height: 1.9;&quot;&gt;&lt;b&gt;핵심만 기억하면&lt;/b&gt;&lt;br /&gt;BeanFactory는 &amp;ldquo;Bean 관리의 기본형&amp;rdquo;, ApplicationContext는 &amp;ldquo;실무에서 쓰는 확장형 Container&amp;rdquo;라고 정리하면 됩니다.&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #2563eb; background: #eff6ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(37,99,235,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;소스코드 예제 | ApplicationContext에서 Bean을 꺼내보면&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;개념 설명 다음에는 실제 코드로 보는 편이 훨씬 이해가 쉽습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래처럼 &lt;code&gt;ApplicationContext&lt;/code&gt;에서 Bean을 조회해보면, Spring Container가 객체를 직접 관리하고 있다는 점이 더 명확하게 보입니다.&lt;/p&gt;
&lt;pre class=&quot;mipsasm&quot;&gt;&lt;code&gt;AnnotationConfigApplicationContext context =
        new AnnotationConfigApplicationContext(AppConfig.class);

OrderService orderService = context.getBean(OrderService.class);
DiscountPolicy discountPolicy = context.getBean(DiscountPolicy.class);
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 코드는 단순히 객체를 생성하는 코드가 아니라, &lt;b&gt;Spring Container 안에 이미 등록된 Bean을 꺼내오는 코드&lt;/b&gt;입니다. 즉 BeanFactory와 ApplicationContext는 단순한 개념 설명에서 끝나는 것이 아니라, 실제로 Bean을 등록하고 조회하는 실행 주체라고 이해하면 됩니다.&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;자주 막히는 포인트 | @Autowired가 안 되거나 Bean을 못 찾는 이유&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;Spring 입문 단계에서 가장 많이 만나는 실제 문제들입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;border: 1px solid #dbeafe; border-radius: 18px; overflow: hidden; margin: 18px 0 22px; background: #fff; box-shadow: 0 8px 24px rgba(15,23,42,0.05);&quot;&gt;
&lt;div style=&quot;padding: 14px 18px; background: #eff6ff; font-size: 18px; font-weight: 800; color: #1e40af;&quot;&gt;1) 컴포넌트 스캔 범위 밖에 클래스가 있는 경우&lt;/div&gt;
&lt;div style=&quot;padding: 18px; line-height: 1.9; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;원인&lt;/b&gt; 프로젝트 패키지 구조상 &lt;code&gt;@SpringBootApplication&lt;/code&gt;이 있는 위치보다 밖에 있으면 스캔되지 않을 수 있습니다.&lt;/div&gt;
&lt;div style=&quot;margin-top: 10px;&quot;&gt;&lt;b&gt;해결&lt;/b&gt; 메인 애플리케이션 클래스의 패키지 구조를 기준으로 하위 패키지에 두거나, 필요한 경우 &lt;code&gt;@ComponentScan&lt;/code&gt;을 명시합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;border: 1px solid #bfdbfe; border-radius: 18px; overflow: hidden; margin: 18px 0 22px; background: #fff; box-shadow: 0 8px 24px rgba(15,23,42,0.05);&quot;&gt;
&lt;div style=&quot;padding: 14px 18px; background: #dbeafe; font-size: 18px; font-weight: 800; color: #1d4ed8;&quot;&gt;2) 인터페이스 구현체가 여러 개라 어떤 Bean을 넣어야 할지 모르는 경우&lt;/div&gt;
&lt;div style=&quot;padding: 18px; line-height: 1.9; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;원인&lt;/b&gt; 같은 타입의 Bean이 여러 개면 Spring이 하나를 고를 수 없습니다.&lt;/div&gt;
&lt;div style=&quot;margin-top: 10px;&quot;&gt;&lt;b&gt;해결&lt;/b&gt; &lt;code&gt;@Qualifier&lt;/code&gt; 또는 &lt;code&gt;@Primary&lt;/code&gt;를 사용해 어떤 Bean을 주입할지 명확히 지정합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;border: 1px solid #fecdd3; border-radius: 18px; overflow: hidden; margin: 18px 0 22px; background: #fff; box-shadow: 0 8px 24px rgba(15,23,42,0.05);&quot;&gt;
&lt;div style=&quot;padding: 14px 18px; background: #ffe4e6; font-size: 18px; font-weight: 800; color: #be123c;&quot;&gt;3) 그냥 new로 객체를 만들어버린 경우&lt;/div&gt;
&lt;div style=&quot;padding: 18px; line-height: 1.9; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;원인&lt;/b&gt; Spring이 관리하지 않는 객체는 Bean이 아니므로 의존성 주입 대상도 아닙니다.&lt;/div&gt;
&lt;div style=&quot;margin-top: 10px;&quot;&gt;&lt;b&gt;해결&lt;/b&gt; 필요한 객체는 Bean으로 등록하고, 직접 &lt;code&gt;new&lt;/code&gt;로 만드는 습관을 줄여야 합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(245,158,11,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #92400e; margin-bottom: 10px;&quot;&gt;설정/확인 체크리스트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;클래스에 &lt;code&gt;@Component&lt;/code&gt;, &lt;code&gt;@Service&lt;/code&gt;, &lt;code&gt;@Repository&lt;/code&gt;, &lt;code&gt;@Controller&lt;/code&gt; 또는 &lt;code&gt;@Bean&lt;/code&gt; 등록이 되어 있는가?&lt;/li&gt;
&lt;li&gt;메인 애플리케이션 클래스 기준 하위 패키지에 위치해 있는가?&lt;/li&gt;
&lt;li&gt;같은 타입 Bean이 여러 개인데 &lt;code&gt;@Qualifier&lt;/code&gt; 또는 &lt;code&gt;@Primary&lt;/code&gt; 처리가 필요한가?&lt;/li&gt;
&lt;li&gt;직접 &lt;code&gt;new&lt;/code&gt;로 객체를 생성해서 Spring 관리 밖으로 빼버리진 않았는가?&lt;/li&gt;
&lt;li&gt;필드 주입보다 생성자 주입으로 구조를 단순하게 가져가고 있는가?&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;소스코드 예제 | 이런 코드에서 자주 막힙니다&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;오류 원인을 코드로 보면 왜 막히는지 더 빨리 이해됩니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 같은 타입의 구현체가 둘 다 Bean으로 등록돼 있으면 아래처럼 주입 시점에 충돌할 수 있습니다.&lt;/p&gt;
&lt;pre class=&quot;java&quot;&gt;&lt;code&gt;@Component
public class FixDiscountPolicy implements DiscountPolicy {
}

@Component
public class RateDiscountPolicy implements DiscountPolicy {
}

@Service
public class OrderService {

    private final DiscountPolicy discountPolicy;

    public OrderService(DiscountPolicy discountPolicy) {
        this.discountPolicy = discountPolicy;
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 경우 Spring은 &lt;code&gt;DiscountPolicy&lt;/code&gt; 타입 Bean이 두 개라서 어떤 구현체를 넣어야 할지 결정하지 못할 수 있습니다. 그래서 &lt;code&gt;@Qualifier&lt;/code&gt;나 &lt;code&gt;@Primary&lt;/code&gt;가 왜 필요한지도 이 코드에서 자연스럽게 이해할 수 있습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;실무 포인트 | 생성자 주입과 인터페이스 분리를 왜 많이 쓸까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;실제 프로젝트에서는 개념 자체보다 어떤 기준으로 적용하는지가 더 중요합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;margin: 0 0 18px 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;생성자 주입을 기본값&lt;/b&gt;으로 가져가면 필수 의존성이 명확해지고 테스트하기 쉬워집니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;구현체보다 인터페이스에 의존&lt;/b&gt;하도록 설계하면 교체와 확장이 쉬워집니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;필드 주입은 편해 보여도&lt;/b&gt; 테스트, 불변성, 명시성 측면에서 생성자 주입보다 불리한 경우가 많습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Spring이 관리해야 할 객체와 그렇지 않은 객체를 구분&lt;/b&gt;하는 감각이 중요합니다. 모든 클래스를 Bean으로 만들 필요는 없습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;border: 1px solid #fecaca; border-radius: 18px; background: #ffffff; padding: 18px 20px; margin: 18px 0 26px; box-shadow: 0 8px 24px rgba(239,68,68,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #7f1d1d; margin-bottom: 10px;&quot;&gt;초보자가 꼭 체크할 포인트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;IoC와 DI는 같은 말이 아니라, &lt;b&gt;제어권 변화&lt;/b&gt;와 &lt;b&gt;주입 방식&lt;/b&gt;이라는 차이가 있습니다.&lt;/li&gt;
&lt;li&gt;Bean은 그냥 객체가 아니라 &lt;b&gt;Spring Container가 관리하는 객체&lt;/b&gt;입니다.&lt;/li&gt;
&lt;li&gt;Container를 이해하면 &lt;code&gt;@Autowired&lt;/code&gt;, 컴포넌트 스캔, 설정 클래스가 한 흐름으로 보입니다.&lt;/li&gt;
&lt;li&gt;ApplicationContext는 실무에서 가장 자주 접하는 Spring Container입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #8b5cf6; background: #f5f3ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(139,92,246,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;심화 내용 | @Bean 등록과 컴포넌트 스캔은 어떻게 다른가?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;여기까지 이해하면 설정 클래스가 왜 필요한지도 자연스럽게 이어집니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Bean을 등록하는 대표 방식은 크게 두 가지입니다.&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.8; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; color: #1d4ed8;&quot;&gt;방식&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 36%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;언제 쓰는가&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 36%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;예시&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;&lt;b&gt;컴포넌트 스캔&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;애플리케이션 코드의 일반적인 Bean 등록&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;code&gt;@Component&lt;/code&gt;, &lt;code&gt;@Service&lt;/code&gt;, &lt;code&gt;@Repository&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;@Bean 수동 등록&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;외부 라이브러리, 설정 제어가 필요한 경우&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;code&gt;@Configuration&lt;/code&gt; + &lt;code&gt;@Bean&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 대부분의 비즈니스 로직 클래스는 컴포넌트 스캔으로 등록하고, 세밀한 제어가 필요한 설정성 객체는 &lt;code&gt;@Bean&lt;/code&gt;으로 등록한다고 이해하면 실무 감각에 가깝습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;FAQ&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Q. IoC와 DI는 같은 말인가요?&lt;/b&gt;&lt;br /&gt;&amp;rarr; 완전히 같은 말은 아닙니다. IoC는 제어권이 Spring으로 넘어가는 큰 개념이고, DI는 그 안에서 의존 객체를 주입하는 대표 방식입니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q. Bean은 그냥 객체와 무엇이 다른가요?&lt;/b&gt;&lt;br /&gt;&amp;rarr; Bean은 Spring Container가 생성하고 관리하는 객체입니다. 그냥 &lt;code&gt;new&lt;/code&gt;로 만든 객체는 Spring이 관리하지 않으면 Bean이 아닙니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q. ApplicationContext와 Container는 같은 말로 봐도 되나요?&lt;/b&gt;&lt;br /&gt;&amp;rarr; 실무에서는 거의 비슷한 의미로 써도 큰 무리는 없지만, 정확히는 ApplicationContext가 대표적인 Spring Container 구현체입니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q. 왜 생성자 주입을 많이 쓰나요?&lt;/b&gt;&lt;br /&gt;&amp;rarr; 필수 의존성을 명확히 드러내고, 불변성 유지와 테스트 작성에 유리하기 때문입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;결론 | Spring 핵심 개념은 결국 객체 관리 구조를 이해하는 것이다&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;용어를 외우는 것보다 누가 만들고 누가 연결하는지 이해하는 것이 핵심입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Spring 핵심 개념 정리에서 가장 중요한 건 용어를 각각 암기하는 것이 아니라, &lt;b&gt;객체 생성과 연결의 주체가 누구인지&lt;/b&gt;를 분명하게 이해하는 것입니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;IoC&lt;/b&gt;는 객체 관리의 주도권이 Spring으로 넘어가는 개념&lt;/li&gt;
&lt;li&gt;&lt;b&gt;DI&lt;/b&gt;는 필요한 객체를 외부에서 주입받는 방식&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Bean&lt;/b&gt;은 Spring이 관리하는 객체&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Container&lt;/b&gt;는 Bean을 생성&amp;middot;보관&amp;middot;연결하는 공간&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ApplicationContext&lt;/b&gt;는 실무에서 가장 자주 보는 Spring Container&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;Spring을 제대로 이해하는 출발점은 &amp;ldquo;내가 객체를 관리하는가, 아니면 Spring이 관리하는가&amp;rdquo;를 구분하는 데서 시작합니다.&lt;/blockquote&gt;
&lt;div style=&quot;margin: 24px 0 0; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;같이 보면 좋은 Spring 글&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/spring-boot-http-methods-crud-2&quot;&gt;[Spring Boot] GET, POST, PUT, PATCH, DELETE 차이와 CRUD 구현 방법&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/Spring-Boot-JWT-EBA19CEAB7B8EC9DB8-EAB5ACED9884&quot;&gt;Spring Boot JWT 로그인 구현 방법 | Spring Security 설정부터 Access Token&amp;middot;Refresh Token 발급&amp;middot;검증까지&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description>
      <category>IT/Spring</category>
      <category>ApplicationContext</category>
      <category>bean</category>
      <category>BeanFactory</category>
      <category>DI</category>
      <category>IOC</category>
      <category>spring</category>
      <category>spring boot</category>
      <category>spring container</category>
      <category>Spring 핵심 개념</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/117</guid>
      <comments>https://trace90.tistory.com/entry/spring-core-concepts-ioc-di-bean-container-guide#entry117comment</comments>
      <pubDate>Fri, 10 Apr 2026 15:04:15 +0900</pubDate>
    </item>
    <item>
      <title>JVM 구조와 메모리 영역 정리 | Runtime Data Area 쉽게 이해하기</title>
      <link>https://trace90.tistory.com/entry/jvm-runtime-data-area-guide</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;자바를 공부하다 보면 &lt;code&gt;JVM 구조&lt;/code&gt;, &lt;code&gt;JVM 메모리 영역&lt;/code&gt;, &lt;code&gt;Runtime Data Area&lt;/code&gt; 같은 말을 정말 자주 보게 됩니다. 그런데 막상 설명을 읽어보면 용어가 비슷해서 &lt;b&gt;Heap이 뭔지, Stack은 왜 필요한지, Method Area는 정확히 어디에 쓰이는지&lt;/b&gt; 한 번에 정리가 잘 안 되는 경우가 많습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 면접 준비나 실무 학습을 하다 보면 &lt;b&gt;&quot;JVM 메모리 구조 설명해보세요&quot;&lt;/b&gt; 같은 질문을 자주 만나는데, 단순히 이름만 외우면 금방 헷갈립니다. &lt;b&gt;각 영역에 무엇이 저장되고, 언제 생성되고, 어떤 문제가 자주 발생하는지&lt;/b&gt;까지 같이 이해해야 제대로 기억에 남습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 이번 글에서는 JVM의 전체 구조를 먼저 아주 쉽게 잡고, 그다음 &lt;code&gt;Runtime Data Area&lt;/code&gt;를 기준으로 &lt;b&gt;Method Area, Heap, Stack, PC Register, Native Method Stack&lt;/b&gt;이 각각 어떤 역할을 하는지 정리해보겠습니다. 마지막에는 &lt;b&gt;StackOverflowError, OutOfMemoryError처럼 자주 헷갈리는 문제 포인트&lt;/b&gt;도 함께 정리하겠습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%); box-shadow: 0 10px 28px rgba(37,99,235,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;핵심 요약&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;JVM&lt;/b&gt;은 자바 프로그램을 실행하기 위한 가상 머신입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Runtime Data Area&lt;/b&gt;는 자바 프로그램 실행 중 JVM이 사용하는 메모리 영역입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Heap&lt;/b&gt;은 객체가 저장되는 공간이고, &lt;b&gt;Stack&lt;/b&gt;은 메서드 호출과 지역변수 처리를 위한 공간입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Method Area&lt;/b&gt;는 클래스 정보, static 변수, 메서드 관련 정보가 올라가는 영역으로 이해하면 쉽습니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;가장 중요한 결론&lt;/b&gt;은 메모리 영역 이름만 외우지 말고 &quot;무엇이 저장되는지&quot;와 &quot;어디서 문제가 나는지&quot;를 같이 연결해서 이해하는 것입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;JVM이란 무엇인가?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;자바 코드를 실행 가능한 형태로 돌려주는 실행 환경입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;JVM(Java Virtual Machine)은 자바 바이트코드를 읽어서 실제 운영체제 위에서 실행해주는 가상 머신입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자바가 &quot;한 번 작성하면 여러 환경에서 실행할 수 있다&quot;고 말할 수 있는 이유도 바로 이 JVM 덕분입니다. 자바 소스코드는 바로 실행되는 것이 아니라, 먼저 &lt;code&gt;.class&lt;/code&gt; 형태의 바이트코드로 컴파일되고, 이 바이트코드를 JVM이 해석하거나 JIT 컴파일을 통해 실행합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;쉽게 흐름을 잡으면 아래와 같습니다.&lt;/p&gt;
&lt;pre class=&quot;angelscript&quot;&gt;&lt;code&gt;Java Source (.java)
  &amp;darr; 컴파일
Bytecode (.class)
  &amp;darr; JVM 실행
운영체제/하드웨어에서 동작
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, 우리가 흔히 말하는 JVM 구조를 이해한다는 것은 단순히 실행기 하나를 아는 것이 아니라 &lt;b&gt;자바 프로그램이 메모리를 어떻게 쓰고, 객체를 어디에 두고, 메서드 호출을 어떻게 관리하는지&lt;/b&gt;까지 이해하는 것과 연결됩니다.&lt;/p&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;JVM은 자바 바이트코드를 실제 실행 가능한 상태로 바꿔주는 실행 엔진이고, Runtime Data Area는 그 과정에서 사용하는 핵심 메모리 구조입니다.&lt;/blockquote&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;JVM 구조를 먼저 한눈에 보면&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;큰 구조를 먼저 잡아두면 Runtime Data Area가 훨씬 쉽게 이해됩니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;JVM 핵심 구조.png&quot; data-origin-width=&quot;1536&quot; data-origin-height=&quot;1024&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dWb2Ar/dJMcafGcpKr/k50j7FilGYR80WZgpVGXZK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dWb2Ar/dJMcafGcpKr/k50j7FilGYR80WZgpVGXZK/img.png&quot; data-alt=&quot;JVM 핵심 구조&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dWb2Ar/dJMcafGcpKr/k50j7FilGYR80WZgpVGXZK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdWb2Ar%2FdJMcafGcpKr%2Fk50j7FilGYR80WZgpVGXZK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1536&quot; height=&quot;1024&quot; data-filename=&quot;JVM 핵심 구조.png&quot; data-origin-width=&quot;1536&quot; data-origin-height=&quot;1024&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;JVM 핵심 구조&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 오늘 핵심은 가운데 있는 &lt;b&gt;Runtime Data Area&lt;/b&gt;입니다. 이 영역이 바로 자바 프로그램이 실행될 때 실제로 메모리를 나눠 쓰는 공간입니다.&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 24%; text-align: left; color: #1d4ed8;&quot;&gt;구성 요소&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 38%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;역할&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 38%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;핵심 포인트&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;Class Loader&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;클래스 파일을 읽어 JVM에 적재&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;클래스 정보가 메모리에 올라가는 시작점&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;Runtime Data Area&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;실행 중 사용하는 메모리 영역&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;Heap, Stack, Method Area 등이 여기에 포함&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;Execution Engine&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;바이트코드를 실행&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;인터프리터, JIT 컴파일러 포함&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;Native Interface&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;운영체제의 네이티브 코드와 연결&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;C/C++ 기반 라이브러리 호출과 연결&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_jvm_1&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #0ea5e9; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(14,165,233,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;Runtime Data Area란?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;JVM이 프로그램 실행 중 실제로 메모리를 나눠 쓰는 공간입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Runtime Data Area는 자바 프로그램이 실행되는 동안 JVM이 사용하는 메모리 영역입니다. 여기에는 스레드마다 따로 쓰는 영역도 있고, 여러 스레드가 함께 쓰는 영역도 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;크게 보면 다음처럼 나눌 수 있습니다.&lt;/p&gt;
&lt;pre class=&quot;oxygene&quot;&gt;&lt;code&gt;스레드마다 별도 생성
- PC Register
- JVM Stack
- Native Method Stack

모든 스레드가 공유
- Heap
- Method Area
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 구분을 먼저 잡아두면 왜 어떤 문제는 특정 스레드에서만 발생하고, 어떤 문제는 전체 애플리케이션 문제로 번지는지 이해하기 쉬워집니다.&lt;/p&gt;
&lt;figure style=&quot;margin: 24px 0 30px;&quot;&gt;&lt;img style=&quot;display: block; width: 100%; max-width: 100%; height: auto; border-radius: 22px; border: 1px solid #dbeafe; box-shadow: 0 14px 34px rgba(15,23,42,0.08); background: #fff; margin: 0 auto;&quot; src=&quot;data:image/png;base64,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&quot; alt=&quot;Runtime Data Area 상세 구조&quot; /&gt;
&lt;figcaption style=&quot;margin-top: 10px; text-align: center; font-size: 14px; color: #64748b; line-height: 1.8;&quot;&gt;공유 영역 / 스레드별 영역 구분&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;먼저 외워두면 좋은 핵심 구분&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Heap, Method Area&lt;/b&gt; = 여러 스레드가 공유&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Stack, PC Register, Native Method Stack&lt;/b&gt; = 스레드마다 따로 생성&lt;/li&gt;
&lt;li&gt;&lt;b&gt;객체&lt;/b&gt;는 보통 Heap에 생성&lt;/li&gt;
&lt;li&gt;&lt;b&gt;메서드 호출 흐름과 지역변수&lt;/b&gt;는 Stack에서 관리&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;1) Method Area - 클래스 정보가 올라가는 공간&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;클래스 수준의 정보가 저장된다고 이해하면 가장 쉽습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Method Area는 클래스가 로딩될 때 필요한 정보들이 저장되는 영역입니다. 보통 아래 같은 것들이 올라갑니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;클래스 이름, 부모 클래스 정보&lt;/li&gt;
&lt;li&gt;필드, 메서드 정보&lt;/li&gt;
&lt;li&gt;static 변수&lt;/li&gt;
&lt;li&gt;런타임 상수 풀(Runtime Constant Pool)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 어떤 클래스를 처음 사용할 때, 그 클래스의 구조 정보가 Method Area에 적재된다고 생각하면 됩니다.&lt;/p&gt;
&lt;pre class=&quot;actionscript&quot;&gt;&lt;code&gt;public class MemberService {
    private static final String SERVICE_NAME = &quot;member&quot;;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 코드에서 &lt;code&gt;SERVICE_NAME&lt;/code&gt; 같은 static 변수는 클래스 수준 정보와 함께 Method Area 관점에서 이해하면 쉽습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다만 요즘 JVM 구현에서는 내부 세부 구조가 예전 교재와 조금 다르게 설명되는 경우도 있습니다. 예를 들어 PermGen, Metaspace 같은 용어가 같이 등장하는데, 실무 입문 단계에서는 &lt;b&gt;&quot;클래스 메타정보를 관리하는 영역&quot;&lt;/b&gt;으로 먼저 잡아두면 충분합니다.&lt;/p&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;Method Area는 객체 자체보다 클래스의 설계도와 공용 정보가 올라가는 영역이라고 보면 이해가 쉽습니다.&lt;/blockquote&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #818cf8; background: #f5f7ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(129,140,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;2) Heap - 객체가 저장되는 공간&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;JVM 메모리 영역에서 가장 많이 언급되는 핵심 공간입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Heap은 자바에서 생성된 객체와 배열이 저장되는 영역입니다.&lt;/p&gt;
&lt;pre class=&quot;reasonml&quot;&gt;&lt;code&gt;Member member = new Member();
int[] numbers = new int[10];
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 코드에서 &lt;code&gt;new&lt;/code&gt;로 생성한 객체와 배열은 Heap에 올라갑니다. 그리고 변수 &lt;code&gt;member&lt;/code&gt;, &lt;code&gt;numbers&lt;/code&gt; 자체는 참조값을 들고 있을 뿐, 실제 객체 본체는 Heap에 있다고 이해하면 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Heap은 여러 스레드가 함께 사용하는 공유 영역이라서, 객체가 많이 쌓이거나 더 이상 참조되지 않는 객체 정리가 늦어지면 메모리 문제가 발생할 수 있습니다. 여기서 가비지 컬렉션(GC)이 중요한 역할을 합니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Heap에서 자주 연결되는 키워드&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;객체 생성&lt;/li&gt;
&lt;li&gt;가비지 컬렉션(GC)&lt;/li&gt;
&lt;li&gt;OutOfMemoryError&lt;/li&gt;
&lt;li&gt;Young / Old 영역&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, 자바 메모리 문제를 이야기할 때 가장 먼저 보는 곳이 Heap인 경우가 많습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #e0e7ff; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(99,102,241,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;Heap을 이해할 때 꼭 기억할 점&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;객체와 배열은 Heap에 생성됩니다.&lt;/li&gt;
&lt;li&gt;참조가 끊긴 객체는 GC 대상이 됩니다.&lt;/li&gt;
&lt;li&gt;메모리 누수나 객체 과다 생성은 Heap 문제로 이어지기 쉽습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_jvm_2&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;3) JVM Stack - 메서드 호출과 지역변수 관리&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;실행 흐름을 이해할 때 가장 중요한 영역 중 하나입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;JVM Stack은 스레드마다 하나씩 생성되며, 메서드가 호출될 때마다 스택 프레임(Stack Frame)이 쌓입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 스택 프레임에는 보통 이런 정보가 들어갑니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지역변수(Local Variables)&lt;/li&gt;
&lt;li&gt;파라미터&lt;/li&gt;
&lt;li&gt;연산 중간 결과&lt;/li&gt;
&lt;li&gt;메서드 호출/복귀 정보&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 아래 코드를 보면 흐름이 더 쉽게 보입니다.&lt;/p&gt;
&lt;pre class=&quot;cs&quot;&gt;&lt;code&gt;public void a() {
    int x = 10;
    b(x);
}

public void b(int value) {
    int y = value + 1;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;a()&lt;/code&gt;가 호출되면 &lt;code&gt;a()&lt;/code&gt;용 스택 프레임이 생성되고, 그 안에 &lt;code&gt;x&lt;/code&gt;가 들어갑니다. 이어서 &lt;code&gt;b()&lt;/code&gt;를 호출하면 &lt;code&gt;b()&lt;/code&gt;용 스택 프레임이 새로 쌓이고, 메서드가 종료되면 위에서부터 제거됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 Stack은 &lt;b&gt;&quot;메서드 실행 기록과 임시 작업 공간&quot;&lt;/b&gt;이라고 이해하면 됩니다.&lt;/p&gt;
&lt;figure style=&quot;margin: 24px 0 30px;&quot;&gt;&lt;img style=&quot;display: block; width: 100%; max-width: 100%; height: auto; border-radius: 22px; border: 1px solid #dbeafe; box-shadow: 0 14px 34px rgba(15,23,42,0.08); background: #fff; margin: 0 auto;&quot; src=&quot;data:image/png;base64,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&quot; alt=&quot;Heap vs Stack 비교&quot; /&gt;
&lt;figcaption style=&quot;margin-top: 10px; text-align: center; font-size: 14px; color: #64748b; line-height: 1.8;&quot;&gt;Heap / Stack 핵심 차이&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #fde68a; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #fffbeb; border-bottom: 1px solid #fde68a; width: 28%; text-align: left; color: #b45309;&quot;&gt;구분&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #fffbeb; border-bottom: 1px solid #fde68a; width: 36%; text-align: left; border-left: 1px solid #fde68a; color: #b45309;&quot;&gt;Heap&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #fffbeb; border-bottom: 1px solid #fde68a; width: 36%; text-align: left; border-left: 1px solid #fde68a; color: #b45309;&quot;&gt;Stack&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;주요 저장 대상&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #fde68a; color: #334155;&quot;&gt;객체, 배열&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #fde68a; color: #334155;&quot;&gt;메서드 프레임, 지역변수, 호출 흐름&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #fde68a; color: #334155;&quot;&gt;공유 여부&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #fde68a; border-left: 1px solid #fde68a; color: #334155;&quot;&gt;스레드 간 공유&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #fde68a; border-left: 1px solid #fde68a; color: #334155;&quot;&gt;스레드별 독립&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #fde68a; color: #334155;&quot;&gt;대표 이슈&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #fde68a; border-left: 1px solid #fde68a; color: #334155;&quot;&gt;OutOfMemoryError&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #fde68a; border-left: 1px solid #fde68a; color: #334155;&quot;&gt;StackOverflowError&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #14b8a6; background: #f0fdfa; border-radius: 14px; box-shadow: 0 6px 18px rgba(20,184,166,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;4) PC Register와 Native Method Stack&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;비중은 작지만 구조 설명에서는 빠지지 않는 영역입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;PC Register&lt;/code&gt;는 현재 실행 중인 JVM 명령의 위치를 가리키는 역할을 합니다. 쉽게 말하면 &lt;b&gt;현재 어디까지 실행했는지 표시하는 작은 위치 정보&lt;/b&gt;라고 보면 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;Native Method Stack&lt;/code&gt;은 자바가 아닌 네이티브 메서드를 실행할 때 사용하는 영역입니다. 예를 들어 JNI(Java Native Interface)를 통해 C/C++ 라이브러리와 연결하는 경우 여기가 관련됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실무 입문 단계에서는 아래 정도로 기억하면 충분합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;PC Register&lt;/code&gt; = 현재 실행 위치 추적&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Native Method Stack&lt;/code&gt; = 네이티브 코드 실행 관련 스택&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #ccfbf1; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(20,184,166,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;시험/면접용 빠른 기억 포인트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;PC Register는 스레드별로 존재합니다.&lt;/li&gt;
&lt;li&gt;Native Method Stack도 스레드별로 생성됩니다.&lt;/li&gt;
&lt;li&gt;핵심 설명 비중은 보통 Heap, Stack, Method Area가 가장 큽니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #ef4444; background: #fff7f7; border-radius: 14px; box-shadow: 0 6px 18px rgba(239,68,68,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;자주 막히는 포인트와 문제해결&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;JVM 메모리 영역은 이름보다 문제 상황과 함께 연결해서 이해해야 오래 갑니다.&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. Stack과 Heap을 자꾸 반대로 외우는 경우&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가장 흔한 실수입니다. 이때는 &quot;객체는 Heap, 실행 흐름은 Stack&quot;으로 짧게 외우면 정리가 빨라집니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;new&lt;/code&gt;로 만든 객체 = Heap&lt;/li&gt;
&lt;li&gt;메서드 호출, 지역변수 = Stack&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. StackOverflowError와 OutOfMemoryError를 헷갈리는 경우&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;둘 다 메모리 문제처럼 보이지만 성격이 다릅니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;StackOverflowError&lt;/code&gt; = 재귀 호출이 너무 깊거나 스택 프레임이 과도하게 쌓일 때&lt;/li&gt;
&lt;li&gt;&lt;code&gt;OutOfMemoryError&lt;/code&gt; = Heap이나 메타데이터 영역 등에서 더 이상 필요한 메모리를 확보하지 못할 때&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 종료 조건 없는 재귀 함수는 StackOverflowError를 일으키기 쉽습니다.&lt;/p&gt;
&lt;pre class=&quot;pgsql&quot;&gt;&lt;code&gt;public void recursive() {
    recursive();
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반대로 객체를 무한히 생성해서 리스트에 담아두면 Heap 메모리 부족으로 이어질 가능성이 큽니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. static 변수 위치를 헷갈리는 경우&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;입문 단계에서는 static 변수는 클래스 정보와 함께 Method Area 관점에서 이해하면 됩니다. 다만 JVM 버전에 따라 구현 디테일 설명은 조금 달라질 수 있으니, 시험&amp;middot;면접&amp;middot;블로그 글에서는 &lt;b&gt;&quot;클래스 수준 정보&quot;&lt;/b&gt;라는 큰 틀로 설명하면 안정적입니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(239,68,68,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #7f1d1d; margin-bottom: 10px;&quot;&gt;설명할 때 바로 쓰는 체크리스트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;JVM의 목적부터 먼저 말했는가?&lt;/li&gt;
&lt;li&gt;Runtime Data Area를 스레드 공유/비공유로 나눠 설명했는가?&lt;/li&gt;
&lt;li&gt;Heap = 객체, Stack = 메서드 호출/지역변수로 정리했는가?&lt;/li&gt;
&lt;li&gt;Method Area = 클래스 정보, static 정보 중심으로 설명했는가?&lt;/li&gt;
&lt;li&gt;StackOverflowError와 OutOfMemoryError 차이를 구분했는가?&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_jvm_3&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;실무 포인트&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;실무에서는 메모리 구조를 정확히 아는 것이 성능과 장애 해석에 바로 연결됩니다.&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;GC 로그를 보거나 메모리 이슈를 분석할 때 Heap 이해가 기본이 됩니다.&lt;/li&gt;
&lt;li&gt;멀티스레드 환경에서 Stack은 스레드별 독립 구조라는 점이 중요합니다.&lt;/li&gt;
&lt;li&gt;클래스 로딩, static 자원, 프레임워크 초기화 흐름을 이해할 때 Method Area 관점이 도움이 됩니다.&lt;/li&gt;
&lt;li&gt;면접에서는 &quot;객체는 Heap, 호출 흐름은 Stack&quot;만 명확히 말해도 설명력이 확 올라갑니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(34,197,94,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #14532d; margin-bottom: 10px;&quot;&gt;초보자가 꼭 체크할 포인트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;JVM 전체 구조와 메모리 영역을 섞지 말고 구분해서 보세요.&lt;/li&gt;
&lt;li&gt;Heap, Stack, Method Area 세 개를 먼저 확실히 잡는 것이 우선입니다.&lt;/li&gt;
&lt;li&gt;에러 유형을 같이 연결하면 암기가 아니라 이해로 바뀝니다.&lt;/li&gt;
&lt;li&gt;세부 구현 차이보다 기본 원리를 먼저 정리하는 것이 훨씬 중요합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;FAQ&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; JVM 메모리 영역에서 가장 중요한 세 가지는 무엇인가요?&lt;br /&gt;&amp;rarr; 보통 입문 단계에서는 Heap, Stack, Method Area를 가장 먼저 이해하면 됩니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 객체는 Stack에 저장되나요?&lt;br /&gt;&amp;rarr; 보통 객체 본체는 Heap에 생성되고, Stack에는 참조값이나 지역변수가 들어간다고 이해하면 됩니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; Runtime Data Area와 JVM 구조는 같은 말인가요?&lt;br /&gt;&amp;rarr; 완전히 같은 말은 아닙니다. JVM 구조 전체 안에 Runtime Data Area가 포함되는 개념입니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; StackOverflowError는 왜 발생하나요?&lt;br /&gt;&amp;rarr; 주로 재귀 호출이 너무 깊어지거나 메서드 호출 프레임이 과도하게 쌓일 때 발생합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;결론&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;JVM 메모리 구조는 이름 암기보다 역할 연결이 더 중요합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;JVM의 구조와 메모리 영역은 자바를 오래 공부할수록 계속 다시 만나게 되는 주제입니다. 그래서 처음부터 너무 세부 구현에 매달리기보다, &lt;b&gt;JVM이 무엇인지 &amp;rarr; Runtime Data Area가 무엇인지 &amp;rarr; Heap, Stack, Method Area가 각각 무엇을 하는지&lt;/b&gt; 이 흐름으로 정리하는 것이 가장 효율적입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 &lt;code&gt;JVM 메모리 영역&lt;/code&gt;은 면접용 암기 주제가 아니라, 실제로 &lt;b&gt;메모리 이슈, 성능 문제, 클래스 로딩 이해, 예외 원인 파악&lt;/b&gt;과 연결되는 핵심 기초입니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;JVM은 자바 바이트코드를 실행하는 가상 머신입니다.&lt;/li&gt;
&lt;li&gt;Runtime Data Area는 실행 중 사용하는 메모리 영역입니다.&lt;/li&gt;
&lt;li&gt;Heap은 객체, Stack은 메서드 호출, Method Area는 클래스 정보를 중심으로 이해하면 됩니다.&lt;/li&gt;
&lt;li&gt;문제 상황까지 같이 연결해서 봐야 오래 기억됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;JVM 메모리 영역은 &quot;어디에 무엇이 저장되는가&quot;만 명확히 잡아도 절반은 끝난다고 봐도 됩니다.&lt;/blockquote&gt;</description>
      <category>IT/Java</category>
      <category>Heap Stack Method Area</category>
      <category>Java</category>
      <category>JVM</category>
      <category>JVM 구조</category>
      <category>JVM 메모리 영역</category>
      <category>Runtime Data Area</category>
      <category>자바 메모리 구조</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/116</guid>
      <comments>https://trace90.tistory.com/entry/jvm-runtime-data-area-guide#entry116comment</comments>
      <pubDate>Wed, 8 Apr 2026 17:54:23 +0900</pubDate>
    </item>
    <item>
      <title>프로세스와 스레드 차이 정리 | 자바 멀티스레딩까지 쉽게 이해하기</title>
      <link>https://trace90.tistory.com/entry/java-process-thread-multithreading-guide</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;자바를 공부하다 보면 운영체제 개념처럼 보이던 &lt;code&gt;프로세스(Process)&lt;/code&gt;와 &lt;code&gt;스레드(Thread)&lt;/code&gt;가 갑자기 코드와 연결되기 시작합니다. 처음에는 둘 다 그냥 &quot;동시에 뭔가 실행되는 것&quot;처럼 느껴지지만, 막상 면접 질문이나 실무 코드로 들어가면 &lt;b&gt;프로세스와 스레드의 차이&lt;/b&gt;, &lt;b&gt;자바에서 멀티스레딩을 왜 쓰는지&lt;/b&gt;, &lt;b&gt;그리고 어디서 위험해지는지&lt;/b&gt;까지 함께 이해해야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 자바에서는 &lt;code&gt;Thread&lt;/code&gt;, &lt;code&gt;Runnable&lt;/code&gt;, &lt;code&gt;synchronized&lt;/code&gt;, &lt;code&gt;ExecutorService&lt;/code&gt; 같은 키워드가 이어서 나오기 때문에, 프로세스/스레드 개념을 애매하게 잡아두면 그다음부터 계속 헷갈리기 쉽습니다. 게다가 실무에서는 단순히 스레드를 &quot;만드는 법&quot;보다, &lt;b&gt;스레드 풀을 어떻게 관리하는지&lt;/b&gt;, &lt;b&gt;공유 자원을 어떻게 안전하게 다루는지&lt;/b&gt;, &lt;b&gt;서버에서 어느 구간이 병목이 되는지&lt;/b&gt;가 더 중요합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 이 글에서는 단순 정의만 하지 않고, &lt;b&gt;프로세스와 스레드의 구조적 차이&lt;/b&gt;, &lt;b&gt;자바 멀티스레딩이 실제 서버/백엔드 코드와 어떻게 연결되는지&lt;/b&gt;, 그리고 &lt;b&gt;실무에서 반드시 알아야 할 스레드풀&amp;middot;동기화&amp;middot;공유자원&amp;middot;성능 포인트&lt;/b&gt;까지 깊이 있게 정리해보겠습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%); box-shadow: 0 10px 28px rgba(37,99,235,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;핵심 요약&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;프로세스&lt;/b&gt;는 실행 중인 프로그램의 독립된 작업 단위입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;스레드&lt;/b&gt;는 프로세스 안에서 실제 작업을 수행하는 실행 흐름입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;자바 멀티스레딩&lt;/b&gt;은 하나의 JVM 프로세스 안에서 여러 작업을 동시에 처리하는 방식입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;실무 핵심&lt;/b&gt;은 `Thread` 직접 생성보다 `ExecutorService`, 동시성 컬렉션, 동기화 전략을 어떻게 쓰는지입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;가장 중요한 포인트&lt;/b&gt;는 스레드는 자원을 공유하기 때문에 빠를 수 있지만, 동시에 동기화와 안정성 문제가 생길 수 있다는 점입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;프로세스(Process)란 무엇인가?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;실행 중인 프로그램 하나를 운영체제가 관리하는 단위입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프로세스는 쉽게 말해 &lt;b&gt;실행 중인 프로그램&lt;/b&gt;입니다. 메모장 프로그램을 켜면 메모장 프로세스가 하나 생기고, 브라우저를 실행하면 브라우저 프로세스가 생깁니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;운영체제 입장에서 프로세스는 단순한 코드 파일이 아니라, 실제로 메모리를 할당받고 CPU 시간을 배정받으면서 동작하는 실행 단위입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보통 프로세스는 아래 같은 자원을 가집니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;코드 영역(Code)&lt;/li&gt;
&lt;li&gt;데이터 영역(Data)&lt;/li&gt;
&lt;li&gt;힙 영역(Heap)&lt;/li&gt;
&lt;li&gt;스택 영역(Stack)&lt;/li&gt;
&lt;li&gt;파일, 소켓 같은 운영체제 자원&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 프로세스는 하나의 독립된 실행 환경이라고 보면 됩니다.&lt;/p&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;프로세스는 &quot;프로그램 파일&quot;이 아니라, 메모리와 자원을 할당받아 실제로 돌아가고 있는 실행 단위입니다.&lt;/blockquote&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;스레드(Thread)란 무엇인가?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;프로세스 안에서 실제 작업을 수행하는 흐름입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스레드는 프로세스 내부에서 실행되는 &lt;b&gt;작업 흐름&lt;/b&gt;입니다. 하나의 프로세스는 최소 1개의 스레드를 가지며, 여러 개의 스레드를 가지면 동시에 여러 작업을 처리할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 브라우저 하나의 프로세스 안에서도,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;화면 렌더링 스레드&lt;/li&gt;
&lt;li&gt;네트워크 요청 처리 스레드&lt;/li&gt;
&lt;li&gt;사용자 입력 처리 스레드&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처럼 역할이 나뉘어 움직일 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;스레드는 프로세스 안에 있으므로 프로세스가 가진 자원을 함께 사용합니다. 다만 각 스레드는 자기만의 실행 스택과 프로그램 카운터(PC Register)는 따로 가집니다.&lt;/p&gt;
&lt;pre class=&quot;armasm&quot;&gt;&lt;code&gt;프로세스
 ├─ 코드 / 데이터 / 힙 (공유)
 ├─ 스레드 A &amp;rarr; 스택 별도
 ├─ 스레드 B &amp;rarr; 스택 별도
 └─ 스레드 C &amp;rarr; 스택 별도
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 구조 때문에 스레드는 프로세스보다 가볍고 빠르지만, 동시에 공유 자원 때문에 충돌 위험도 생깁니다.&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 24%; text-align: left; color: #1d4ed8;&quot;&gt;비교 항목&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 38%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;프로세스&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 38%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;스레드&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;의미&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;독립된 실행 환경&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;프로세스 안의 실행 흐름&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;메모리&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;다른 프로세스와 분리&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;같은 프로세스 내부 자원 공유&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;생성 비용&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;상대적으로 큼&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;상대적으로 작음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;안정성&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;한 프로세스 오류가 다른 프로세스에 직접 영향 적음&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;한 스레드 문제로 같은 프로세스 전체 영향 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_java_thread_1&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;프로세스와 스레드의 차이를 예시로 이해하기&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;개념이 헷갈릴 때는 실제 서비스 상황으로 떠올리면 훨씬 쉽습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;식당으로 비유하면,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;프로세스&lt;/b&gt; = 식당 한 개&lt;/li&gt;
&lt;li&gt;&lt;b&gt;스레드&lt;/b&gt; = 그 식당 안에서 일하는 직원들&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이라고 볼 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;식당 자체는 주방, 테이블, 재료 창고를 갖춘 독립된 공간입니다. 이게 프로세스입니다. 그 안에서 주문받기, 요리하기, 계산하기를 각각 맡는 직원들이 스레드입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;직원들이 같은 주방과 재료를 함께 쓰기 때문에 효율은 좋지만, 서로 엉키면 사고가 날 수도 있습니다. 이게 바로 멀티스레딩에서 자원 공유와 동기화 문제가 나오는 이유입니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;핵심 감각&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.9; color: #334155;&quot;&gt;프로세스는 서로 독립적이지만 무겁고, 스레드는 같은 자원을 공유해서 효율적이지만 관리가 더 까다롭습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #0ea5e9; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(14,165,233,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;자바에서 멀티스레딩이란?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;하나의 JVM 프로세스 안에서 여러 작업 흐름을 동시에 실행하는 방식입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자바 프로그램이 실행되면 JVM 프로세스가 올라갑니다. 그리고 그 안에서 &lt;code&gt;main&lt;/code&gt; 스레드가 먼저 시작됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 자바 프로그램은 처음부터 스레드를 가지고 시작한다고 생각해도 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그다음 개발자가 추가 스레드를 만들면,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;파일 읽기&lt;/li&gt;
&lt;li&gt;네트워크 통신&lt;/li&gt;
&lt;li&gt;백그라운드 작업&lt;/li&gt;
&lt;li&gt;비동기 처리&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;같은 작업을 동시에 처리할 수 있습니다.&lt;/p&gt;
&lt;pre class=&quot;scala&quot;&gt;&lt;code&gt;class MyTask extends Thread {
    @Override
    public void run() {
        System.out.println(&quot;작업 실행 중: &quot; + Thread.currentThread().getName());
    }
}

public class Main {
    public static void main(String[] args) {
        MyTask task = new MyTask();
        task.start();
        System.out.println(&quot;메인 스레드 실행 중&quot;);
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 코드는 개념 이해용으로는 좋지만, 실무 기본 선택이라고 보기는 어렵습니다. 실무에서는 &lt;code&gt;Thread&lt;/code&gt;를 직접 상속하기보다 &lt;code&gt;Runnable&lt;/code&gt;, &lt;code&gt;Callable&lt;/code&gt;, &lt;code&gt;ExecutorService&lt;/code&gt; 같은 방식이 더 자주 쓰입니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;Runnable 방식&lt;/h3&gt;
&lt;pre class=&quot;java&quot;&gt;&lt;code&gt;class MyTask implements Runnable {
    @Override
    public void run() {
        System.out.println(&quot;Runnable 작업 실행&quot;);
    }
}

public class Main {
    public static void main(String[] args) {
        Thread thread = new Thread(new MyTask());
        thread.start();
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;ExecutorService 방식&lt;/h3&gt;
&lt;pre class=&quot;livescript&quot;&gt;&lt;code&gt;import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class Main {
    public static void main(String[] args) {
        ExecutorService executor = Executors.newFixedThreadPool(2);

        executor.submit(() -&amp;gt; {
            System.out.println(&quot;비동기 작업 1&quot;);
        });

        executor.submit(() -&amp;gt; {
            System.out.println(&quot;비동기 작업 2&quot;);
        });

        executor.shutdown();
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 방식이 더 실무적인 이유는 스레드를 직접 만들고 버리는 것보다, 스레드 풀로 관리하는 편이 훨씬 안정적이기 때문입니다.&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #818cf8; background: #f5f7ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(129,140,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;왜 실무에서는 ExecutorService를 더 많이 쓸까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;멀티스레딩의 핵심은 스레드를 만드는 것이 아니라, 통제 가능한 방식으로 운영하는 것입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실무에서 &lt;code&gt;Thread&lt;/code&gt;를 직접 계속 생성하면 아래 문제가 생기기 쉽습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;요청이 몰릴 때 스레드 수가 과도하게 증가&lt;/li&gt;
&lt;li&gt;생성/소멸 비용 누적&lt;/li&gt;
&lt;li&gt;스레드 수 통제가 어려움&lt;/li&gt;
&lt;li&gt;장애 시 어디서 병목이 났는지 추적이 어려움&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반면 &lt;code&gt;ExecutorService&lt;/code&gt;는&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;스레드 풀 크기 제한&lt;/li&gt;
&lt;li&gt;작업 큐 관리&lt;/li&gt;
&lt;li&gt;재사용 가능&lt;/li&gt;
&lt;li&gt;종료 시점 제어&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가 가능해서 서버 애플리케이션에 훨씬 잘 맞습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 웹 서버에서는 매 요청마다 새 스레드를 막 만들어내기보다, 정해진 스레드 풀 안에서 요청을 처리하는 구조가 일반적입니다.&lt;/p&gt;
&lt;pre class=&quot;angelscript&quot;&gt;&lt;code&gt;요청 100개 도착
 &amp;rarr; 스레드 100개 무한 생성 (위험)
 &amp;rarr; 스레드풀 20개 + 대기 큐 (통제 가능)
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 실무에서 중요한 건 &quot;멀티스레드 가능&quot;이 아니라 &lt;b&gt;얼마나 예측 가능하게 운영할 수 있느냐&lt;/b&gt;입니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;실무 기준 한 줄 정리&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.9; color: #334155;&quot;&gt;자바 멀티스레딩은 &quot;스레드를 만드는 기술&quot;이 아니라, &lt;b&gt;작업량&amp;middot;공유자원&amp;middot;장애 상황까지 포함해 통제하는 기술&lt;/b&gt;에 가깝습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_java_thread_2&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #06b6d4; background: #ecfeff; border-radius: 14px; box-shadow: 0 6px 18px rgba(6,182,212,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;왜 멀티스레딩을 사용할까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;속도만이 아니라, 응답성&amp;middot;동시성&amp;middot;자원 활용을 위해서도 중요합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;멀티스레딩을 쓰는 대표 이유는 아래와 같습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;오래 걸리는 작업을 분리해서 응답성 유지&lt;/li&gt;
&lt;li&gt;여러 요청을 동시에 처리&lt;/li&gt;
&lt;li&gt;CPU 자원을 더 효율적으로 사용&lt;/li&gt;
&lt;li&gt;백그라운드 작업과 메인 작업 분리&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 서버 애플리케이션에서는 한 요청이 끝날 때까지 다른 요청이 멈추면 안 되기 때문에, 멀티스레딩은 거의 기본 전제가 됩니다.&lt;/p&gt;
&lt;pre class=&quot;armasm&quot;&gt;&lt;code&gt;사용자 A 요청 처리
사용자 B 요청 처리
로그 기록
캐시 갱신
&amp;rarr; 여러 작업이 겹쳐도 시스템이 멈추지 않게 분리
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 여기서 중요한 건 &quot;무조건 빠르다&quot;가 아니라는 점입니다. 스레드가 많아질수록 문맥 전환(Context Switching) 비용, 동기화 비용, 디버깅 난이도도 같이 올라갑니다.&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #22c55e; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(34,197,94,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;실무에서 많이 보는 멀티스레딩 사용 사례&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;개념보다 실제로 어디서 등장하는지를 알면 훨씬 감이 잘 잡힙니다.&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 웹 서버 요청 처리&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Spring Boot 같은 서버는 동시에 여러 사용자의 요청을 받아야 합니다. 한 요청이 DB 조회를 하는 동안 다른 요청까지 같이 막히면 서비스가 느려집니다. 그래서 스레드 풀이 요청을 분산 처리합니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 비동기 이메일/알림 전송&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;회원가입 직후 이메일 발송을 메인 요청에서 다 처리하면 응답이 느려질 수 있습니다. 이럴 때는 비동기 작업으로 분리하는 편이 많습니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. 파일 업로드 후 후처리&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이미지 리사이징, 로그 적재, 메시지 큐 전송처럼 사용자가 기다릴 필요 없는 후속 작업은 별도 스레드나 비동기 실행으로 분리합니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. 배치/병렬 처리&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대량 데이터 처리에서도 구간을 나눠 병렬 작업을 붙이는 경우가 많습니다. 다만 이 구간은 오히려 락, DB 연결 수, 외부 API 제한 때문에 무작정 스레드를 늘리면 안 됩니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(245,158,11,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #92400e; margin-bottom: 10px;&quot;&gt;꼭 봐야 할 포인트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;멀티스레딩은 &quot;동시에 많이 처리&quot;가 목적이 아니라, &lt;b&gt;응답성과 처리량을 균형 있게 높이는 것&lt;/b&gt;이 목적입니다.&lt;/li&gt;
&lt;li&gt;DB, 외부 API, 파일 IO 같은 병목이 있으면 스레드 수를 늘려도 기대만큼 빨라지지 않을 수 있습니다.&lt;/li&gt;
&lt;li&gt;실무에서는 코드 문법보다 &lt;b&gt;스레드풀 크기, 큐, 타임아웃, 예외 처리&lt;/b&gt;가 더 중요해지는 경우가 많습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;멀티스레딩에서 자주 막히는 문제&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;자바 멀티스레딩은 실행보다 공유 자원 관리가 더 어렵습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. Race Condition&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여러 스레드가 같은 데이터를 동시에 수정하면 결과가 엉킬 수 있습니다.&lt;/p&gt;
&lt;pre class=&quot;angelscript&quot;&gt;&lt;code&gt;class Counter {
    int count = 0;

    void increase() {
        count++;
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 코드는 단순해 보이지만, 여러 스레드가 동시에 &lt;code&gt;increase()&lt;/code&gt;를 호출하면 기대한 값보다 작게 나올 수 있습니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. Synchronization 문제&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 문제를 막기 위해 &lt;code&gt;synchronized&lt;/code&gt;를 사용할 수 있습니다.&lt;/p&gt;
&lt;pre class=&quot;angelscript&quot;&gt;&lt;code&gt;class Counter {
    int count = 0;

    synchronized void increase() {
        count++;
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 하면 동시에 한 스레드만 해당 메서드에 들어오게 할 수 있습니다. 하지만 무조건 많이 걸면 성능이 떨어질 수 있으므로 필요한 부분에만 써야 합니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. Deadlock&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;서로 다른 락을 잡은 두 스레드가 서로를 기다리면 프로그램이 멈춘 것처럼 보일 수 있습니다. 실무에서 정말 위험한 문제 중 하나입니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. 가시성(Visibility) 문제&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;한 스레드가 바꾼 값을 다른 스레드가 바로 보지 못하는 경우도 있습니다. 이때 &lt;code&gt;volatile&lt;/code&gt;, &lt;code&gt;synchronized&lt;/code&gt;, &lt;code&gt;java.util.concurrent&lt;/code&gt; 도구들이 중요해집니다.&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f97316; background: #fff7ed; border-radius: 14px; box-shadow: 0 6px 18px rgba(249,115,22,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;실무에서는 synchronized만으로 충분할까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;기본은 중요하지만, 실제 코드에서는 더 적합한 도구를 함께 봐야 합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실무에서는 단순히 &lt;code&gt;synchronized&lt;/code&gt;만 많이 붙인다고 좋은 코드가 되지 않습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 카운터 증가처럼 아주 단순한 공유 숫자라면 &lt;code&gt;AtomicInteger&lt;/code&gt;가 더 직관적일 수 있습니다.&lt;/p&gt;
&lt;pre class=&quot;arduino&quot;&gt;&lt;code&gt;import java.util.concurrent.atomic.AtomicInteger;

class Counter {
    private final AtomicInteger count = new AtomicInteger();

    void increase() {
        count.incrementAndGet();
    }

    int getCount() {
        return count.get();
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또 여러 스레드가 접근하는 맵 구조라면 일반 &lt;code&gt;HashMap&lt;/code&gt; 대신 &lt;code&gt;ConcurrentHashMap&lt;/code&gt;을 더 많이 고려합니다.&lt;/p&gt;
&lt;pre class=&quot;lasso&quot;&gt;&lt;code&gt;import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;

ConcurrentMap&amp;lt;String, Integer&amp;gt; cache = new ConcurrentHashMap&amp;lt;&amp;gt;();
cache.put(&quot;user:1&quot;, 100);
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 실무에서는&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;단일 임계구역이면 &lt;code&gt;synchronized&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;숫자 연산이면 &lt;code&gt;AtomicInteger&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;동시 접근 Map이면 &lt;code&gt;ConcurrentHashMap&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처럼 문제 성격에 따라 도구를 나눠 쓰는 경우가 많습니다.&lt;/p&gt;
&lt;div id=&quot;code_coupang_java_thread_3&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #8b5cf6; background: #f5f3ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(139,92,246,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;CPU Bound와 IO Bound를 구분해야 하는 이유&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;실무에서 스레드 수를 정할 때 가장 중요한 기준 중 하나입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모든 작업이 같은 방식으로 스레드를 써야 하는 것은 아닙니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;CPU Bound 작업&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;계산량이 많은 작업입니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이미지 처리&lt;/li&gt;
&lt;li&gt;복잡한 연산&lt;/li&gt;
&lt;li&gt;암호화&lt;/li&gt;
&lt;li&gt;대량 정렬/계산&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 작업은 CPU가 병목이므로 스레드를 너무 많이 늘리면 오히려 문맥 전환만 증가할 수 있습니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;IO Bound 작업&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대기 시간이 긴 작업입니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;DB 조회&lt;/li&gt;
&lt;li&gt;외부 API 호출&lt;/li&gt;
&lt;li&gt;파일 읽기/쓰기&lt;/li&gt;
&lt;li&gt;네트워크 요청&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 작업은 CPU보다 대기 시간이 길기 때문에, 적절한 수준의 병렬 처리가 더 유리할 수 있습니다.&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; color: #1d4ed8;&quot;&gt;작업 유형&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 32%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;병목&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 40%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;실무 관점&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;CPU Bound&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;CPU&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;스레드 수를 무작정 늘리면 비효율 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;IO Bound&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;대기 시간&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;적절한 병렬 처리로 응답성 개선 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 차이를 모르고 스레드풀을 잡으면, 시스템이 느린 이유를 잘못 판단하기 쉽습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;Spring 실무와 연결하면 어떻게 볼까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;자바 멀티스레딩 개념은 스프링에서도 그대로 이어집니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Spring Boot를 쓰면 개발자가 직접 &lt;code&gt;Thread&lt;/code&gt;를 만들지 않아도 멀티스레딩을 접하게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들면,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;웹 요청 처리 스레드&lt;/li&gt;
&lt;li&gt;&lt;code&gt;@Async&lt;/code&gt; 비동기 실행&lt;/li&gt;
&lt;li&gt;스케줄러 작업&lt;/li&gt;
&lt;li&gt;배치 병렬 처리&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가 대표적입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 &lt;code&gt;@Async&lt;/code&gt;는 실무에서 자주 등장합니다.&lt;/p&gt;
&lt;pre class=&quot;arduino&quot;&gt;&lt;code&gt;@Async
public void sendEmail(String email) {
    // 이메일 발송
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 여기서도 핵심은 어노테이션 자체보다, 뒤에서 어떤 스레드풀이 쓰이고 있는지입니다. 즉 스프링에서도 결국은 &lt;b&gt;스레드풀 설정, 예외 처리, 큐 관리&lt;/b&gt;를 같이 봐야 진짜 실무형 이해라고 할 수 있습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(245,158,11,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #92400e; margin-bottom: 10px;&quot;&gt;실무 체크리스트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;공유 자원이 있는지 먼저 확인&lt;/li&gt;
&lt;li&gt;단순히 동시에 실행된다고 안전한 것은 아님&lt;/li&gt;
&lt;li&gt;`Thread` 직접 생성보다 `ExecutorService` 우선 검토&lt;/li&gt;
&lt;li&gt;락 범위는 최소화&lt;/li&gt;
&lt;li&gt;스레드풀 크기, 큐, 타임아웃, 예외 처리까지 같이 설계&lt;/li&gt;
&lt;li&gt;CPU Bound / IO Bound 구분 없이 스레드 수를 잡지 않기&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #14b8a6; background: #f0fdfa; border-radius: 14px; box-shadow: 0 6px 18px rgba(20,184,166,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;자바에서 꼭 알아야 할 멀티스레딩 포인트&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;개념 이해에서 끝내지 말고, 코드 선택 기준까지 같이 알아야 합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;margin: 14px 0 22px; padding-left: 20px; line-height: 1.95; color: #334155;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Thread&lt;/b&gt;: 가장 기본적인 스레드 클래스지만 실무 기본 선택은 아님&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Runnable&lt;/b&gt;: 작업 로직 분리에 적합&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Callable&lt;/b&gt;: 반환값이 필요한 비동기 작업에 적합&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ExecutorService&lt;/b&gt;: 스레드 풀 관리에 사실상 표준&lt;/li&gt;
&lt;li&gt;&lt;b&gt;synchronized&lt;/b&gt;: 동기화 기본 키워드&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ConcurrentHashMap&lt;/b&gt;: 멀티스레드 환경에서 자주 쓰는 동시성 컬렉션&lt;/li&gt;
&lt;li&gt;&lt;b&gt;AtomicInteger&lt;/b&gt;: 단순 카운터 동시성 처리에 유용&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 서버 개발에서는 스레드를 &quot;만드는 법&quot;보다 &lt;b&gt;안전하게 공유 자원을 다루고 장애를 예측하는 법&lt;/b&gt;이 더 중요합니다.&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; color: #1d4ed8;&quot;&gt;상황&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 32%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;우선 떠올릴 도구&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 40%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;이유&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;단순 비동기 작업 실행&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;Runnable + ExecutorService&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;직접 스레드 관리보다 안정적&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;반환값이 필요한 비동기 작업&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;Callable / Future&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;결과값 수집 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;공유 자원 동기화&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;synchronized / Lock&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;동시 수정 충돌 방지&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;동시성 컬렉션 필요&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;ConcurrentHashMap&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;멀티스레드 접근에 더 적합&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(239,68,68,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #7f1d1d; margin-bottom: 10px;&quot;&gt;초보자가 꼭 체크할 포인트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;프로세스는 독립된 실행 환경, 스레드는 그 안의 실행 흐름&lt;/li&gt;
&lt;li&gt;스레드는 자원을 공유하므로 효율적이지만 위험도 함께 증가&lt;/li&gt;
&lt;li&gt;자바 프로그램은 `main` 스레드부터 시작&lt;/li&gt;
&lt;li&gt;멀티스레딩은 동시 실행 자체보다 동기화와 공유 자원 관리가 핵심&lt;/li&gt;
&lt;li&gt;실무에서는 `Thread` 직접 생성보다 `ExecutorService`가 더 자주 쓰임&lt;/li&gt;
&lt;li&gt;`synchronized`만 아는 것보다 `AtomicInteger`, `ConcurrentHashMap`, 스레드풀 운영 관점까지 같이 알아야 실무형 이해가 됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;FAQ&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 프로세스와 스레드 중 무엇이 더 가벼운가요?&lt;br /&gt;&amp;rarr; 일반적으로 스레드가 더 가볍습니다. 같은 프로세스 자원을 공유하기 때문에 생성과 전환 비용이 더 적은 편입니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 자바에서 멀티스레딩은 꼭 필요한가요?&lt;br /&gt;&amp;rarr; 모든 프로그램에 무조건 필요한 건 아닙니다. 하지만 서버 처리, 비동기 작업, 응답성 유지가 중요한 환경에서는 매우 자주 사용됩니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; `Thread`와 `Runnable` 중 무엇을 써야 하나요?&lt;br /&gt;&amp;rarr; 보통은 `Runnable` 또는 `ExecutorService` 방식이 더 유연합니다. `Thread` 상속은 학습용으로는 좋지만 실무 기본 선택은 아닙니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 멀티스레딩이면 무조건 성능이 좋아지나요?&lt;br /&gt;&amp;rarr; 아닙니다. 문맥 전환 비용, 락 경합, 디버깅 난이도 때문에 오히려 복잡해질 수도 있습니다. 작업 성격에 맞게 써야 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;결론&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;프로세스와 스레드의 차이를 이해해야 자바 멀티스레딩도 제대로 보입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프로세스와 스레드는 둘 다 동시에 실행되는 것처럼 보일 수 있지만, 구조적으로는 분명히 다릅니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;프로세스는 독립된 실행 단위&lt;/li&gt;
&lt;li&gt;스레드는 프로세스 내부 작업 흐름&lt;/li&gt;
&lt;li&gt;자바 멀티스레딩은 하나의 JVM 안에서 여러 흐름을 동시에 처리하는 방식&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 기준만 명확히 잡아도 &lt;code&gt;Thread&lt;/code&gt;, &lt;code&gt;Runnable&lt;/code&gt;, &lt;code&gt;ExecutorService&lt;/code&gt;, &lt;code&gt;synchronized&lt;/code&gt; 같은 자바 개념이 훨씬 자연스럽게 연결됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 실무에서는 멀티스레딩을 단순히 &quot;빨라지는 기술&quot;로 보면 부족합니다. &lt;b&gt;스레드풀을 어떻게 운영할지&lt;/b&gt;, &lt;b&gt;공유 자원을 어떻게 보호할지&lt;/b&gt;, &lt;b&gt;작업이 CPU Bound인지 IO Bound인지&lt;/b&gt;를 같이 봐야 실제 서비스에서 흔들리지 않습니다.&lt;/p&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;프로세스와 스레드의 차이를 정확히 이해하는 순간, 자바 멀티스레딩은 단순 문법이 아니라 구조&amp;middot;운영&amp;middot;설계의 문제로 보이기 시작합니다.&lt;/blockquote&gt;
&lt;div style=&quot;margin: 24px 0 0; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;관련 글 링크&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/java-collection-framework-list-set-map-guide&quot;&gt;자바 컬렉션 프레임워크 정리 | List, Set, Map 차이와 특징 한 번에 이해하기&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/java-useful-methods-string-list-map-stream-arrays-guide&quot;&gt;자바 자주 쓰는 메서드 정리 | String, List, Map, Stream 실무 예제 한 번에 보기&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/java-rest-api-restful-design&quot;&gt;[Java] REST API란? 자바로 이해하는 RESTful 설계 원칙&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #6b7280; font-size: 14px; line-height: 1.7; margin-top: 24px;&quot; data-ke-size=&quot;size16&quot;&gt;※ 이 글은 자바 입문자와 백엔드 초급 개발자가 프로세스&amp;middot;스레드&amp;middot;멀티스레딩 개념을 함께 잡기 위한 구조 이해형 가이드입니다. 다음 단계에서는 `synchronized`, `volatile`, `Lock`, `ExecutorService`, `CompletableFuture`까지 이어서 학습하면 훨씬 단단해집니다.&lt;/p&gt;</description>
      <category>IT/Java</category>
      <category>Java</category>
      <category>Process</category>
      <category>Thread</category>
      <category>동시성</category>
      <category>멀티스레드</category>
      <category>자바 멀티스레딩</category>
      <category>자바 스레드</category>
      <category>프로세스와 스레드 차이</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/115</guid>
      <comments>https://trace90.tistory.com/entry/java-process-thread-multithreading-guide#entry115comment</comments>
      <pubDate>Tue, 7 Apr 2026 23:02:24 +0900</pubDate>
    </item>
    <item>
      <title>자바 컬렉션 프레임워크 정리 | List, Set, Map 차이와 특징 한 번에 이해하기</title>
      <link>https://trace90.tistory.com/entry/java-collection-framework-list-set-map-guide</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;자바를 공부하다 보면 생각보다 빨리 마주치는 주제가 바로 컬렉션 프레임워크입니다. 데이터를 여러 개 저장해야 할 때 배열만으로는 불편한 경우가 많고, 그때부터 &lt;code&gt;List&lt;/code&gt;, &lt;code&gt;Set&lt;/code&gt;, &lt;code&gt;Map&lt;/code&gt; 같은 타입이 본격적으로 등장하기 때문입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문제는 여기서부터 시작됩니다. &lt;code&gt;List&lt;/code&gt;는 순서가 있다고 하고, &lt;code&gt;Set&lt;/code&gt;은 중복이 없다고 하고, &lt;code&gt;Map&lt;/code&gt;은 key와 value로 저장한다고 하는데, 막상 코드를 짤 때는 &lt;b&gt;언제 무엇을 써야 하는지&lt;/b&gt;, &lt;b&gt;ArrayList와 HashSet, HashMap은 어떤 차이인지&lt;/b&gt;, &lt;b&gt;실무에서 어떤 기준으로 선택하는지&lt;/b&gt;가 헷갈리기 쉽습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 이 글에서는 자바 컬렉션 프레임워크를 처음 보는 사람도 이해할 수 있게 &lt;b&gt;Collection Framework의 전체 구조&lt;/b&gt;부터, &lt;b&gt;List, Set, Map 차이&lt;/b&gt;, 그리고 &lt;b&gt;자주 헷갈리는 포인트와 선택 기준&lt;/b&gt;까지 한 번에 정리해보겠습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%); box-shadow: 0 10px 28px rgba(37,99,235,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;핵심 요약&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;Collection Framework&lt;/b&gt;는 여러 데이터를 더 편하게 저장&amp;middot;조회&amp;middot;관리하기 위한 자바 표준 구조입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;List&lt;/b&gt;는 순서가 있고 중복을 허용합니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Set&lt;/b&gt;은 중복을 허용하지 않으며, 중복 제거 용도로 자주 씁니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Map&lt;/b&gt;은 key-value 쌍으로 저장하며, 빠른 조회가 필요할 때 많이 씁니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;가장 중요한 결론&lt;/b&gt;은 문법 암기보다 데이터 성격에 따라 List, Set, Map을 구분해서 선택하는 것입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;자바 컬렉션 프레임워크란?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;배열보다 더 유연하게 여러 데이터를 다루기 위한 표준 도구 모음입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자바 컬렉션 프레임워크(Collection Framework)는 &lt;b&gt;여러 개의 데이터를 저장하고 다루기 위한 표준 API 집합&lt;/b&gt;입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;배열은 크기가 고정되어 있고, 중간 삽입&amp;middot;삭제가 불편하며, 중복 제거&amp;middot;검색&amp;middot;정렬 같은 작업도 직접 처리해야 하는 경우가 많습니다. 반면 컬렉션 프레임워크는 이런 작업을 더 편하게 할 수 있도록 다양한 인터페이스와 구현 클래스를 제공합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;쉽게 말하면 이렇게 이해하면 됩니다.&lt;/p&gt;
&lt;pre class=&quot;fix&quot;&gt;&lt;code&gt;배열 = 기본 저장 상자
컬렉션 프레임워크 = 상황에 맞는 저장 도구 세트
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;순서대로 데이터를 저장하고 싶으면 &lt;code&gt;List&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;중복 없이 저장하고 싶으면 &lt;code&gt;Set&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;이름으로 값을 찾아오고 싶으면 &lt;code&gt;Map&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;같이 목적에 따라 다른 구조를 선택할 수 있습니다.&lt;/p&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;컬렉션 프레임워크는 &quot;여러 데이터를 어떻게 저장하고 꺼낼지&quot;를 상황별로 나눠 제공하는 자바의 표준 자료구조 체계입니다.&lt;/blockquote&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;Collection Framework 구조 한눈에 보기&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;List, Set, Map이 어디에 속하는지 먼저 잡아두면 이해가 훨씬 쉬워집니다.&lt;/div&gt;
&lt;/div&gt;
&lt;pre class=&quot;dart&quot;&gt;&lt;code&gt;Iterable
  └─ Collection
      ├─ List
      │   ├─ ArrayList
      │   └─ LinkedList
      └─ Set
          ├─ HashSet
          └─ TreeSet

Map
  ├─ HashMap
  ├─ LinkedHashMap
  └─ TreeMap
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 중요한 점은 &lt;code&gt;Map&lt;/code&gt;은 &lt;code&gt;Collection&lt;/code&gt;을 상속하지 않는다는 점입니다. 많이 헷갈리는 포인트인데, &lt;code&gt;List&lt;/code&gt;와 &lt;code&gt;Set&lt;/code&gt;은 &lt;code&gt;Collection&lt;/code&gt; 계열이고, &lt;code&gt;Map&lt;/code&gt;은 key-value 저장을 위한 별도 계열이라고 보면 됩니다.&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 22%; text-align: left; color: #1d4ed8;&quot;&gt;구분&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 26%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;저장 방식&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 24%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;중복 허용&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;대표 사용 상황&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;List&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;값을 순서대로 저장&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;허용&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;목록, 순서 유지, 반복 처리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;Set&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;값 집합 저장&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;불가&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;중복 제거, 포함 여부 확인&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;Map&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;key-value 쌍 저장&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;key 중복 불가 / value 중복 가능&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;이름으로 값 조회, 캐시, 매핑&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_java_collection_1&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;List란? 순서가 있는 데이터 목록&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;가장 먼저 많이 쓰는 컬렉션이며, 배열과 가장 비슷하게 느껴집니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;List&lt;/code&gt;는 입력한 순서대로 데이터를 저장하고, 같은 값도 여러 번 넣을 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 댓글 목록, 상품 목록, 검색 결과 목록처럼 &lt;b&gt;순서가 중요하고 중복이 가능&lt;/b&gt;한 데이터는 &lt;code&gt;List&lt;/code&gt;가 잘 맞습니다.&lt;/p&gt;
&lt;pre class=&quot;processing&quot;&gt;&lt;code&gt;List&amp;lt;String&amp;gt; fruits = new ArrayList&amp;lt;&amp;gt;();
fruits.add(&quot;apple&quot;);
fruits.add(&quot;banana&quot;);
fruits.add(&quot;apple&quot;);

System.out.println(fruits); // [apple, banana, apple]
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 코드처럼 &lt;code&gt;apple&lt;/code&gt;이 두 번 들어가도 그대로 저장됩니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;대표 구현체: ArrayList와 LinkedList&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;ArrayList&lt;/code&gt;: 조회가 많고 가장 일반적으로 많이 사용&lt;/li&gt;
&lt;li&gt;&lt;code&gt;LinkedList&lt;/code&gt;: 중간 삽입/삭제가 잦을 때 고려하지만, 실무에서는 &lt;code&gt;ArrayList&lt;/code&gt;가 더 자주 선택됨&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;List를 쓰면 좋은 경우&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;데이터 입력 순서를 유지해야 할 때&lt;/li&gt;
&lt;li&gt;인덱스로 특정 위치에 접근해야 할 때&lt;/li&gt;
&lt;li&gt;같은 값이 여러 번 들어가도 괜찮을 때&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #0ea5e9; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(14,165,233,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;Set이란? 중복 없는 데이터 집합&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;값이 이미 있는지 확인하거나, 중복 제거할 때 자주 씁니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;Set&lt;/code&gt;은 중복된 값을 허용하지 않습니다. 순서보다 &lt;b&gt;&quot;같은 값이 있느냐 없느냐&quot;&lt;/b&gt;가 더 중요한 구조입니다.&lt;/p&gt;
&lt;pre class=&quot;pgsql&quot;&gt;&lt;code&gt;Set&amp;lt;String&amp;gt; fruits = new HashSet&amp;lt;&amp;gt;();
fruits.add(&quot;apple&quot;);
fruits.add(&quot;banana&quot;);
fruits.add(&quot;apple&quot;);

System.out.println(fruits); // [banana, apple]
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서는 &lt;code&gt;apple&lt;/code&gt;을 두 번 넣어도 한 번만 저장됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 경우에 많이 씁니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;중복 회원 ID 제거&lt;/li&gt;
&lt;li&gt;태그 목록 중복 제거&lt;/li&gt;
&lt;li&gt;특정 값 포함 여부 확인&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;대표 구현체: HashSet과 TreeSet&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;HashSet&lt;/code&gt;: 가장 일반적이고 빠르게 많이 사용&lt;/li&gt;
&lt;li&gt;&lt;code&gt;TreeSet&lt;/code&gt;: 정렬된 상태가 필요할 때 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;Set은 &quot;목록 저장&quot;보다 &quot;중복 제거&quot;와 &quot;존재 여부 확인&quot;에 더 잘 어울립니다.&lt;/blockquote&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #818cf8; background: #f5f7ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(129,140,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;Map이란? key로 value를 찾는 구조&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;이름표로 값을 찾는 느낌이라 조회 중심 로직에서 자주 등장합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;Map&lt;/code&gt;은 &lt;code&gt;key&lt;/code&gt;와 &lt;code&gt;value&lt;/code&gt;를 한 쌍으로 저장합니다. &lt;code&gt;List&lt;/code&gt;, &lt;code&gt;Set&lt;/code&gt;과 가장 큰 차이는 &lt;b&gt;값 자체를 순서대로 다루는 것보다, key를 통해 value를 찾는 구조&lt;/b&gt;라는 점입니다.&lt;/p&gt;
&lt;pre class=&quot;arduino&quot;&gt;&lt;code&gt;Map&amp;lt;String, Integer&amp;gt; scores = new HashMap&amp;lt;&amp;gt;();
scores.put(&quot;Kim&quot;, 90);
scores.put(&quot;Lee&quot;, 85);
scores.put(&quot;Park&quot;, 95);

System.out.println(scores.get(&quot;Kim&quot;)); // 90
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;회원 ID &amp;rarr; 회원 정보&lt;/li&gt;
&lt;li&gt;상품 코드 &amp;rarr; 상품 가격&lt;/li&gt;
&lt;li&gt;설정 이름 &amp;rarr; 설정 값&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처럼 이름이나 키로 바로 찾아야 하는 경우 &lt;code&gt;Map&lt;/code&gt;이 아주 자주 쓰입니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;대표 구현체: HashMap, LinkedHashMap, TreeMap&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;HashMap&lt;/code&gt;: 가장 일반적으로 많이 사용&lt;/li&gt;
&lt;li&gt;&lt;code&gt;LinkedHashMap&lt;/code&gt;: 입력 순서를 유지하고 싶을 때&lt;/li&gt;
&lt;li&gt;&lt;code&gt;TreeMap&lt;/code&gt;: key 기준 정렬이 필요할 때&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 24%; text-align: left; color: #1d4ed8;&quot;&gt;구현체&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 36%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;특징&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 40%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;언제 많이 쓰나&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;HashMap&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;순서 보장 없음, 빠른 조회&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;가장 기본 선택&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;LinkedHashMap&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;입력 순서 유지&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;순서 있는 key-value 출력&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;TreeMap&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;key 정렬 유지&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;정렬된 결과가 필요할 때&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_java_collection_2&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;List, Set, Map 차이 한 번에 정리&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;실전에서는 이 비교표를 기준으로 선택하면 훨씬 편합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 20%; text-align: left; color: #1d4ed8;&quot;&gt;항목&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 26%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;List&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 24%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;Set&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 30%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;Map&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;순서&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;있음&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;구현체에 따라 다름&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;구현체에 따라 다름&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;중복 값&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;허용&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;불가&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;key 중복 불가&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;조회 방식&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;인덱스&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;값 존재 여부&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;key로 value 조회&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;대표 용도&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;목록 처리&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;중복 제거&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;매핑, 캐시, 설정값 관리&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(245,158,11,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #92400e; margin-bottom: 10px;&quot;&gt;선택 기준 체크리스트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;순서가 중요하면 &lt;b&gt;List&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;중복 제거가 중요하면 &lt;b&gt;Set&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;이름이나 key로 빠르게 찾고 싶으면 &lt;b&gt;Map&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;일단 잘 모르겠으면 목록 저장은 보통 &lt;b&gt;ArrayList&lt;/b&gt;부터 시작&lt;/li&gt;
&lt;li&gt;key-value 구조가 보이면 거의 &lt;b&gt;HashMap&lt;/b&gt; 후보&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;실무에서 자주 막히는 포인트&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;문법보다 개념을 헷갈려서 잘못 선택하는 경우가 많습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. Map도 Collection이라고 착각하는 경우&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;많이 헷갈리지만 &lt;code&gt;Map&lt;/code&gt;은 &lt;code&gt;Collection&lt;/code&gt; 계열이 아닙니다. 그래서 &lt;code&gt;Collection&lt;/code&gt; 메서드와 완전히 같은 식으로 생각하면 안 됩니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 중복 제거가 필요한데 List를 계속 쓰는 경우&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;중복 제거가 핵심인데 &lt;code&gt;List&lt;/code&gt;에 넣고 나중에 직접 검사하면 코드가 지저분해집니다. 이럴 때는 처음부터 &lt;code&gt;Set&lt;/code&gt;을 고려하는 게 더 자연스럽습니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. key-value 구조인데 List로 억지로 관리하는 경우&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 사용자 ID로 사용자 정보를 찾는 상황이면 &lt;code&gt;List&amp;lt;User&amp;gt;&lt;/code&gt;를 순회하는 것보다 &lt;code&gt;Map&amp;lt;String, User&amp;gt;&lt;/code&gt;가 더 잘 맞을 수 있습니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. ArrayList와 LinkedList를 과하게 성능 비교하는 경우&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;입문 단계에서는 이론 성능표에 너무 매달리기보다, 대부분의 일반적인 상황에서 &lt;b&gt;&lt;code&gt;ArrayList&lt;/code&gt;가 기본 선택&lt;/b&gt;이라는 감각을 먼저 가져가는 편이 좋습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(239,68,68,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #7f1d1d; margin-bottom: 10px;&quot;&gt;초보자가 꼭 체크할 포인트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;`List`는 순서 O, 중복 O&lt;/li&gt;
&lt;li&gt;`Set`은 순서보다 중복 제거가 핵심&lt;/li&gt;
&lt;li&gt;`Map`은 key-value 구조이며 key 중복 불가&lt;/li&gt;
&lt;li&gt;`ArrayList`, `HashSet`, `HashMap`이 가장 먼저 익혀야 할 대표 구현체&lt;/li&gt;
&lt;li&gt;문법보다 데이터 성격을 보고 고르는 습관이 더 중요&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;FAQ&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; List, Set, Map 중 가장 먼저 공부할 것은 무엇인가요?&lt;br /&gt;&amp;rarr; 보통은 `List`부터 시작하고, 그다음 `Set`, `Map` 순서로 익히면 이해가 쉽습니다. 다만 실제로는 세 가지를 함께 비교하면서 보는 편이 더 효율적입니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; ArrayList와 LinkedList 중 무엇을 먼저 익혀야 하나요?&lt;br /&gt;&amp;rarr; 대부분은 `ArrayList`부터 익히면 됩니다. 일반적인 목록 처리에서는 `ArrayList`가 가장 자주 쓰입니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; HashSet은 순서가 있나요?&lt;br /&gt;&amp;rarr; 일반적으로 입력 순서를 보장하지 않습니다. 순서가 필요하면 `LinkedHashSet` 같은 다른 구현체를 고려해야 합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; Map도 for-each로 돌릴 수 있나요?&lt;br /&gt;&amp;rarr; 가능합니다. 다만 `Map` 자체를 직접 도는 게 아니라 `keySet()`, `values()`, `entrySet()` 같은 형태로 순회하는 경우가 많습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;결론&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;컬렉션 프레임워크는 외우는 과목이 아니라, 데이터 성격에 따라 선택하는 도구입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;자바 컬렉션 프레임워크를 이해할 때 가장 중요한 건 클래스 이름을 많이 외우는 것이 아닙니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;순서가 중요하면 &lt;code&gt;List&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;중복 제거가 중요하면 &lt;code&gt;Set&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;key-value 조회가 필요하면 &lt;code&gt;Map&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 기준만 확실히 잡아도 대부분의 입문 문제는 훨씬 쉽게 풀립니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 실제 코드에서는 &lt;code&gt;ArrayList&lt;/code&gt;, &lt;code&gt;HashSet&lt;/code&gt;, &lt;code&gt;HashMap&lt;/code&gt; 세 가지가 가장 자주 등장하므로, 먼저 이 세 가지를 중심으로 감을 잡는 것이 좋습니다.&lt;/p&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;자바 컬렉션 프레임워크는 &quot;무엇이 더 어렵냐&quot;보다 &quot;내 데이터에 어떤 구조가 맞느냐&quot;로 접근할 때 가장 빨리 이해됩니다.&lt;/blockquote&gt;
&lt;div style=&quot;margin: 24px 0 0; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;관련 글 링크&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/Java-String-vs-StringBuilder-vs-StringBuffer-%EB%B9%84%EA%B5%90&quot;&gt;[Java] String vs StringBuilder vs StringBuffer 비교&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/java-useful-methods-string-list-map-stream-arrays-guide&quot;&gt;자바 자주 쓰는 메서드 정리 | String, List, Map, Stream 실무 예제 한 번에 보기&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/Java-%EC%98%A4%EB%B2%84%EB%A1%9C%EB%94%A9-vs-%EC%98%A4%EB%B2%84%EB%9D%BC%EC%9D%B4%EB%94%A9-%EC%B0%A8%EC%9D%B4-%ED%95%9C-%EB%B2%88%EC%97%90-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0&quot;&gt;[Java] 오버로딩 vs 오버라이딩 차이 한 번에 이해하기&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #6b7280; font-size: 14px; line-height: 1.7; margin-top: 24px;&quot; data-ke-size=&quot;size16&quot;&gt;※ 이 글은 자바 컬렉션 프레임워크 입문자를 위한 구조 이해 중심 가이드입니다. 다음 단계에서는 `ArrayList`, `HashMap`, `Set 중복 제거`, `equals()/hashCode()`와의 관계까지 이어서 보면 이해가 더 단단해집니다.&lt;/p&gt;</description>
      <category>IT/Java</category>
      <category>ArrayList</category>
      <category>Collection Framework</category>
      <category>HashMap</category>
      <category>HashSet</category>
      <category>Java</category>
      <category>List Set Map 차이</category>
      <category>자바 자료구조</category>
      <category>컬렉션 프레임워크</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/114</guid>
      <comments>https://trace90.tistory.com/entry/java-collection-framework-list-set-map-guide#entry114comment</comments>
      <pubDate>Mon, 6 Apr 2026 23:45:06 +0900</pubDate>
    </item>
    <item>
      <title>React API 연동 방법 | Axios로 GET, POST 요청하고 화면에 출력하기</title>
      <link>https://trace90.tistory.com/entry/react-api-integration-axios-guide</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;React로 화면을 만들다 보면 결국 한 번은 API 연동에서 막히게 됩니다. 목록 데이터를 가져와서 화면에 뿌리는 GET 요청도 필요하고, 사용자가 입력한 값을 서버로 보내는 POST 요청도 필요하기 때문입니다. 그런데 처음에는 어디서 GET을 써야 하는지, POST는 어떻게 보내는지, 성공 후 화면은 어떻게 다시 갱신해야 하는지 흐름이 잘 안 잡히는 경우가 많습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;입문 예제에서는 &lt;code&gt;fetch&lt;/code&gt;를 많이 쓰지만, 실제 실무에서는 &lt;b&gt;&lt;code&gt;Axios&lt;/code&gt;를 더 자주 선택하는 경우가 많습니다.&lt;/b&gt; 기본 URL 관리, 요청/응답 공통 처리, 인터셉터, 타임아웃 설정 같은 부분을 한 곳에서 정리하기 더 편하기 때문입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 이 글에서는 단순히 &quot;데이터를 받아온다&quot; 수준에서 끝내지 않고, &lt;b&gt;React에서 Axios로 GET 요청과 POST 요청을 처리하는 기본 흐름&lt;/b&gt;, 그리고 &lt;b&gt;실무에서 자주 막히는 포인트&lt;/b&gt;까지 같이 정리해보겠습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%); box-shadow: 0 10px 28px rgba(37,99,235,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;핵심 요약&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;GET 요청&lt;/b&gt;은 서버에서 목록이나 상세 데이터를 받아와 화면에 보여줄 때 사용합니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;POST 요청&lt;/b&gt;은 사용자가 입력한 값을 서버에 저장하거나 등록할 때 사용합니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;구현 핵심&lt;/b&gt; GET은 보통 `useEffect`에서, POST는 보통 이벤트 핸들러에서 처리하면 구조가 깔끔합니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;가장 중요한 결론&lt;/b&gt; React API 연동은 GET, POST 문법만 아는 것보다 로딩&amp;middot;에러&amp;middot;화면 갱신 흐름까지 같이 이해해야 실무형 코드가 됩니다.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;React API 연동이란 무엇인가?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;서버 데이터를 받아오고 보내는 흐름을 화면 상태와 연결하는 과정입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;쉽게 말하면 React API 연동은 &lt;b&gt;브라우저 화면이 서버에 요청을 보내고, 서버 응답을 상태에 저장한 뒤, 그 결과를 사용자 화면에 반영하는 작업&lt;/b&gt;입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 게시글 목록을 불러올 때는 GET 요청을 보내고, 새 게시글을 등록할 때는 POST 요청을 보냅니다. 그래서 React에서는 보통 아래 두 흐름을 함께 이해해야 합니다.&lt;/p&gt;
&lt;pre class=&quot;pf&quot;&gt;&lt;code&gt;GET 요청 흐름
컴포넌트 렌더링
   &amp;darr;
API 요청 시작
   &amp;darr;
응답 수신
   &amp;darr;
state 저장
   &amp;darr;
화면 다시 렌더링
&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;properties&quot;&gt;&lt;code&gt;POST 요청 흐름
사용자 입력
   &amp;darr;
버튼 클릭 또는 폼 제출
   &amp;darr;
API 요청 시작
   &amp;darr;
응답 수신
   &amp;darr;
성공 메시지 / 목록 갱신 / 입력 초기화
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;React API 연동의 핵심은 서버와 화면 상태를 연결하는 것입니다. GET만 알아도 부족하고, POST 이후 화면을 어떻게 바꿀지도 같이 알아야 합니다.&lt;/blockquote&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;fetch와 Axios, 무엇이 다를까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;입문용과 실무용 관점에서 차이를 먼저 이해하면 선택이 쉬워집니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.85; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 24%; text-align: left; color: #1d4ed8;&quot;&gt;비교 항목&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 38%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;fetch&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 38%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;Axios&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;기본 제공 여부&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;브라우저 내장&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;별도 설치 필요&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;응답 처리&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;`response.json()` 직접 호출&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;`response.data`로 바로 접근 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;공통 설정 관리&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;직접 래핑해야 편함&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;baseURL, headers, timeout 관리가 편함&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;에러 처리&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;상태코드 직접 분기 필요&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;인터셉터와 공통 에러 처리에 유리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;실무 체감&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;작은 예제, 단발성 호출에 적합&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;여러 API를 관리하는 프로젝트에 더 편함&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정리하면 &lt;code&gt;fetch&lt;/code&gt;가 나쁘다는 뜻은 아닙니다. 다만 화면이 늘어나고, GET과 POST 요청이 많아지고, 로그인 토큰 처리나 공통 에러 처리가 필요해지면 &lt;b&gt;Axios 쪽이 구조를 잡기 더 편한 경우가 많습니다.&lt;/b&gt;&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;언제 Axios를 쓰면 좋을까?&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;여러 API 엔드포인트를 계속 호출해야 할 때&lt;/li&gt;
&lt;li&gt;공통 base URL과 headers를 한 번에 관리하고 싶을 때&lt;/li&gt;
&lt;li&gt;GET, POST, PUT, DELETE 요청을 일관된 방식으로 다루고 싶을 때&lt;/li&gt;
&lt;li&gt;401/500 에러를 공통으로 처리하고 싶을 때&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_react_api_1&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;Axios로 GET 요청 처리하기&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;목록 데이터를 받아와 화면에 출력하는 가장 기본적인 패턴입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. Axios 설치하기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 프로젝트에 Axios를 설치합니다.&lt;/p&gt;
&lt;pre class=&quot;cmake&quot;&gt;&lt;code&gt;npm install axios
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. GET 요청으로 목록 데이터 가져오기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래 예제는 테스트 API에서 게시글 목록을 받아와 화면에 출력하는 가장 기본적인 형태입니다.&lt;/p&gt;
&lt;pre class=&quot;javascript&quot;&gt;&lt;code&gt;import { useEffect, useState } from 'react';
import axios from 'axios';

function PostList() {
  const [posts, setPosts] = useState([]);
  const [loading, setLoading] = useState(true);
  const [error, setError] = useState('');

  useEffect(() =&amp;gt; {
    const fetchPosts = async () =&amp;gt; {
      try {
        const response = await axios.get('https://jsonplaceholder.typicode.com/posts');
        setPosts(response.data.slice(0, 5));
      } catch (err) {
        setError('데이터를 불러오지 못했습니다.');
      } finally {
        setLoading(false);
      }
    };

    fetchPosts();
  }, []);

  if (loading) return &amp;lt;p&amp;gt;로딩 중...&amp;lt;/p&amp;gt;;
  if (error) return &amp;lt;p&amp;gt;{error}&amp;lt;/p&amp;gt;;

  return (
    &amp;lt;ul&amp;gt;
      {posts.map((post) =&amp;gt; (
        &amp;lt;li key={post.id}&amp;gt;{post.title}&amp;lt;/li&amp;gt;
      ))}
    &amp;lt;/ul&amp;gt;
  );
}

export default PostList;
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 코드는 구조가 단순하지만, 실무에서 필요한 핵심이 다 들어 있습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;컴포넌트가 처음 렌더링될 때 GET 요청 실행&lt;/li&gt;
&lt;li&gt;로딩 상태 분리&lt;/li&gt;
&lt;li&gt;에러 상태 분리&lt;/li&gt;
&lt;li&gt;성공 시 받은 데이터 저장&lt;/li&gt;
&lt;li&gt;&lt;code&gt;map()&lt;/code&gt;으로 화면 출력&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. GET 요청 흐름을 눈으로 이해하기&lt;/h3&gt;
&lt;pre class=&quot;isbl&quot;&gt;&lt;code&gt;처음 렌더링
   &amp;darr;
useEffect 실행
   &amp;darr;
axios.get 요청
   &amp;darr;
성공: setPosts(response.data)
실패: setError(...)
   &amp;darr;
loading false 처리
   &amp;darr;
화면 다시 렌더링
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;GET 요청은 보통 화면 진입 시 데이터를 보여줘야 하므로 `useEffect` 안에서 처리하는 경우가 많습니다.&lt;/blockquote&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #0ea5e9; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(14,165,233,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;Axios로 POST 요청 처리하기&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;사용자 입력값을 서버로 보내는 기본 패턴입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. POST 요청은 보통 이벤트에서 보낸다&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;POST 요청은 화면이 열리자마자 자동으로 보내는 경우보다, 사용자가 버튼을 누르거나 폼을 제출했을 때 실행하는 경우가 많습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래 예제는 제목과 내용을 입력받아 서버로 전송하는 기본 형태입니다.&lt;/p&gt;
&lt;pre class=&quot;livescript&quot;&gt;&lt;code&gt;import { useState } from 'react';
import axios from 'axios';

function PostForm() {
  const [title, setTitle] = useState('');
  const [body, setBody] = useState('');
  const [message, setMessage] = useState('');

  const handleSubmit = async (e) =&amp;gt; {
    e.preventDefault();

    try {
      const response = await axios.post('https://jsonplaceholder.typicode.com/posts', {
        title,
        body,
        userId: 1,
      });

      console.log(response.data);
      setMessage('등록이 완료되었습니다.');
      setTitle('');
      setBody('');
    } catch (err) {
      setMessage('등록에 실패했습니다.');
    }
  };

  return (
    &amp;lt;form onSubmit={handleSubmit}&amp;gt;
      &amp;lt;input
        type=&quot;text&quot;
        value={title}
        onChange={(e) =&amp;gt; setTitle(e.target.value)}
        placeholder=&quot;제목 입력&quot;
      /&amp;gt;
      &amp;lt;textarea
        value={body}
        onChange={(e) =&amp;gt; setBody(e.target.value)}
        placeholder=&quot;내용 입력&quot;
      /&amp;gt;
      &amp;lt;button type=&quot;submit&quot;&amp;gt;등록&amp;lt;/button&amp;gt;
      &amp;lt;p&amp;gt;{message}&amp;lt;/p&amp;gt;
    &amp;lt;/form&amp;gt;
  );
}

export default PostForm;
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. POST 요청 후 무엇을 해야 할까?&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;POST 요청은 서버에 데이터를 보내는 것에서 끝나지 않습니다. 성공한 뒤 화면을 어떻게 바꿀지도 중요합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보통은 아래 중 하나를 같이 처리합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;성공 메시지 출력&lt;/li&gt;
&lt;li&gt;입력창 초기화&lt;/li&gt;
&lt;li&gt;목록 다시 조회&lt;/li&gt;
&lt;li&gt;상세 페이지 이동&lt;/li&gt;
&lt;li&gt;모달 닫기&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 실무에서는 &lt;b&gt;POST 성공 이후의 UI 반응까지 포함해서 구현해야 진짜 완료&lt;/b&gt;라고 볼 수 있습니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. GET과 POST를 같이 쓰는 흐름&lt;/h3&gt;
&lt;pre class=&quot;properties&quot;&gt;&lt;code&gt;처음 진입
   &amp;darr;
GET 요청으로 목록 조회
   &amp;darr;
사용자 입력
   &amp;darr;
POST 요청으로 데이터 등록
   &amp;darr;
성공 후 목록 재조회 또는 화면 갱신
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 패턴은 게시판, 댓글, 할 일 목록, 관리자 화면처럼 거의 모든 CRUD 화면의 기본 뼈대가 됩니다.&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;자주 막히는 포인트 / 문제해결&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;React API 연동은 문법보다 상태 관리와 요청 시점에서 더 자주 막힙니다.&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;문제 1. API는 호출했는데 화면이 안 바뀌는 경우&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이럴 때는 보통 &lt;code&gt;setState&lt;/code&gt;가 안 되는 게 아니라, &lt;b&gt;렌더링할 때 참조하는 데이터 구조를 잘못 본 경우&lt;/b&gt;가 많습니다. 예를 들어 &lt;code&gt;response.data&lt;/code&gt;가 배열인지 객체인지 먼저 확인해야 합니다.&lt;/p&gt;
&lt;pre class=&quot;css&quot;&gt;&lt;code&gt;console.log(response.data);
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;응답 구조를 확인하지 않고 바로 &lt;code&gt;map()&lt;/code&gt;을 돌리면 &lt;code&gt;posts.map is not a function&lt;/code&gt; 같은 오류가 자주 납니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;문제 2. 무한 호출이 발생하는 경우&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;useEffect&lt;/code&gt;의 의존성 배열을 잘못 넣으면 GET 요청이 계속 반복 호출될 수 있습니다.&lt;/p&gt;
&lt;pre class=&quot;coffeescript&quot;&gt;&lt;code&gt;useEffect(() =&amp;gt; {
  fetchPosts();
}, []);
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음 한 번만 호출하려면 보통 빈 배열 &lt;code&gt;[]&lt;/code&gt;을 사용합니다. 반대로 검색어, 페이지 번호 같은 값이 바뀔 때마다 재호출해야 한다면 어떤 값이 의존성인지 명확하게 관리해야 합니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;문제 3. POST는 성공했는데 목록이 그대로인 경우&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이건 정말 자주 나옵니다. 서버에는 저장됐는데 화면은 예전 목록 그대로라서 사용자가 실패한 줄 아는 경우입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이럴 때는 POST 성공 뒤 아래 중 하나를 해줘야 합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;GET 요청을 다시 호출해서 목록 재조회&lt;/li&gt;
&lt;li&gt;기존 state에 새 데이터를 직접 추가&lt;/li&gt;
&lt;li&gt;상세 페이지 또는 완료 화면으로 이동&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 POST는 요청 성공만 확인할 게 아니라 &lt;b&gt;성공 이후 화면 갱신 전략&lt;/b&gt;까지 같이 설계해야 합니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;문제 4. CORS 에러가 나는 경우&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이건 React 문제가 아니라 &lt;b&gt;브라우저 보안 정책과 서버 설정 문제&lt;/b&gt;인 경우가 많습니다. 프론트에서 아무리 코드를 바꿔도, 서버가 허용하지 않으면 요청이 막힐 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 API 연동이 안 될 때는 프론트 코드만 볼 게 아니라 아래도 같이 봐야 합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;API 서버의 CORS 허용 설정&lt;/li&gt;
&lt;li&gt;요청 주소가 맞는지&lt;/li&gt;
&lt;li&gt;프록시 설정이 필요한지&lt;/li&gt;
&lt;li&gt;인증 토큰이 필요한지&lt;/li&gt;
&lt;li&gt;POST 요청이라면 Content-Type이 맞는지&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;문제 5. 매번 URL을 직접 적어서 관리가 지저분해지는 경우&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실무에서는 API가 하나가 아니라 여러 개라서 매번 &lt;code&gt;axios.get('https://...')&lt;/code&gt;, &lt;code&gt;axios.post('https://...')&lt;/code&gt;를 흩어 써두면 관리가 빠르게 불편해집니다. 이런 경우 Axios 인스턴스를 분리해두면 훨씬 낫습니다.&lt;/p&gt;
&lt;pre class=&quot;javascript&quot;&gt;&lt;code&gt;import axios from 'axios';

export const api = axios.create({
  baseURL: 'https://jsonplaceholder.typicode.com',
  timeout: 5000,
  headers: {
    'Content-Type': 'application/json',
  },
});
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그다음 컴포넌트에서는 더 짧게 사용할 수 있습니다.&lt;/p&gt;
&lt;pre class=&quot;cs&quot;&gt;&lt;code&gt;const postsResponse = await api.get('/posts');
const createResponse = await api.post('/posts', {
  title: '새 글',
  body: '내용',
  userId: 1,
});
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(245,158,11,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #92400e; margin-bottom: 10px;&quot;&gt;설정/확인 체크리스트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;`axios` 설치가 정상적으로 되었는지 확인&lt;/li&gt;
&lt;li&gt;GET 요청은 `useEffect`, POST 요청은 이벤트 핸들러에 적절히 배치했는지 확인&lt;/li&gt;
&lt;li&gt;`response.data` 구조가 배열인지 객체인지 먼저 확인&lt;/li&gt;
&lt;li&gt;로딩 상태와 에러 상태를 분리했는지 확인&lt;/li&gt;
&lt;li&gt;POST 성공 후 목록 갱신이나 입력 초기화가 필요한지 확인&lt;/li&gt;
&lt;li&gt;CORS, 토큰, 프록시, Content-Type 같은 연동 조건도 함께 확인&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_react_api_2&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;실무 포인트&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;GET과 POST를 따로 외우기보다 역할 차이와 호출 위치를 같이 기억하는 편이 좋습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;GET은 보통 목록 조회, 상세 조회처럼 화면에 데이터를 보여줄 때 많이 씁니다.&lt;/li&gt;
&lt;li&gt;POST는 등록, 작성, 생성처럼 서버에 새 데이터를 보낼 때 많이 씁니다.&lt;/li&gt;
&lt;li&gt;같은 API를 여러 화면에서 재사용한다면 Axios 인스턴스와 API 함수 파일을 분리하는 편이 좋습니다.&lt;/li&gt;
&lt;li&gt;데이터 캐싱, 재요청, stale 관리까지 필요해지면 이후에는 TanStack Query 같은 도구를 검토하는 경우가 많습니다.&lt;/li&gt;
&lt;li&gt;하지만 입문 단계에서는 도구를 늘리기보다 &lt;b&gt;GET으로 가져오기 &amp;rarr; POST로 보내기 &amp;rarr; 성공 후 화면 갱신&lt;/b&gt; 흐름을 먼저 제대로 이해하는 게 더 중요합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(239,68,68,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #7f1d1d; margin-bottom: 10px;&quot;&gt;초보자가 꼭 체크할 포인트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;GET은 데이터를 가져오는 요청, POST는 데이터를 등록하는 요청으로 먼저 구분하면 이해가 쉽습니다.&lt;/li&gt;
&lt;li&gt;GET 요청은 보통 `useEffect`에서, POST 요청은 `onClick`이나 `onSubmit` 같은 이벤트에서 처리합니다.&lt;/li&gt;
&lt;li&gt;POST 성공 후에도 화면이 자동으로 바뀌지 않을 수 있으니 목록 재조회나 state 갱신이 필요합니다.&lt;/li&gt;
&lt;li&gt;CORS 에러는 프론트 문법 문제가 아니라 서버 허용 설정 문제일 가능성이 큽니다.&lt;/li&gt;
&lt;li&gt;실무에서는 공통 URL, 토큰, 에러 처리를 위해 Axios를 선호하는 경우가 많습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;FAQ&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; React API 연동은 꼭 Axios로 해야 하나요?&lt;br /&gt;&amp;rarr; 꼭 그렇지는 않습니다. 작은 예제는 fetch로도 충분합니다. 다만 실무에서는 GET, POST 요청이 많아지고 공통 설정이 필요해지기 때문에 Axios가 더 편한 경우가 많습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; GET 요청과 POST 요청은 어디서 실행하는 게 좋나요?&lt;br /&gt;&amp;rarr; 보통 GET 요청은 화면 진입 시 데이터가 필요하므로 `useEffect`에서 처리하고, POST 요청은 사용자 입력 후 버튼 클릭이나 폼 제출 이벤트에서 처리합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; POST는 성공했는데 화면 목록이 그대로입니다.&lt;br /&gt;&amp;rarr; 서버 저장과 화면 갱신은 별개입니다. POST 성공 후 GET 재호출, state 직접 추가, 페이지 이동 같은 후속 처리가 필요합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; Axios 다음 단계로 많이 보는 도구는 무엇인가요?&lt;br /&gt;&amp;rarr; 데이터 캐싱과 재요청 관리가 중요해지면 TanStack Query를 함께 쓰는 경우가 많습니다. 다만 먼저 Axios 기본 흐름부터 익히는 편이 좋습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;결론&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;React API 연동은 GET과 POST를 각각의 역할에 맞게 쓰고, 화면 반영까지 연결해야 완성됩니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;React에서 API를 연동할 때 핵심은 어렵지 않습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;GET으로 데이터를 받아오고&lt;/li&gt;
&lt;li&gt;POST로 데이터를 보내고&lt;/li&gt;
&lt;li&gt;로딩과 에러를 나눠서 처리하고&lt;/li&gt;
&lt;li&gt;성공 후 화면을 다시 맞게 갱신하면 됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그런데 실제 프로젝트에서는 이 흐름이 반복되기 때문에, &lt;b&gt;공통 설정과 관리가 쉬운 Axios&lt;/b&gt;를 많이 선택하게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 이번 단계에서는 &lt;code&gt;GET + POST + 화면 갱신&lt;/code&gt; 패턴을 먼저 익히고, 프로젝트가 커지면 Axios 인스턴스 분리나 TanStack Query까지 확장해나가면 됩니다.&lt;/p&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;React API 연동은 GET, POST 요청 문법을 외우는 것보다 요청 시점과 성공 후 화면 변화까지 같이 설계하는 순간부터 실무형 코드가 됩니다.&lt;/blockquote&gt;
&lt;div style=&quot;margin: 24px 0 0; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;관련 글 링크&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/react-install-development-environment-setup-guide&quot;&gt;React 설치 및 개발환경 세팅 방법 | Node.js 설치부터 프로젝트 생성까지&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/react-jsx-syntax-conditional-rendering-list-guide&quot;&gt;React JSX 문법 정리 | 기본 문법, 조건부 렌더링, 리스트 렌더링까지&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/react-useeffect-dependency-array-guide&quot;&gt;React useEffect 사용법 정리 | 실행 시점, 의존성 배열, API 호출까지&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #6b7280; font-size: 14px; line-height: 1.7; margin-top: 24px;&quot; data-ke-size=&quot;size16&quot;&gt;※ 이 글은 React 입문자 기준으로 GET 요청과 POST 요청 흐름을 함께 이해하기 위한 가이드입니다. 실제 운영 환경에서는 인증 토큰, 공통 에러 처리, 환경변수 분리, 캐싱 전략까지 함께 설계하면 더 안정적인 구조로 확장할 수 있습니다.&lt;/p&gt;</description>
      <category>Front/React</category>
      <category>API 호출</category>
      <category>axios</category>
      <category>react</category>
      <category>React API 연동</category>
      <category>React GET 요청</category>
      <category>React POST 요청</category>
      <category>react useEffect</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/112</guid>
      <comments>https://trace90.tistory.com/entry/react-api-integration-axios-guide#entry112comment</comments>
      <pubDate>Mon, 6 Apr 2026 23:00:44 +0900</pubDate>
    </item>
    <item>
      <title>Jenkins 설치 및 초기 설정 따라하기 | Ubuntu 설치부터 첫 빌드 확인까지 순서대로 정리</title>
      <link>https://trace90.tistory.com/entry/jenkins-install-initial-setup-git-build-guide</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;젠킨스를 처음 설치할 때 가장 어려운 부분은 명령어 자체보다 &lt;b&gt;설치 후 웹 화면에서 무엇을 순서대로 눌러야 하는지&lt;/b&gt;입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 초보자는 &lt;code&gt;Unlock Jenkins&lt;/code&gt; 화면, 초기 비밀번호 확인, 플러그인 설치, 관리자 계정 생성, 새 Job 만들기, 첫 빌드 로그 확인까지 흐름이 한 번에 안 잡히는 경우가 많습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 이번 글은 개념 설명을 길게 늘어놓기보다, &lt;b&gt;Ubuntu 서버에 Jenkins를 설치하고 웹 화면에서 첫 빌드 확인까지 가는 실제 순서&lt;/b&gt;만 따라가기 쉽게 정리하겠습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;진행 기준 환경: Ubuntu 서버&lt;/li&gt;
&lt;li&gt;목표: Jenkins 설치 후 웹 접속 + 첫 빌드 로그 확인&lt;/li&gt;
&lt;li&gt;읽는 방법: 위에서 아래로 그대로 따라 하면 됨&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%); box-shadow: 0 10px 28px rgba(37,99,235,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;이번 글의 실제 흐름&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;1단계&lt;/b&gt; Ubuntu에 JDK와 Jenkins 설치&lt;/div&gt;
&lt;div&gt;&lt;b&gt;2단계&lt;/b&gt; 브라우저에서 Unlock Jenkins 화면 확인&lt;/div&gt;
&lt;div&gt;&lt;b&gt;3단계&lt;/b&gt; 초기 비밀번호 확인 후 관리자 설정 진행&lt;/div&gt;
&lt;div&gt;&lt;b&gt;4단계&lt;/b&gt; New Item으로 첫 Job 생성&lt;/div&gt;
&lt;div&gt;&lt;b&gt;마지막&lt;/b&gt; Console Output에서 빌드 성공 여부 확인&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;1. Ubuntu 서버에 Jenkins 설치하기&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;이 단계는 터미널에서 그대로 실행하면 됩니다&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 Ubuntu 서버에 접속한 뒤 JDK를 설치합니다.&lt;/p&gt;
&lt;pre class=&quot;sql&quot;&gt;&lt;code&gt;sudo apt update
sudo apt install -y fontconfig openjdk-17-jre
java -version
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정상이라면 Java 버전이 출력됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 Jenkins 저장소를 추가합니다.&lt;/p&gt;
&lt;pre class=&quot;groovy&quot;&gt;&lt;code&gt;curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key | sudo tee \
  /usr/share/keyrings/jenkins-keyring.asc &amp;gt; /dev/null
&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;awk&quot;&gt;&lt;code&gt;echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
  https://pkg.jenkins.io/debian-stable binary/ | sudo tee \
  /etc/apt/sources.list.d/jenkins.list &amp;gt; /dev/null
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그다음 Jenkins를 설치합니다.&lt;/p&gt;
&lt;pre class=&quot;mipsasm&quot;&gt;&lt;code&gt;sudo apt update
sudo apt install -y jenkins
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설치가 끝나면 Jenkins 서비스를 시작합니다.&lt;/p&gt;
&lt;pre class=&quot;mipsasm&quot;&gt;&lt;code&gt;sudo systemctl enable jenkins
sudo systemctl start jenkins
sudo systemctl status jenkins
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 &lt;code&gt;active (running)&lt;/code&gt; 상태가 보이면 정상입니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(245,158,11,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #92400e; margin-bottom: 10px;&quot;&gt;여기서 먼저 확인할 것&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Java가 설치됐는지 &lt;code&gt;java -version&lt;/code&gt;으로 확인&lt;/li&gt;
&lt;li&gt;Jenkins 서비스가 올라왔는지 &lt;code&gt;systemctl status jenkins&lt;/code&gt;로 확인&lt;/li&gt;
&lt;li&gt;8080 포트가 열려 있는지 확인&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;2. 브라우저에서 Unlock Jenkins 화면 확인&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;설치가 끝났다면 가장 먼저 이 화면이 떠야 합니다&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;브라우저에서 아래 주소로 접속합니다.&lt;/p&gt;
&lt;pre class=&quot;dts&quot;&gt;&lt;code&gt;http://서버IP:8080
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음 접속하면 Jenkins가 바로 대시보드를 보여주는 게 아니라, &lt;b&gt;Unlock Jenkins&lt;/b&gt; 화면을 먼저 보여줍니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 26px;&quot;&gt;&lt;img style=&quot;width: 100%; border: 1px solid #dbeafe; border-radius: 18px; box-shadow: 0 12px 30px rgba(15,23,42,0.08);&quot; src=&quot;data:image/png;base64,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Q0+gX/3jH/+Y9/77PXr2OProY3TELg09e/bsyy67TI65j3zkI4IpspQ6C/Cxxx+///77sfHf+c53PvrRj44dO1ZR7f/73//wJQFt+vTtC32innzDDTeQ8pZbbqlefeedd8oek9ujjzpKW7HpdGv8qlddddU777zz5z//GcB95plnzpw5c9q0aeRTW56ou/IIF++44w58W+Rq3333PeaYY6J4CbcDAYzQW2+9FWM+b/78vffe+9hjjw1tn/zrX/9Kfhi5b7/9Nlhq//33//jHP664Y8YIZaRcP/zhD/kkY88+99wXvvCFbt26cQOj+/LLL+cTOHX00UcffvjhqhA4quuuu46L5JbM8KKcjQgWIpQGwDV27733BvbwUWrsqKOOUkFmzZrF8CRNktp7r72OOvpoKo0E8aOdcvLJ111/PXk466yzSPmII44I7IyFlOGHhgwZAjSkODQEuoXrAwYM+NxnPwt4AvTw+Kc+9al//etfVNpFF1304IMPUuRBgwYJ4gRr70AoL146maTPOeecLbbYIuiMoo03mD4ecsghTzzxxNlnn43uQyOglS699NKddtrp3HPPPeCAA9CMaDTuEYYQnT548GCUyO133IFa2WGHHVBeU6dOvfHGG9Hs6BoUH6ofyMJT3Ix6vfOOO+KmDkoAABAASURBVM7/yld22WWXPr17X/rnP5NsbU1NkNiGaNy4cdjj7bbbbvmyZZddfvmuu+zy2c9+lnSef/55qT/QDAr6F7/4BQYAJThw4MAH7r//tttvP++881KtNzB95plnhgwZPGLLrfBa4NQY/8aEmtou49944w2QTc8eqQwYIxOmmSnmJ7w58blx43JVud69+jKve/PNKS+++JJZaRWUevfuCV9i8Uq6ZJYTB8+MG/fu1Kl9+g/gCpmeNHmyMRK1tSCGlmL0+JNPDdpi2LL6xjcnTcLu3nPfA1tuuTXWGhX8wEMPz54zp1ev3qGJF8IKlpqaW5pbCjNnz+nas+eyhuZULvPUM88P7DfAsBXZ8N3pcwAtS5Yu4x+G/6GHH5kzZ2637t271NbkASSpzLQZM58d9/zy+oYu3bpnciCw0tx585hWP/Pcc5lcVZcu3YBN41585fmXX+vVp489ig+gYjitufOXjHvhlRmz5lRlmOibmTeYacLEiS+//Erv3n2qq6pNRJNtE5w+UEnjXnhx7tz3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2alCjT1OhCJd+Z//kBoPTp8+nZwLS1HV3HbVVVdp6nLttdf++Cc/UWGZBSnkH/pH+YF9ISe8ZYsttpCri3t4+9/+9jeuU/+PP/746aefXm8bgvspS2C9eKgkNACZFGZNxTsjB17WqoSxBF42ZenMq6kLln7XZBQdNO6559DCRx55JEAEKpjp0e23346y2Gqrrc4880yUl3Q6ak7Poq0GDBgA0EF9b7vNNkZNR9Ho0aNFkHDbG6+/Dj0u3phEII1JjankGWecsfvuuwd2kBjCplhsbGpasHAhVoTb0I9w0czP/v3vfwN6th41CmWtKSZJbb311nfddRcvxemON50v5557bhDvPVpe8BlEgJJdd93FGLMwhTnccYftsMdYjAj/ULEwZMDAui5ds7mqcc89/dabE7HJOIayGbwlQe9efZ5/7ulSvmFAv95VuSyT/3xLftTWWy9ZvGTc889PeOOtLl1q995zD2z5wAH9Z0yb/vijj0ye9C7pL128aO89dmtuWA4yGDFsRC4bNjY29evbe9HC+a+8/NLbEyfC8fTv0wuHDkAkpX3hotLwYVssXrRot912igw7AuWRHzt6K3w4+Nu4LSq0bDFkSFNjM46VxYsWbrHF0O7dqgcP6D/u2afenvjGjGlTdthm7KC+/YA4qWJpcP8BmTCdS4d9e/dEy7/84guvvz6+OhNuv82o6nQIooI7MRY7U4Un58knHu0N39Kz5+hRo15++aWXX35x/rz3Tzn543ijsDDQJZm0JZnqG5k0D+zfH66I9iXZEcOHchEj2K9vP7OVblRY+P6cwQMGVFfXbLXllm+/9ebrr7w6fcrUvXbfvV+fPr169kqH9jjIsFS/bBkpDBw4mAv4BO+47faqbA4mrJgvvv3W2w31y0cM36Klpdma+ejll17C78D83sU2Rfb09MOPOIKOASeH4QRSH3300aTJl4ULFmAdx4wZI9cD37FwuCNxOnAF6u7RRx+97777YAhO/vjHR48Z07dvXwW06kxTzfWpjXvuuQeXB++FBcHE0r016SdXvHGXXXbhy9y5cwFSpDBkyBB67A033EDHhkRh4GCAXehYeau9QmHe/Pk777yzISCDAPcolCTeluVmo516CA9yyEgB+jCIbr75ZrsRwJBzzj6bSYJmC44HHTt2LKW49dZbGRS4bw468MCUtfQgD9Ae0wmVwhCcqRRZFdGiHVMYAj179ABzgORwq8GJMnyYD2j2QvoUatgWW/QfMAD+g4Lw66OPPPK/m27iWUar9o+RV45XAIZ69e593XXXMfqeefrpvffZ56STThJSoWiQKGAa8AeY4+tf/3pg6bHJkyfvt99+2p8msJgJTQLvxXgnNTmDSIE615Y/PE65fvazn6F2uH/atGnoBE14YGXBVVpNnUkcduFtrRcvlRJidBl7QWcUubS1+MIdCpO3YYCCIKKs0zbGwcEdETNuoaagjKIjXZyBcxg5d5LUOvpRYb9uMbZZ62FJYBMEYMPxRK3r7YoekN5U3EAQb4TKDcxKmVJjQgLrhErZs52NS6tU/PWvfv6Fc8/r3rNXAc9Rtsruhp/SLvXWVWH2q43SKbPLPixKqtTclO9aW2e2TbP/sqZYDTmwV5Qt5EvpbKYpX0plUo0tfDe0HAxKvhDZwJGmXFW1ifYoRZAvhZZCLpsxzE9ULJnt4lLkpsnMg6sop6EhisYFYyJlw1TeltzsCgz/nwrTBheapTl11cyqC3zJZXNcYQ7e0NjMW1JwSIGtXruZClAAwJGyZwrwPlxlLc15cFgxFVA6zFcml8KYZ1OlXMpEkZhdXqJMcyldSmXrG5Z3715XsDG2eRsLSRGATSltp2fgVJqaoAymcXNpeyaDOfcgk00Zl1PaBC+bCAw4GXNgAJWTK5QiEBLeg1wWVGr2tTPFzZfMzoJmE76gWArtIQNmU7tcxuwf6EgaKgCeyvxsgmBa/vnPfwI7gCAyUXa7YNw9ZhNhupBZPB+G2k9I3bIYHzQtWhHbJqeMEG3KbjytPXOxptwvv4Zifl00qLwwJcXYxqdTOZeoqD5FcpiwGK5b/4v2r4NBzNllMm1CSkMTW53X+HL5EWjAy6aD0+VUcqQ9uaKM1Warnqi8XZIVt2+vYlo10AKLrlwEm3IoUiptj552cff6JGVwQxjvgq1n5flKhs5E8ZHa2tpYNBXvNTspWOWgMCMqE2ilNAWY7G7RTUo2ZxcJBna24zLpAof5IvUiAkY6xDA9tkdQTMUbpeJtu/W49v4uxbv8hfE5GH4t0tqSsnfVI8JOIZ08Dka6W/hA+AP1hILQvuxCG2Y/NKvZUTRyqwd2X3axyo3WYy16RmkqRiFlz3qU1kvF+5QHVlul4uBEzf/c+guz0jKOCDZhhtYa6dkWK3wnYxdddJF2p2BayVTvggsuKCaOVdLCpFwuyyT1O9/5DmbNRgiXgFdpzGRgIj6YKpIb3CCYdfR0VcY4fXAJYTjxicAZZDMmnAL0ENiIDaiZ5qaWHMa2FNQZFGH8KS1NBegNnDLdaquBNFVpvCTwEYVsJtXS3GTsdamIsUpbNyQuoOp0phpGBxUPnZI2RxCQWRPQipHIgkJKWXtndSYNfCm0NMEd4bDAtGcNGYK9T5tQnnwBMEANtjQ11AD+SkWygFMG4CanT64qS47hWsAw5Cprs8o9UdGufYoCwFBVNoM3DddPvrmFbAO0aIYuZo1RREbs28xKVXMSgjkyoVBjbrLO1KhIUQvNAE0TmgP2NK/AodbSUluVa6pfVpVO4R3rUp0GfdXkgnxzc9qePEArmChjgDLFBZCFQVUGZEPBbZByJlBXkRuRTMJD4OCAUDEEjO2iBrLYeJDQrq4HK5ht/i0O0KnL+iKEjU1VQFUpPotRVIRO7NKcXg4Rt+9+aDfyb7aBX3TCtB0RYbwdixsvCssNLGjIx/uskE6t2dUwrT4cJvaGVocUmneuKEEKbqiyp6Jq/pC2wSuMCAGIWjugDLawOSy7SOwg1SbXAl56MFmEwGIOl093gICGj3aj0ZjSWmWNa8ELnloRFhPPHML4MMga4It1nynByI7faotvtAhAJIpcyfL7FG2R9bjQmyozH+8jpaOpXCBLOfjXFlwTGEUyhYmoaqpawcvlY0biNvJepLUiQq6alEZr9bguLxtKOjMHs/GLU9+ab9U3NLz88sv33nsvShOeH+79tNNOS1cG8RkmpnD3Bx3axQAAEABJREFU3XfPmTP37LPPDhK2p7W4gwn1VBCrwSjxmUy5fLhggrhOptU254kfKqczUfKJqG22KhL5sBLFuYh3Lm7vpo7PuaJWj5hshjEwDbQFb5xWe0UIy2+KVtQLgEl7neC/+NOf/oT7AFvrZ4FevKxFUXBVKgGyA8t+iT+L4rDwICb+AgtYNe0ME/uee9mExCOYjUKieFNzRVmas/Twzdtpd1ixn5VGJlO9efPm9e3bN132RLQdfpVXOoIYoniNd7BKotUl9WGG/dqdWSZzUpnyh8xnWSda/04ytXaL4BSou82ssmlsrO3SZfbs2X369NH+H4EXL17WnkSJ4xeieL8MtxtQ8h4n0q4KvnZL6z2U2YSkk+8Hs5GLi4uM4u3DI7s8e8WhNrH7P/lUaNejwtMMHjxYXvx2EYyXjUdKdp9fQOegQYPcrmW+ybx4WbuShC9yGJXckSxWi1bOBgt2e82y884zMZuaeASzgaXsCIeAsRSnBphDLcan3p6HqEsXc6qA9sWK4r1qKlMOvGwckoqPPadBgS9achx48eJl7Ukb+CIOpvxTKlW+oT12tnyrDS9rV5d62WjFI5gNKSs8RFp3EIfFlJeNaBFTvPjCiYaoW10SrMRFsmaTic6Beza2iZRrVtHaK4lb8uLFy4cVLaADwkQJxkUkdykRd+g+zezCupmkVEN/CtUmJb6pNrxoYae+a7Ie2o1k9Flp7RStVl1dnY2PtdPmV142WtGyuKTH3ZPVXrysdXFApBhvmehEy0LdEjxJOYgwXpSnzZYCL5uO+LngBpbQHn7kvgeJhUUpx3y2lhWLYO3+E4FdmB2sJeng/GOtGOBNxYqvCG2uqJxVFCFsfYpHso08fPHiZa2LWyxt5nhaPGj2WSgPtqRmi+KTp/SHu6eUOElXtI3bryjwslGKRzBevHjx4mWTlyTUiJLzhFXij1K0Yp+J8iM27Nejlk1CPILx4sWLFy+bvMgH5M71DCpo7HZBidsw0LEvhWIxHT+7ikBDLxuDeATjxYsXL142edFeyUIe6Q4fKZX0HK1YuxR42TTEIxgvXrx48dIZREeZBrFHye3Au7L7+SFl4w6TkTHOG+U3bdr4xSOYDslqVxivxW6+sj34NxNZdVWvz9qI1uPrOviu1scdtLrS5vpaycDa6vZrZYG+tyReVi1tQm7diVodfFafCuCNEtuN+kjejVk6M4KpVO5tt5SOVhPkVU4nXL0KjjqgpXlduDo9zLtKFUml4vN57H86NpbCDpkNe5edfLgMxF/DD3BsQNiRXLUtV9SeyVzdyyJtALC6srlS6Bwj+xFazRSFWnlg69ke5R2XNEpmIyjZk75T5ujGmItOZiL5fUUSK5WS+pq713W8cEUbVGKIyk6ldFL2nw4uLtl/enbF9ShKlj2ZYujKEoXuj1IQFyWIj9KyfxRalyt0XTGRw9V2tKhj3aMj4rrrKm8JV/aLl01CWp0W1xqRJEFJUpm7+9ts91Jqvaa6XSxSan3EY5jc/i4W7ROTfLxUcTCk30Vm/YvZSTnYbEQKvRWGkQ7vgGprY0vCNVKH1qqUVndP27TDJHxxVm7tqOOoPeAVtvlvhxIKPrgk2uIDl2a1D6wAYpW/rLhcPqcxqIAP5vBGWcsomWDYpuk/eLHDlWQpUn2sLkHpz1SMMywSK6eXSlxfWdldnYfJK3EeKp9ItX26Q1PRVXWqDysdqPHwA9zrZSOUSpzR6hQ2uzFd0JpiSYWJvhkDoEqJ2vupEtOUj61OXE87dBKVz2v1eGUjkc3Li+RmpU5rh3ZSnpT2OIfKaV0Utp2MdjgDq5dWk/6wPNN1Rla5Xv047ICVb8fYhGvN2HRAKozNWjN04SpfGlbQKOWfWpFcMV6JOZwyPliBaVbctzoJXequIct7UbRiidq2YUUzh5piJhizVLgCjq2AYuFqsmL0sH131JpiRHOnEtxYes0aZN0BmA8kG+SlXtaqJFcJlTkQoIP9023/H2mzXXssQPl+vuh6sdgquQ7sXe426BIqKv+6Suju1yttQOnMCCZpHyuVannSGa4eVnR46rm6dExCqdUmUjkblsWKzVkHcrymEsapfxDr3L58oCw6wLFO5jVyY7RzIkpCwnbqvV0ksMY1E7Z5vnWioaOC2jy12nqMDOZY1Xsd4mqPkqm8sKIaKodNB1II1iFy6EifitpzTnows6lKcvv/cnhKvHZIO9eVYuDiom6jWIKOoYpKNsWc9ZiggrTEKfmn+5a8zcsGkU4dB1NpssKKr1HQxrJFa4SmwyjsiH5drRZmFEYxMxKbtFAxHLExssOmcnJekVRHImGiGJw58+kogWAFyFuz8VnB7kSrMuIryInVJ1zZrO1xZHGqwYqKC1dUbbtck6uBYAVX0SaDMR226uyE7WW5/S4Supd25ESqqPx/te4K0BOtoOwsvVKme4IgQcwkS6dMRe3A5SCZZpu2spFBba+0n8mkhGvYrKtNuP17VhB6+paKg5BWJOEtzqYgZSBiKRbBlPgExvZXGK3YY7cN9ElIqo1/ql0zEYeRRVF5tDcXi6FSiwFL2q5g0vEgK9s83ct6kM3Fi+T0V1sNVtF/26EBKlBO+2xkhwzQ6hBMlLBMLgbSGtyoTP2LTmjDfLbV7h0ZTGUrp7e4mXpUxjB6g/kM14gZqchPuMKytP49TNjKjtRhBzxo5etRWyqrDDRVje1Y3xVpK7dio8u/xe9qQ5fY1miTVFiRk0gRUFF72VZy5o7WYVKGsWuTchzGUrRNQybTQRAkiDsX1Ru26ZDRCt9kVH5da6DaWuJO2IFe1bYao6DUAYjZ7itXJyZUc9U3JHpXFMOW6IPAYy8bgwi7FGNps+OcMERpZSyLvbQyndA2Ajdc2URmBY4JYp7G7d5LNlry+TaHK7U5f9fL+pHOg2Dajd5SOLphBWP8nsvlmpua8Y/W1NSUT3i2vbPAOCmV0pYtDJy/Rj7QFcykPEG6GqZi0tIeGJZqbsl369q1qamJPk3/ztq9lcwGkVGUSWcUalYqFZMpJ3Ivb24pTKUZr3VduixbsrQmV5VvMemYMRwGmWy2gGM3iDKpdCqK8vm8oTez2Zbmlmw2Y0Zm66FLiV0luHwy2kJnmLEH6dC8NV/IpjMmFDRM8Zc5ELtk3sjN5r5CsczVlIscmnwG5cEvF3Qqk9FKH/dGrreK7IiCqlTWbJpZKGTIrT2cUg9orqPZUyaVhDPm6SSjq/JFCTOvZ1Nxucu22QCBMG1LFBVLobnBrKEp2WLni8VcTZVRQEHkpk4liw7RQY2NTbXV1U3NzbbJQjnWuQMlVaAewqC6qmpZfX1VVVXRnjKdNR2G98VKtmwmw3y+pbq6midbmpt5Np8vUJ21NTUtLS30wJYCzZptbmnmxeKom1taMmlTDnfooyadZIk/eSq0x3xSHH5q4cd02FzMZ8J0bSZHkShjoVTMVFctzzelU5lUKaiprqafZ8IUNZ5R64jhSwU2YRIwy6wKhbxUMGUhY0uWLK2trc1k0tRPOpPW8XimV9gj8XJZm+cgqMpV1TfU19V2MaVLhUUbbUAiOpdUNzt2PbLVm0q5btk+yc8F3aMaT9l1JVHrzuDsmIHVKTP5jWKDFNmuyEfaQtNMLtfQ3JStymVsBYYW+8Sj2cv6k1awo/UmK1HrVUKuY5SslkhyLWHrRUZBsHqmPFoZpdeRpZUrY3cqbki6sdD8GSvl0yLtfY5GaueYAsst+YjgDyNGeQadV7Su34CUQsHahCjEshVK2TBVVYN+b+JiVTZTVpApY6ZTofpZ+Rx2t9y6fD2MDWTJ2EXZcz3FLd1r6xqXN9KBi/lSTcYe41cKanPGaGE/sSv5Qks5pr08I2+lnk0XVxglv+ZLGfp2IapOZcwKWhvqgGJOyX2Epi6R86pSsZSmTPlCOpuzGt8mpbl7UA5RjuJgOMN8ptIyDKm4TIViVJ2risIMqMSaupTNi3ld0SRgMpNNZ50eiorm9ZiFUrmGIpOlMB20Ng+GHQjLnGvZV0GWWwpYTZ6oSucY7elcyl6O7CrrUDF4poFWTMbNpWwqHSRokLAchOqoEmeenG2zLWIq0xqtks2fbUQK0lzI11RVNze3mL07wXPlVLXyyNQqr6OMVemsScpiuy7durU0NpVaill7UDhNTPFTgYF6fIkMBDGLrssQQTt7Fktda+uam5upyS7VXZqbm+qqapsaSKRQnakCJBkMVyjmUtlUJizkC7l0Ll8AM6WKpYJFflL2Ee1VaAFxFUAMXOQRXsPFpkJLkM7WVNcExVIEIqQG89wDvGgBf+SbAWfcbPoGCAZwlbLAqGDgc4kGsyAJyFs0OL6qmnLnDZ4Li82FrjVdyH9TYzPpALPUkdQ1+R89JBtmqrK55cuX9ejSddnipV3qaosGLpqGT5e7QaqMNNVX7f9ttwtWtGHYvg/PvK5sK+Q5DWKXqW3WkqmQFdSQWUde4oodkeWH+DFVNJg8nQnMD4UieNwQ/iv6lMcw61WS+MPF5bofFHIb2CMYC7GHyFl9pRB1xLu6/iXO1orchswHCtialN1VL3kCtm5OArIgKKtpLx9SOg+CaQ+Sl5G+NTPG/MNVNDc0Mv2tX7SkS/fugebRVr0ZE2SsRFQ2l/S28sGkQczKRM5/kxIuiFbQ5QxFM+3O5DAGsDv55mbB85bGZoPJs9l8YzOG1LkJNKbNxFpURPm95n1ZdG9LIRdCAmQCe7YqdxjSw5h6o9bhYErFQv3y5V3qurQ0tlRlqtJBGgRSSrqgUtEKriJGSib7xfJEx1ilKGXwAUazpViFVeYlmVypocHYPWtPQr2xUBKbkipXDZip6HiTBOOa3L/SxaGEZccYSCis4ku6trpp6bLqmup8S6FU5nZsPcjqFQvOU22tVKm8N0OyVWOkousrqDBb42XzSZ0Vbbtjv6kM01RmnQ10RaaqupFPS1RIg5Ti1OkNmOFivki1lIy9hFqqWr5gMdxJAABFmlvgNnh3cxO8V9YQPGjhQjEqL5QwUIZ0quFCli03x4aXgqaGRqxssTlfW11bpIvkm8gvyKWxqclQGg3NlhBLA3QKxeaqbDZeRWGqvNDcQivVVlVzsaG+nu8ZC2erqjN5GpveC/0GPmkppWtqg5bmXDZVX9+QTmVpIJBioQl+pQT1FYJBATqmZk2tmGyaRoHvywJ0QGmwhZAWtg/nc11qU2E639TSkm/JVlcZ3GzxLoMFAMrN+aaGukx10NDStQsjyFCMKTVCqdwKYXmSHYWuJAl+Lmg9hXU91BF6esROKeIeVW5cu/IqRqymsctbDKygTNMGQFHdpYByNeerc7mlS5f16NlzRQfy8GX9SgxaYlwarDjgPbJduGR1sMMuSXom2U/CjSzKJBWfWuDUYJlGMtO8op0lmlmZ0SHZbJmVsTe0KshGVqhNUdLnnHPOFltsEXReARRj71N2Im6mqnXdWpYuq+3SNb9k2aI5c6sxTguqmcgAABAASURBVFYhplzQQVTe5Ux6OZ1KuR1ZjIEUR5HSRLN8nQ/N3Q2KKJXmzp7TvWs3pruYqFxV1bw5cxbMm9+7Vy9LjJTilE0SlskP9F6x3Mai2Kk2vT7IF1556SUMZNeuXVPyZQWBRfp5yBP8FzOmzejds2cumzMFtBrf8ExxKA+YRlA/Fa5gKsIyiWHUvSFhIuM/Y6gxt53yzqR5s2b16dXbsPluTmsm7YEyqQoxIxNOi1k8k1tIHaVv2fu0vccyH5G270tF5dW51H+puVC/bPmy+Qu69exJodL2LfHj5eKnUvYpOetkFxOeb/FgoUxm+bag/EabQqpcRtNE5s8SCF0OpCjM5pqWLavOVQf4h8ysCJwY6ei2IGY90KF40zDVga2Q5sbGhfMW9OrXr9jcQsvyXGN9w5TJ7/bs0QNQYuoGBGM4HkNypB1NDC2CCyaVmv3ee3wCDXPV1WleVSiBKvmLX2GAcuksNxsnRya7bNHiKZMm9erdM4q9iTZXRv3RRkzsTDpVVdOnTZ89eep7k6b279+/ZO/pkq3KpHKF+YuLC5YYZx/gqbaWx6uz5rU5Y9FTM6dMWzJvfm11jbps2WcXmeLQfMWWvPU05d+bMZOCg7qa6ht0R11dV8ZL2jBsYQYcU4xali5vWLhk+YJFhfrG5qX11UXTuaKMZfOEUuJo5TApdp/C1hfivhys+OLmpmJuQoVJBit2VhRIKndCsZYVfYAWXzRj1sL353fr27fKWA5AWqbsGi6ThN6VtP6kPFlyCjO24pFdSYSAmNHPQjCRdak4r0rykWDjk3Yz5koqcGaHcjl6ofxr2Gph60aIzDY56cw8ljwUZS+GDTDEmpYgALK5oKl53FNP33vHXaWWvMUr1gAbv7o1hFGAWjd/8heAulgS9+00tcab+TSIwVzHmGUh5EvR+FdevfWmmxbNX4DixKjk6xtee+XVV156ObQEj32LseuG7CENpu8WQKSs+TeBmWaCnrZ2NGpYtvyWG296/dXXABnGqcOdkeh6CIT05Hcm8aLFCxaaSbwxpZFNsyQDHNrIA2cTVqgSymXVhH5i+mPemM4UGpteefGlB+69zxhCpWbxkIkNsjk3hHyhoJ94u2Hz8SgpyiSy26mFZfiip1SNKVurGfsPHHD37XdMfvudgDqH5MCpJMMT/xP8sn5whe/ZYS+Hgqyu0QXFZJqhPAXk2eZTF00rF0yrpcoKwiCYpXPm3n/PvQvmzWtaskyVb/bbpQFtuczNpglSgS0dxcG0Txz/xg3XXpdfthwbDSDINzVPGP/6uGefBccIrnEnINV4dmy0c9ysQBhDbDz8wIMUNperal5eT/XSiBNfn/Dko4/CAoIMAA2mqksRv86aPuPxRx5taWrWfM7CxHJICDYYqEqNQuq8N/u91154+cq/Xb583sLadLZLJhc25YPFy96fOuP3P/vVo3ffl6EQcHKpTKGlpdDQCIXTvKz+yccee/qJJ9NRUDb5JbWa9dtBzNASuSoYF7rZi88/Tx8G61RXVVEh5Bk/ZroYpQslQ2XlS7MmTb38j3++7+bbb77yv7dede2E514IWgpBGdsbZ60gfjxMTIOWrG2SBpcrtrywpFT2Q4ZlNJ9S50yVgWCoFErW16UZrUHMdv6uSnYdXig5ZXsCrfbis+Oef/rZ/MLFVHjjsnrjqAu8bBhxFj2IlRCoBe8qTuRmKwoT1G3laNkYygRJB83GJ446itoTUUquRIa9bWZC1Iif14C2ODbZw5cPL517PxjTP0z8Y9rYJxEDUPBBfUNLQyPg4PRTT02biIGiudM4FVIyyWXLHxnzZnYdQK0yk8sZ/Wk0Mj4UO9+1Hn4bYGmiRlOF+npe8eJz40aN3LIOVh8j3dgUFou7bLu9iFNjJlPWwFuqxgQh0scz2M2SCTIoWKvGFzLDzDFM1VbVLHp/fo0J1SyVl1OkbdRNFBQam4cNGHTycSeYwAWMMdkuGLRvIn3t7DTKhFFVKrTgJrAcrSlVFR6qlNky3yAGM/ggAEJ0SL4AQxA1F9L5qGnJ8mx1NaAmyDK9R/uneJe912whhSUPFLqZNxMoE5pgLnJzvGrGlM6ebo+TxTiHUppfk/c5M2e9N33G4YccaibuTc0m3nl5gyX9eTytQNASVtwoBsBRlDIzaObPGWvyitYWmhiHXFUubfGlKXjeeJ5LtpnDjOVBqGRbZAMqSBksSGlbsGbNLzz5zJ477RrU1EZZzHJo7snnSybIFoYmkwmy5DPf0lIFwIVvqG946bnntxu7TbGlAJOGv4amGz1q1NDBg7t37d7S2Jjr1rVh3rzq6upivoUiZjJZgKdMMPAFvXXEgQd379mj0NRkYqCCEN/ZzMnvLli0cPvRY1vSDfSoXF2XfGMTPWjYoEF9PnJ0TVV1MWXxMaVEzeUN0RXkSoaFToU1NdU777LL2D5Dxj/6TE2misYydUA3LKWeeeSJvl17zJ02q7S0voQ/MDAB2LB09UuXkqFclDIBMPTYxhaTcFSkzg2tDR7Ipg2Mqa+nqfbaadea2ppSY6MJSo9S1XjTGppTUTzRBLDhAFuyLGguHH3w4fTzl1944dp//ueH244t1nRj6Jitw4rG5UdNhub91kFQNODSTCCyNhglbbFOviDvm+n0qZR1GlquLRWHPRYj0Vq2uW3PJcMZG79ucHPJYNZ4kZitbzvTsBH7Jia9FOKBBR9zW01tbX1jY022LgiCYGO0g51fym1qN+aX5Zbt14TK7Epn6Yok0AkTkezRRnwyUZJV0hWVLoihm0LaTZyAXGYmILNgo+lWBPwGXj6cdGoEY622seyWjGGsVGezxeXLMWsvPDsOknmHHXZI5aonTHjjmSee/OSpn6jp1z9YuvjW227t1bvPQUcc8fxjjz/7xFOzpk4f0L/vsSceP2T70amqLKT69BcnTh//Zp9uPe585IGwe5czv/T5foMGBplUJgrmz5zd8P6CnY46BusfFAqvP//iU/c+2NjQuPdB+/fuc1jKMCtBsLTx1SeeeeqhR+YtWrjPoQftd8ShtQP7zX570qP33r/N8C0fefzxpjD6zDnn9B0xIliytG+urrqxFDQUFy+ae+2dtx587FGjd9lu1uRpz95x75x3p3Xr0eO0z3wa/JWuqn3z0SdfGz++74D+Tzz1ZL+qunO+/MVoWN+qUnbay689e//D09+bVapKH37ysWP33DldW40OAYVk7bonuwQwlSmmuhTSWMBn7njoyeee7bfFkDM//7lc11oMx8tPPvvwgw8tWrBg/333O+ygQ3K9ek158aVXXnjpjdfG77TDjkz335425dNf+0r/QYNxe4177InHHntseWMDRT7s6I+UqnKZuprm+nqIgSmvvjGoJ860nqVCSyqTe+vFV1584ulZ02a2FAsf/cQpY/bYKchlM3Mbn7j3fqqnunvXvQ/Yb++DDwpqM6mWlgVz37/nrrsnvf0OOHLnIw886vAj0s1B/eQZD9/7wNBhWzzy4rPzli8585yzx241uuX9BffedPuECRN69O974NFHjN55B7iN22/439KZc4OZC+7623+au2R3PHjfnQ/aN5q3dPqb79z/2MPvvj+799CBJ3/6jL79+tfkqopNzWDeJTPmNr83f9cTP64Q6KgQ/ebii9FDg/oNOOvMT+XSuWDeklcfeGLJQioGP+F7WwwbdvJZZwa1uXT3Lk/cf//bL4/PL1p26llnhkP65/t0mfrq2/dffeOSOfPoP/99c3KXgX0PPenYwX1GTZ85+8m778/PXjgw0+WIcz8Z9egZNbTMfnfaI7ff9+7rb3ar67r9jjsceMQhNUP6gcdgnwqpVLq2bkljc79sVUu+lMtA8Mx/Z9LUE4/52LMvPr9g/uK+vUYGzcV0oXjDZf+YOnNmr359eqWqu3XvGtQ3PnHn/XPenztxyqTTTzrlmaeexlV5ytfOy/aoe3X8q+Pvf7ywrGG/gw4cc9BemS7VzcuW33P5NT1q6uYtWvzSKy/vve++x55wfJDLgV6rMjlqCb/QPnvuc/etd06dPKV37ch7brjl3VffqC4EQ4ZtcfInT0/16wVhsnj+/Efuf3DKG28ua2jY8YB9jvn4CWD6+sVLXnn0qcmvT4R26ja43/kXfn3ci+Pmz5j9seOPL3bB6ZNpXrJs0hsTJ098+9jjT1gwdfr999//zqRJeM1O+8TpXfv1Dnp3TTflH7zljkwxaA5Kjz/39IDBgz73qbOqwvSjjzzy2LNPDxw0cIsuPaq6danKVgW1tQ2FJrytJeuNSiVPr/KGY31JaCc1BesqihJkcJgIInGMix5pc8/GKUliKXk9ubYo9ipH7iddUVUUrC8eEjcZGBT51UkfRMy8ujPHwdjwqqL1PRgzBDjG61/XfcmMWffde+8RRx45ZOQI5qtd67ref9c9WwwY1Lumbsm8BQ8+8OCRhx+BxV2+cMnWW4w86tDDu6ZzN1793622GdOjVy/04PvvTH3o9ru719Qd+bFj+g0bOnjLEdnqnIlxack//tDDNTU1u++1R1QFexH17tlz7PAtly5a1FLIj9xuTKqmJr+k/o1xLz127wMfOfDQjxxx5FPPPLO0YfmWY7eZ9vbbjz3w0KCe/fbZc+9FixcBsPbcbfcgm3vyvgeGDxnasHDx9TfccMBBB47dYfvlzc3da7r079KtR672rQlv7rT7rlV9esMqTX7l9aeffHKLoVvsu+9+k159Y/bcuVvstF2moeXy31+6/YhRH/3IUWO2GVvdo1u3vr2Kip2lXswYgv7IQMMEpXDiS6+8/caEnbbdYc899nr22eewlVttudXUSZNvvf76o4/4yEnHn/jsk08vXbBoxPAtp7w+Yc70WZ889XTqba/d90A7vTd/3phRYx+9894Xn3z22KOO2Wn7HV977bX6hoaRY8eaOk9nFs59//Yb/3fE0R/pObA/U/+GJUv+9sdLxwwbefzRH91u7LbZ2uregwfCsj585Y3zZrx33LHHDR26xdPPPNOrZ69e3XssXbT4H5dd3rt7z9NOPmXbbbZdkG/YctiITKa6cdrs22+6pVv37vscdOA2O+zQvVfPbjV11//j33Vh9pQTT2Km88S4Z4dtNbK2tnbE4KEDuvacM23GCR87btvddt5izFaFXCazpPFPv/nd4UcccdBhh44cNQrmqUf37rAO/Ivqmx6574EBffqN2XnHXJdaZvOpqlz/3n0KzXmYpL1328O4X1v+P3vfASBJVeb/KnaatDkvy+6S0y4gcUEkB08Uz1NUTHjmrP87zzuPO0XvDBjPEw/hPDOCIiCiBEEByTlvgM05TOpYXVX/33tf15ua7pmdZnZS93y/48be6upXr169et/vfbH8AoT/o4+uOOnEY5Yf/dADD4IuzNx/EQz7HenWhTNnr3925ZRp0xYcdEAxYU510wunzkybTns6g9l11KuObps1HeomJ5mYP2WG2Vvc9uLLB59wtDNW4oLJAAAQAElEQVS1tdxb8PZkO+z0Ba8+c+mCRQ/f/+DOnTsOOvQQI+ngmsXdPQ/cde8Jp6xIZjKOI+Oo1z6/6uVnXzz1xJM3bNyIW5i9YB4e7vVXXdOzs/MNb7wIHPfBO+6eOWvWgUce8eif/gI9xlFHL//lj35y4XkXwLi5/7LDnUxq+tRp8zNTd2/a2pLOzDv84HypgEn+yB/+tPbF1SeuWHHsscfe85e/zJk9e+q8edvWrVu/fv3yI5dZQjz88MMbNm067Zwzw4zrd+fOO/X0Yw85YtvmLff99f7lRy/H/LrrT3dhkrz5dRedcNzxbdOmtk3pwP70+aeeufvGW19/5nlnnnra7LlzofUp5PIP3nXPSStO9bJ5uxyCmjxy932Y4bPbOm68/jezps148xvfVMwXbr/t9pPPOMO3DRjOHv7zfS8+9eyipYvPfe0Fc+bNy7jJx+5/6KlHHrv4bW+bN3fuX2+7c868uYuPOLQEypdKeCKQEemKweisOcxgRgO17rdkQCGXlypf3ckJ7X5QGQ3p9OhrGhcfGVbP1ImmzmgXLVXKY1RaYGzYRHbs2LZ1K0wPxxx/nIBVJZARy4cdePC61WsOWHLghpfXtqdbIGasVPqQAw7s2bln3ao1GcNJB+bm1S/PW7jASkG/bmFlPO7VK1oPWjwr4xRCDwaXfE/vjo0b73/owXe/5z0htP6tmXx3dyKTbJ87O93e5slELzCRQL0ibr319zNa2yDnnnnu2faOjmeeffY1554tnQ0d+9XnnwOrxyHde66/7jrZ9RKW32D1iyvR4Te85e8WH7Mc3zrloptIzFy4SHQVvFJZBnxATy+9a7DxDs847/yebA8Ezx//fPc5MKuYcgXxyn5LW1tLR4toSwo7kfOKUm0fwFTlFiAU/cDCKg+rim2lWjLLTj4Z2qNjjlq2a/MW6FSwIZ4/b8FRx58oisVjj33VfX+59/RiCb3Abrtt6tTZ8+dPnTnz0GTisdUvinzh9zfetOK4E7Kd3YEF5VTL2lVrcrCCtWTwNt5z191t06bMX7SfFCMJl0zf+UI+kUy2zZghprYFRa93T9eDDz941MGH7enuypVLuM1Vq1aCOK5ctQqC80Mf+GArzjTF3NShYbEEQxquAgF86PKjFh69DIY1tNm1efuWrVvnHnDo8ytfTHe0wmSzas3qU+e9OuEm24wEbnDGnFli8XyRNPJ2aECR67qFUimdysyZNT1MwBIm3XhDz+/tyT7y6OMfef8HTJnTReaWweM4cMnSbes2bg7XVgShZZV8b/+lS49cvhxNLTngwK6ubq83Z7Ykp0KJl2yFsSkJTYDkzUEqmVqAn6/dhBVrxqL9xcwO4YqCV0gnkm0zZxuLl6594MmUk9y9ZfvU9umphYtmGKnNq9dBurdhGFe/pGZCAiYnF6aUIJAOvORa7XsvvbhqWntH25y5MzqmrnzmuaOOOwZT/uWX1r7unPPnLVo87+CDn7n7ATwvqLBhAVy0dEnbzGnJlpaly5ZNe/ihzZu2zFi0IJFwWpce8PyjT8qFVCWPUaYasd+SxYcuPxJTbt6jj3R3d5OZb8OGDT/836u3bt0K29YpZ50+bcniYlg46qhl21atzW3d1d4x5dmXVvd09bQmpremW3p7eqFWmT5t+vT2TKhcsFqTaVe+CWEmkTpwweGwK82dMavQk/W27Vy9es26l18+55xzCru7Dpy/n5cvbt+27S1vebPb0bHilBVPPvPU9g0bOpYswAYWar8pU6e8+qwzRNKdl3SDzp6/Pnj/cUcdvd/BBwu/vPXoFyETMIcd2NpkqF055g7M3GV0YcRST1EiLu3zIVgqK5rSz+SEvzBkB4HM2NTfkZkdZepEU+eDoVAhtWrZgcD2DsIe1vhHH3p42dFHi2QCpnvDw/Y6dciSJY89+HDP1m3bNm5aut/+DgRPNnfzb37zpz/esfywIxdPnxVkC25gyOOGmfeK8xcvctozArtPUU62tuTzOVzkgQcewMK6/4FLQYx2de1ubWsr50suzEmOVcjmyzLHHTiFtWHD+rmHL9uxawcEcKYtc/yhS7DnD4xgxpyZMsGqY6ZbUtl8VrqGuE6hkN+6dUs6mdy5fdvibFZg4XcT0oEjhBVIeizIDBleGfp5CJj9lywFXWmdPcuH3EhIgWfYyb9/3/tv/tmv/nTP3bMXLfzbSy+xOlo6Zk83Qbm6uk3bNGyj5Hkp2w5KJVwaRiiRgtCFasDt6ukqdnVv27SlJZWRwtJNZtItuKBwnN5CwUmljHS6GAah4xT8su+VunfvziSTXqGAriZbcWeZg/ZbkO7oEIlE78aND9x77/s//H4r5fpG6OeyyVTyHe+85Lbf/O5z//LPRx5x5Gtee97CIw4BC8wV861T29dv3lAM/IX7L5SEw5LZ4Q477JDWGdNEUFaxWEaitU3s7ikG5cy0jhkL5xXyvckZ0wy/vHPP7q7u7mKp6HilTRvWQd8AjohhFPlSYISFoOwZoUPB1kAqedFb3nzj727+7a23Hn38q84679y2GdMF5LdX/P0tv1+0ZPGsxYsp2t6x0UJRlAMwLxBY+TmU+e+wIAWOaUydGnZ3J1Pprs5u21Q+vjIOLCwWS2E5CHMFx01i9ITjlU3DSqZkSLDng04lLNcxnZKXxUMseuWw6E2dM7u8dedLTz3/kyuvWTRrHnRgpUJe+hChE5aVgNVPelIH8mF54DS4RmnDyy/NnTbtpUcfEaH/xGOPvumSt/T0ZiE1WlpacdFSb8+0GTM8FYrVlc/5phFYVtYD/yu3tLUX80UjMIq5YlIGIKsQqHJo2SZmHT63Tp0i0jIwuxR60jtsz650S3r6zOlnX3CunXDnLpjvpFP5XHd3PvfNL3x5Zqpt6Zz5re1tfqW4nrFs2fJ1q1++4opvtLW2nveGv1l25msKXZ0HLFr86pNPueaqHyZcd9kpJ5779re2JFJLFy1e98Kq7MYtT/3lr2ccd2K5p7c9k/G8Yro1ky3kXGeqIT1gwmIBtDM0bbtUKrZP7QihK0tavfmejGtt2bZ1xszpordXtLWmUskevwSbF4Ytn81K97VYPmJaFlgsjADCSj6I2L8k4twlrnTp55w7WUHOMf2OWBYGpFQqYcSgLCT/GBHjgoJ5zF7R3Bnt1F+jEl4k/10o9nZ2YR95xgXnSuc/03Ba0qIrO3/hgjv+cNuOnTvXvPzSOeeeCxkDebxyzZovfOmLrdNmiu27HvzrvVDyBVCwp1ph8siFXnJ6R7mUNzLJ3bt3pp3Ezu3bn3j08fdf+l5IGpis3HSqFJSxmS17pVAmhbPllhlEu1CYPWf2koMPPOnkFZBhoiUFe6iRcLKFvG9K+iKDoBJOrlwUXkF6oSbsY086fun+i//7f34wbcHcJVNafc+3kmmpU1KhG9CvJFW6E9NxevI5pyWDPWrg2IVyWYZchWLW0qXv/fSnOrduvvHWW+68409/9+5LgmLZL3mpdGuppJxMpZuyU8Y2HxJRZrQDK/OSrenS9nKirWXKtCk7tm4PerPmjBk92VwRgtOyDNeF+kTmFUklS4aAXiowRaolbbr2smOPXnLUkdCy4EZAPiBlRW/3Qw8+sHjx4jkL50N3JZmZ71uOufjAA97/wfd37tx944033fK7m9+3ZD+ovpItmaWHHrQfbE/ppICgzaTAWsDwNmza2Ltnd0tLi8Am3jH8nh6pCOtozfqlkh22z5xWKuaxNEydMb1j+tQVp706s2CufORpNwdhBk2bMDwrxH+5wGsPy3g8npdPOPYhJ514wGGHrl6z5sabb5o/d/7xp52GBXjLxs2PPPrYxz/+cZFOmQ4G1lSO29BZWS5Ma1hTbFveYC7rW8LOJIVfMmbOCGXyGMdwk9CXW8o/2XETrpMw3JSNCeF7WL180+wu5uVExKOXTsm+IU9KSo2HcmkUPT2gno899tipp5161vkXojM7f/aTrl3bZG7BfN4FV7Z3p1synV2dbQthLQp37Nixp6tzaqb1OejALCvT2nL/Aw8cf/wJUsyD1xaLbjK1cs1LS484pDefnzprFihUeuoU6Xjc2gJCs1+mBRxLRpgrOgxNknTvDQ2ZLNEAObPKSvqn2lsxmY0Z07ufe9Zy7HmLFoK1h66FgU1lkn+89o558+Z/6F2XWqnWx+6+Cz/0lfNu6/SZb3/nu3MXXPjE44/de889M/abB0YGtn3cmacfd+qrNz79zJU/+79FUH4edlgqnXz6qScXdMw44dhXrXzhRagWZ8yb25PryZbycrYYolgqYFPfkkqrgOqgBTSlJSNcO3Ttlpap5V3dU2ZM27l7l2htFbnchs2bpsydJUDykjaIclHIvIWxfHqc025kUEtDtJcu2Yy014sQfSl3xeSGrp6tobUyRPtCpZAxdbhozE14vFDbgQnFqJo7mlpoumtUrODGT3/8kyVLlsycO7folUyoBCAmXad1+rT26VNuv/vOXKmwYMn+oi0DBYmVdLfu2tm5bfOjjz2c90tgFRDA+XxvmLCMtJv18nY6AWvU1Pb2cjb32P0PHnoQlA4LZcyT79uOLAUgI42gq1DR2jKKVUqD1NkXnP/AY4+8uPKFQiG35oXnYO+AgHNSiVLgF1W+iyJkSDoRQEKk3Jwot8yYOv+gA977oQ/8/LprN61b60GZ09vbtW3btp070eSuPXt27NyBSZYvlVJtrYWyF7iOb5tS1aFqKTzw57tKuV4f2/yEzOuKXalMNgNtT8l3bTfhmzAshSVP+glBmwIlB3QUaadXukAavvCOW3HC5m1bV65a3bt+w6NPPrH4oAOlSsOxA9sKXLu7VLDBdUwRWKbTmjn+1JNv+dPtG9a+VOzuXP3C86tXvggKsnvPnudXrTztzNMT7S2BFeaLeWyLd2zf9shjj+zu6ZJxQDbsX2X0akpHxxFHL7v7r/e+/NKqru1bn3r2qR2bN4EuHHzYoZBYoDm7O/dsemnNn//0J0vG7JSzIHlp13dMzy8aCTs0oTZonzJz2p/uuWvn1k2dPZ33P/yAzMMChZYZWukEFA5PvPjMju1b9uzcblrGlu1bn3nssbxXgu0DQxGWfKk+6c09+uhjrzru+OlQR8FiY8KmBMVWCZaLnRvWd3d24YXZuXljec8uqCXQaR9bgKQb5rIlrDyuW8rmsPHs7OraumN7rljs6urauW5DoScn+URHKwxVqzesX71+3Y6Nm4RKkdy5u3P7tu3d2V7osXbs3tnVuaeY7YHuYfue3Z07tq5/efVza1blfC8AswTnKebbp09tmTblocceffnF5zt37tixe1fb9Kln/c0Fr33ve177tosPOPzQv/z1PhBK2Lb+cMcdO3fteuTxx7bv3iUjnl0755V6vRIGoagy52BKeHLFDLO92d2bN+c9Dwx447r1e3bvgd2xIGdj6DtWyQjzvod5JZM2gpi5tkw/0JryHDNMygkzfdqMrt7e7nx+5/p1jzz5YGHl6AAAEABJREFUpJxzKo3LC48/sWXjJthGwfjx0NuntudzPWvXvbR25Qvl7j2w8ZVlehwTD+ioY5c/+dwzWa94xDHL/3DXHamp7aIt3Tprenpq+8NPPJ7r6nz8iSfSydSUjnbJHcMwl8vJKDnXKWIOlApgOSedesrjTz+14+WXNrz88nOrVoIDyTNNA9oaEUYFNbUTDGPkEMYS1pHXi6fUCRSGQ3K41jjCIHZSiVdSPIY+QyNeKMCyXdKqGlbA7B3NrIOpBOkJyoJiC6+4ffu2Bx9+6Fvf/Q42wZZt5SD1kzZsPZA9hx939E9/9OOzzz7H6oDRJEjP6DjuNaf8+NfXZvd0nXcq9vSzYGvp9YstU9rBD8BvsA0t+TLVGJT/TilY9cxzb3jDG0QqJWwnLOWwfBY837Cscm9Wxsxhjy0Tw8ucGMeceHx3b/c1v/zprt27O6ZPu+gtfycVIcmEk0k5bRlZECRhOx0tRZUut23urF5RFlNaFx952NIXDr3zvr9ccum7H7r/wSu/8d35bdNyhfxXv/H1kmN871vfSWRSYFSeIaOMAtd0W2BucnLZ/N3333vNNVdDe3H4UUeec/aZECimDLcpWI7l50tOwvYLeRkEDBWD6zgtSZGUWVq8lOVMby2n7Bn7zT3hlJP+55qrsO8//oQTTjnjNJHAZh/anZKZdt32TJi0s5DyaQdS56w3/E0uKF/xP/8Ndtg+Y9pFb36TCLxVG9eCZMzbfz9omEyZClcWNsJW/va77tz00jorNI449HCcabRmYNr427dffNUP/ud7P/wfCKH2qVPe98EPQIxOnTPnrZdccuONN/6/z/0TqOEZ558NVVDCcfKB1zqtI3RMaAjcRBLWDtexzn/DhTf/8rr//PYVPaXC/KX7z12yaL9F+8EAZGWSZ1/42ht/+9sb/3Lnaeef/epzzgIl/fkNv9q1fUc6kVxx4knHnXgcNCVd3Z3PvfDcmy5+C8xSULkpXmKDw9x2+x9vveEmqxxCZfXCS6tnzpnz7g/8PWRzsZj3zMBO2W5L0nSgfgt2d+7+wff+e8e6jU7WW7Nx7dbO3a9758XnvfYC4ZeXHX/Mxs0bv/T1ryw56IC3vPOS/ZYsfuThh278xXWl3V1z2qf+0799vm3u9H/7/GWnnnvm9T+/9tP/9rkjjjzymNec/OLLq0sy6N+DGa9czL/9A5de8e1v3fnQfe++9NJnn366fc7MlvmzRDIpsv7hJxz7wP8+1ZPPXvSWN/3oB1d9/ouXLTxgyQmvPjlIWFCZ2K0ppzUFpdSUOTPKVpCZ3l6E9sgUV/7g+y89/bwdGngonbfesOzYYz72qU93FXtbZk7xwKJbM9DJZMAqYNaZ0g61HAhNq4rjhu0Qc+xVrzr2xeeevezLX5jePuX888//4x23G64NVvfimpV3/+ku2NPSmdSb3/p3adh9bHPzc7tuvfb67i07pk6Z8qrXnHLQ0UeGljn/wCU9obdg+aFTly4qZJxpSxaIthTMZK+54LzfXv/rX/zq2v3nL3j7my8WU6ZIA5zrlMAbE4myCKDxKnnFhGsft+LEHZu3XP61r7S2trzqhFelprR5AfRNrtRQppKVuo6UvJDdePcNYazIkc59IrMrKH8OOiduARH9tS8sj43+Ge1EJWV63/hQkbJ8Pg/h5bquLXNvVcLLxSCZ9Masw+OLUKfBjLokx+Kee+5ZsWKFaEZQnV6/7PmFkgvlRq549x9u37Zpy8VvfyuUHAVsAZNOWPZdlWxe5psHZ8CGDQoMZbyFcC325k0/kNQDYjIllSKw7pr5kvRGTKUK5WLCcY1ysPaxZx574vHXXnihm24R4DdhOWxLSZVgruh05q//+S+XHnjA8lefbCalFgTEyi9AxJfQNzeZwISFAE6kU/lCIQ0lSm8W3Qgtw/N9EC8vX2zLtAqVSs5T6efcTMoreq4njLLh9faAb3WX8h3tHaKnKNPeJZ28Gbb40tMisGXWtVKhCFFTyBfapk6TQeWZ9MqnnzZUppiEJFulRCLRm+1dtP/+uEs0DtNPySu5mXRvb08SCiTI/nwIDYTKyxKY6UyIbbyl8v8qe63MMNuSKRSzjiHDc6xU2uvuBv8AIZMJPyzzumt/tWS/RcuXL3Nbk9BbyDKHxZJjglD6MBQ4BjQyIFyuTMaDx1WWOXLy3V0yVw1YXcI1EglpJVbro1S0+uV0m6zdIxPruYl8Lgvy58m0L3bo+045lDa8XLE3l7VSLrbpIHYghRDfMvdaIPVSeMwwf0gdW0nku3rxFWxqmdY2Ss774rPPPP38c69/40WGygAUumaukE1IuheGhZLMpWOapWwWBh1KmgsThReGMga7KytT+4sAajOMSVuyRezukUOUdAtGGVwHd21JNyxZ6xHTx4HpjdzMi+Vyb851UyJldJWy7W0dpd6cI+xcbzaVSsssKbY0hNhpt+AVLU8kzAT2ub6qQgqFfVLmoyvKbIqhHDockSNg2FAmFYVfCP32VBsGC1PWFW4IGxZobjaPgZG+NalEIZeVSfmcZNjVLZOgt7egcdyZLF8AFWAIehYmTFtV25BlNuVrhRfElEqdEq5Y9NIlmUTHddxcT28aJEM6VEnOJ1V62ax0zGpvxeuDpgJcB6O9q9uC/s9xSwnLhGKsVGwxHKEer9nW1rtzZ6atBZvQVGtrgN1oby4hPQXwArrS6zFhOLg7T+qQMJrFpGUm3aAr2xqiBb+ERR8bE/le2XhVwZuh5oE2IJNJk/UI+h5iMByuOgyEA1U3JOJCuV6oDItg7DPCKLOlZVNNGqfq28kZcV3LYOTHZmYwqtqQDOaDyJSSp9y9Y/e0jimytHLShdjzLJVSCaTEh+TDJrNkO66VcD2VqRWrNuSqpfLEQrdXyjiBLOgnMiF+KU39EIyQVS5ULd35bAk71A5DqMpztlkwg927dt35u1t3r9lQ6O19/4c/1LpgdiCdeh1tCqVigmAqidZMsVCQ9W08ryWTwXVzXtFWATuQdljBHRXI0d3bA4pTDH1ZbtBKmLmSSCSyxRxsYZAxUqoE5ZIVBmlXdOWSEGmWKObylqUSpEovDgt3BTLwzW9+Sya682U7rRAMKrfY37z+wgMOORAaBl9Vl5HWBZmczC5l8y1GUqjcxHLNsi3pAlIsyprejqNmEgxDBdhownJZ5csT0pE2kYB9wUk4hUIRdivQlClTOkpBSXZE5qGxZXo6P1B1FVQpG3JOMKkwQiD/s+TY2umU9FOWVEnV4sbQQjoKpVoLw2KukACTAC1R+X6keskPvbwMMzLkc5NVFaRPkqsS+QsDzM/JpGE3xHEst67hyMBplRZZTgPw1yDYtX17azt28H5mypRyqRg6suQlOGW5UDRlSmXYjXzY42QZh3SqmM+BY0ERBx2bk/PkLcAaKMpQEVnlIA3qAe4Q4JMjc/8FaMykwgtydso6juiLl5CJ6WRRycAVJSvADDFCs1zyTKp5AJkLTgzm54L/4P+EbUhnJWzRQAJAK7t7elrlIMgHioeLxc61XJAtWZXTMmRUf3dBJGxoNco7u+xUsoAnXPQT6TRuNpfPUSOFnl41YaxiqQBWLekR5l7gC8zwYkk5j/umk/ByWanPlOkHTWmvNMK0nbDAnB23nM+BUKqy17K+Oow4YLqy6oIlK3bZjoX7RJ9AhVt801IFssuu2eMVoB0s7+lNQZsi0wNbdAuUGVmoLHkgtaoklwEuWDLLTsGXmYiBtlSP5NdmOjAxvuBS0uMN8xPfJmxpd0vYMBHi7hLKq1cNZYXEWILxyqBztIjYppymXDzaiLHvqB1MbDJV2lSrovcC17cm4xSedAyGoDK8S9u9JVO4ykzzUna60ltW7iZV/ntH+gUEcjtbLudKRTuVgo0JgsgOTZhToC2HMOoKimjNFVYaUiSRKhZyYSaBzXQCO7ruPFb/bFDOpFtFAYZ5uyDrPJbWPPuC0ZOfO3vOjAXzepwwkUqG0FJg66zyy2L3b8kSurDm5CGDE5l0EYIrX5T9TLj5cglStiWdgeyEQiadkYqHkjTwS06F5lNClusr2RDFdrEn2xbaRSz8KafbL7UGZgpCRWY/lanb8czTqYxfkoocGKw6d+6CmANzam9pxQ9x613Z3umzZ1lyxS9AUwFhBk4h44tKniwrmC9LGgTR5TrFbLaIDXdCiT2wqwSknS/9RjGoHkQShHGQSCaxqsGUAEWI5EC5QtKCTPI9o9zW1laUWWhhyEpIlYdpFIpSneCqzLllZUFvnzoN66KlMsv39vY6rqtEj0HlnUIZm+xhLuMnGBmwE9A+EyPgybzFSdeFXc+HngWyDFwnhBasgGuBLqUzrd27diXcRKFUhJCGxQTPV1IibHFS6VJPryxoLKsdKbO9Y2ezWYxD0Ycuy3ccW3qAQNECxlGCNSdTyMECKa+Op5lVSpfpdhpkq7uQM9rTpi3VBklPwKwtZ5ooY4jQ/VIuD0KUTCRKxVI58CG8qSg0eDNUF2HCgn0EnC+Tasln87i6dK51nM49e1rbMrl8NpDUTZniQlnd01dVP3Ej2XxeZq01ZWCag+nklaFZaW9p7y3k3La01ZX3XSsPZRCeY9LNC1k3u7ezEw/IVIn/8UMMkaD3ArwKYqlcxghgYCWZkMHvLnRXvb3Z9tZWLCJSp4UjKtIE41XM5kBooEQMZLhQATO2iPnslTE38Ag8KgpT8mBYBaXA0ILBBPki5g90MN3FPIZlip2EprAEg6YfdLS2FbI5zISUrGcZqGS9oENgNjJ1ctExMM/Bj6Q6TXi9BiyHQRqDJPU7FlgPlH9p0+kt5GFF7crn8CDa29rsStVJVV5CMRiTTUmvFP31K8SYKddL0D+jrmDsG+Ipc8hIJ9P44j8VqWTUloecNBiQwTR1RjvlPBvIesyBrO6Ijboh9RxQHuAzVjdVOkjIGDaZDl2oNP+yBA6UAaFUN0gVnvSmwU7esVRAkZXEdhKWDumma+TMwIN+XqpwsKHELtNyZTJ3lbtJupaYM6fPmDd7TmbqlDKMGGkH5ACb+CL6YskqL77y2zJlbKxnJ5yeXBb9SWJPHEgNgdRwyPT9ZSrTgzUdAqYsy0dj0wstQpCEUqkEkiXQLGQMbDx2EvoAbHiNlop5xcaZVsLByl7CjjlUBROkGsORIaawgKigGCuVTHW0wj4FlbssviA7JkUyZLCrUoDgWjKpsay+4GEcnFQiVN6abkqaALDDlYanIIDEklHHqsxJvlRA50F0QlVhKpNM4Rcw6OB2YLPwZaClfBySiUh5JHMNGqo8siQWMPuVy+heGca1FBQDpqyHowoxyTI4UJ9I518prU1V4gkXRTcTCUkmpCJbhq/Lwo34Fk25qWRURVYmL0eD8sFAwVOWvMQBJytjbEoQ7bDcFctesiWVK+XBWrBmQPFkybz7sm+emj9lXB0KOFmHSUDqY17J2ghQnEirjAxzlkYrxwAR8XwMoKrobISBAwoKtS52ybEAABAASURBVIGshwCVEx4EtFPK9UjmKYJlpQQyBU1SCC6oXJLAzxLJSmJ+yb3SOWnrgbksISenKsJlqsoAkn/LygmSQEDEg59hnqjaWhaYDgxOsqIplFjQSbgmDJb4qiDKCVXGATamVBKTCFS1jPGESbSE56sGAfqeouHLFdPA7Qew6diufGVC+VDUhlsVrJO7Att0YQnyS5jZUD7hXtAahg7cRaq3oBU0pUcnKCw0hTJ5kXwqkn1ibPIBRjuDJ5YybVh6jRQmkAuCC1toSyqlXEGlPRe/yuMNBr2GcTZhQy0a5qDiBN80ZOIlWRfDClWhSw/GLlt5ETtyVsM4m2ltlUGqMs5LLQiGUsMwgxkGYjKVoo10vDSRfiYvI4V4FYV+/kaxVMWT2Z1oMulgZHEcA1IZgs3zVbkhH7YDWY8XMixXyKcy6UAoOQIrkjQiqDJikNlKPSALB/qh1PAr0V62ZU1mmOEhB2Q2joTdZZYhgLGRbfENzzBgighz+YyTkBoW5bCKywlpWwhBLLIpeWayLDtjqOKKVM9IFiSSzMlQ8Sam5QWWrFUH6Q6BIcvgQd0BWYc+W9JZxCiVS3IfaYtEUe5Qi6AXpiF9BUoy5CkvfA/CwgstzHiom8BLcH3bVolwDFHybdsNoXtwXCmB1J1KG44p5RbEMAQtRCN2yzKlScGTihD02pZBK46yxcgqDT4asdTGSxp3IDtAHcCPwHikO7AsHQW7mlmEbUdV+XEiS5yQnipgBq70I0lJPY2PxsnTOpQxhZW608onH5I8njihL1OWCAvlEvhKUPRkGDDEs4qwVdTM8qVXikydgg7h8YEgJpIJxZcUIwkrXjiqyI4FpmQoT52yUmZQcgtwNxcswZcmHKmttZ2Skt9keCLPFSpgifYxHyQlTch+pUuhEUhy4yXtUJm9XCgGhBw6T8bNOL60gknqRbI/UJ3xqY6VErskA3xlNIFcLhalt7IqmFWi2Hkh07UoQxpmZDlKrUxEQWrXZP0VMCM8d9BNTFRYbcC3Uh6YhShYYaYkhygvyknDLvmSR8iSSSpjsiL3apAlN5IPpSB/atpQ+SUcmeSvLHm/nFOWpV4KyXWVaQYXllkJJDu2ZH0iUChHxmRLgq4eCh6ngdkQJO18IIvCmNmidPrxpcUTHcOAOEVMRUt5K0PD48vxl/WP5JOVNMW2ekp5J5XMl4p4BVKlIInH7MtarCCLGAXYWOWLBg2QnO1BwpfzuSznm6lMlpYrS2ixDmZkoFUvVc65UiPYP6c+Y3iIDyxBh6ZXfHujnDGTDZPUiiTiqQuUEiK+n6hYKAxajtUBQ59gRGkkQrV7i34m93tK2JiV3BKmkn5yZaTcWdSoMPquLTUH6sz+eRToZNVaSFcjtXn0XewGIqd1YRoVr0Ql32lPKZUrgeo2ZIkIqZKYMI34vRt97fS7voguGEZ/DFqVdOpIUY3aHUBfjg292dXvYV/TlR4b1G3KhSC0O74Qr9RDLYx6V6k+WDkmBpJP/frTNwxVN2cM8EnExkffV5QkTd6LGmdyWqmUZFbnmtE5gVE5v2/cVDKwAaWoHm49J/t1hMo2B31pPfXjE3qozWg+05/aD2r+KA1Rv3Rk6lfR06AtYPRcYw9JVI7HRqoyPrW3qbsdVJ44DQu1GERHrMr/mEL0fyB0VaPyWxoyS4i+pC7R7VQmWN8sqHnLRPR01K2a7HC6V4Q19QFEFCxN3IWmSigY4wOZGas/mlUrUzsVqxhMU1cViKBvN4zL2spXen2rCIPYVKDRqmkkojhW/++MOAUgGmP0SSmLVAhVb71R8e2oEKeqK8XaD0WfANYkqXJEXVL5fapvw8ptknzqL4nD/o3X0pnafxuijpVqYMmvr1GRgv0IU6zzdN4rXxCN/kSkX7uDvs99FwyCqiuqCoDVp8WupiR02F/IxnhARAgjIa3pVNivDTo++IoT49vVz6uiPdaPPqz9pdFvFhkDfqCzwnDgh9X36/jT7HepcKC+G4M+P4NSshjx36o7iR+pnfxhrOU49es7LYyG0aj66QDvUP+nxBga8cBpXVBaf8XDOI4oFotU49qIAq0nrV1pUjCYvcDoX2J0QBPjAEkJRY2MrEMA17ZsxOLahZigPHqkejUad1e/X9sA58QJyyu6pBgj1HVfYm90bYJgeGM2aRflCQUy5pLXi64vzY9mfAEGI+uVquQxFT+kyYrJzmCGh3iOJkKdgmTAN9+YxO7lw0DVWA173Oqhqo2IhphGVdVhBLtQTDDorZ302/W8vhoBbDuaGKBQdluBGczkRTzJQeTiUEdeJqPGtlKHHB2A98R8zkWzYwTvsYrEhMOq3DG8tXjCPamBtIYNhzpvYHgPmvFKYcRKTEP74qlMhiQm+zwSBGPcQNWUqI4S/jmZSQzrYKrj7+tcFKtmTD3icC9WJMa+YKSMFLy/HDMMb8Hl92XMQAKSjEdVGy1+TcYd2pNapTWQUWCu64pJCclgtAivdfRtMlStgLX/HMzKs5d/7uXgsE8bXh/iX+1LJ0cE9V6ryhXolfxixDFmHj9DPr46f74vHR7QEjdYg01DHQajrRP/BgcIyhihPgcqsYIR5R0hcqlrBdCRBrUfGbHazo3yoOtBfKetiaajUt6FsbQxovGxd8GHO2UdDIPBYExeVPFX8n2R2eoiv91apyXGRANIDLEWXXxATA6w9xyDwWBMXhhK6aJVFOQi6nmeHxEXduCd+MAD8mQlm9Jko5usg2EwGIzJDjI9kOsuGY+axhIxGQBLn6xRpXxiEonE5HHsZQYzqcHBHQzGpMJg2hRDltSoIO5kw967jQKqx0LmJIqyFpMAzGAYDAZjUkNrX2CJIPpClGXASjSMCQhKywvWQsUf8HeSMJhm1jXhQdIHvJkwEJJLWpWZMJCloUthrFi8aFLQ7dOY9CUIj4WhiZFO2dLvHxNyD0choyJK1SUrqKnpQUV3dQbSOMSogRqnwr/4UCgU4pejq+suUQ/z+bwYFqgRzHyh8nuOtrdmGMV80toqxhu6P/T0xQQAuZ6IGG+oQhhVI+rq6gpfSSAS6VT039oTSPuCDlDgtM77otG49CU+ks1tFOuLJlYf8CjzuRxNctHUKrRmZjAgobSrMBVEVNFNL6P0AV9BEpAXt6kc2UQzQnuqk5qxIqHjZ4zaLJ+Ybw8kN0ZAql5jNA5dxWSgOTD2651Ov4GnA2N27Qnkr0dyCKelkslh5uWLXXEsiqpEDIlq6oKciXGF3smo2qLjv76DPTiOQ53BtByQZ9BeCzSnra2N2GddXFCdWVGrqLWOfmXE5gBFHmn3lyaWdpMKYbSeiKb2DWhyfx9TyWx6iipAsJLBkL7FqiHUqkrpgKRoV3kRRFMiluyBdmNVdxqonbiYNMDT17oWLQwwJqAO+qsxXs2pWhtRisG2y3iCOutDOFB6/npAq5tQYowm/+jdqVR4qE5SV/HP5EDkbOwR10SKcQUROxofPA76ZxXouQu17wKI8QzZMtgu5nOoZpSv/lbe+kizQuoopi/Nh7hZUDQvmpzB5AsFPEW8+ZZKyiS1LNEuRKi9IEkpiqEnwdC0DCbKWIWbxV1TYbAq49GkWr0wE2gQKGEXHYx/oFkhxgq4VjabxXXRK8xMbQOtAvWKZjJ9EK8cWuMoohaG106d19JqHlKIeuNtqyWmSGvCRLCSYFgkw1CGHjAJqGFqz6G31VFIuG6cdu8FloKp5gyR9XhOPJ22rqKYUe9CE+/XJxu0dq2JuWmTM5hMJkM7lZKSB7lcTqi3mp4odifY8UBsrFmzJlBv82j7wYyxX0UV9M6eFsonn3xSq9P15iysA2KEMFItD6+dF154AaJCr9q0uNNmdN26dc8999z69evH0mkD12ppaSmrHTbJqnCgSLGtCiJangZsasgBoYMQbLt3796+fftemhoSYR2QdEExJHzIZbPj7mO4du3anp4eGpRwEE1bPfdVx6XqmpzJZDKfyyWSSdKM4p+155Ac2rhxo3R+UpPWrI9qrFy5klxnSL0X75bWvoi4mwirYZoCNNNIE0OTRzQjmpnBSMfVUglLJ975b3/721deeeUPf/jD73znO9dcc81DDz1EDox4tBBUv/jFL/Aa244j3/AmfdJhfyfBPXv2YExIBRVGmphJtf3CTIAkk8u34naVhApB8PTTT+OrO++4Y/PmzWPMYOT/UE887+qrr4bgqT4pDH//+9/ff//9tHuOKxRfKWhT/sQTT9x9993aUWyU8Mgjj9x0001yngVBKp0mD+JxxK9//WvatEj//Rpz6rigs6vr2muvlXxCTcLaVUiSv1zuhhtuAOOkvVY96xSawqIHso7zsRKS3VwobSvFNVSqA8ZUj0Hd5IwxwUEvNTGYieBBPxqYWAwmHOmXh95GrJjXXXfdsqOOOu20017zmtfMmzcPS9inP/1pOgdUBhsycnElv06hfOvwQ6hn6Jze3l4dpUZRS/hLB7GshMq/En/JC48UG2RXpm8pzWWoJCXtd3GcRAitVnQarez4lsxb5FJK55D2yFMBCzQXK8ELkV+kNmMXI9OYBu2xcP7//u//gq6RsgF/sZUnJaN2UCBNNc6MG5hok0qKblxLq6NFJHRx0FcviVBusFXKauqwtshS+Az5IYbqePzZ+xFohKmpctQ4PQLaNQZR0BB9RSOMi+rOlxREVOFFNl4mBYdHB7ds2ULLuh4ssiT+5S9/WbZs2Yc+/GH8pW0rzQSto/JizcbnQx8djMac5g89bhH54dKYhFHkkYg58FJ/LOXRud9++5GuYsP69d/97nepBTwPzDqwT5wMaUQzVk+GIJZElRokF3XqlZ6W+lmjfcxYujV6yjTl6OngL9qnKa0HjZ6v7rmO4NMREPrSH/rQhzDBaLZ0dHTMmTOH+i/IYhXzRSWjSTzMKv42icjeofWFOq5QX07Pk/g9eipHaRhVKNTzED/v7OzEXwydq8yI8UleeaOjlz1O8elypLejr2hY4hFh2nfqzW9+M26fZqNsKnrpdDt6c0y/wrOYPXu2JBmuC8Jx+Ze+hPuh0SZQP6Ezk7fgeWQL1oNG905zj9oE/a2Mhrp3tK8fIvVET3uo4qD+0WENZGGEfrpi8lNze/SMjIzRQxilJaTXOb4+NAehkTtP0byg91BEYdWHHS6xdOnSs8466z//8z/BWrDpoZ0NSQ75MqvlHkeKCpl0mtY+WKMgOfAZOnD97JMqEiSVSkEG4GQsN+SdIKJw3K7OThzBV4FaAuggrohxT6fTofKrxcTKKvqC03AOXYUsCFhecRCdQQdwLe14SEst3RR5+YBDaJWSm0hooU4nk+oeF4IKmrgR6aVIWY0Vs5DP0/ymS+B86iqGSLI01ay8iyBIRisdTsNiip9DGMj3RCkw5NVdlxY+nI/fkrChF4YO4tJYW3Fcyi2lb6CeF0slXI4SYxuxxAamkuv4Jy4k9WSqjjyJfLpNGnD8VnMI/Aq3Sc+pMg16AAAQAElEQVQCt4nPdDms1CRuyd1E1ARbYti7u7uxxz1lxQpcSPrzKsGAX2Ei5VR0IrT9OBU0kaSLXiDIfUE+AlxdiWRclOYGfohhIZJKIoF0JzJeWnEC6jN+TpQF99bW1nbKKadg+uFX+D0awWlEYvC5vb2dLkRTF3/RVaLg1CxAo0RcQWcT0EQ5rnEh8kFPEO3gHBKuthouXfMW3aNG0BNiTn5U9g//xFSni9KA4KudO3fSyTi438KFxxxzjIiSbsmuKp5EXaVxDmMuIDR5qGN0RyIK+sVndIx+q6eioYidfhAYIpA88v+geUJusDhOU0hybnqb1ENXYfShfi9oxcCNa9VUGKVsx/QwI65mqBUGE48cmPAV6epxJhoBP4YOj24BTYVq+yHnj+KUxBr1ZMY506ZNO/XUU2nG4ttNmzZ5atrr1Yb4HE4LlBObDn4mwmcrQoN7KChKihvEJMFXuDS0O7T90KQQ36LbWbUmUFN4JTFXaTDlwtXVhdNwhJY+0gwJRkMh6A9N8UWkbg/H1odBjA6aOemNVirojYWvCnjSU3z7298ObTyOkCCntxcL61NPPQWlN97qKVOmnHvuudOnT6ed/Z/+9KfnnnsOTUG6nHHGGQceeCAOYol59NFHsWunZQgM6fTTTydZghXtz3/+M1YiXOLEE0887rjj9D5GU2Asc/gt1nqIjSOPPBL6oZaWFlrEcXzVqlW7du2aOnXq+eefj5ULQnTd+vVPPvHEAQceCM0/TsMiha9mzJgBMoE+49Lagg4zGa57/PHH4zQcxIL1s5/9DBbx6371qzlz51500UVoEAsZOM29996Ln+O+Lrzwwrlz51InsXL96le/QsfQn+XLl6Nv+KApFIBRwg3SBzS+cOHCCy64AIudVFOH4Z133vnYY4+RSIAkPvbYYy0lDp955hmMCQnCk0466eSTTyYOh1H6wx/+IMWDaR522GFQlWHlveeee/ZToKj4W265BUqRgw8+GL/FFW+++eZ3v/vdZbVPvfXWW0E78AGc781veQsGBJd+ac0aNAup++STTx57zDFQvu3YsQO/wl88QTyRKvoSqkwbUFO99NJL//fjH2NDjKePVf7ZZ5/F5/vuu+/QQw45/4ILQBBhx4EqC1+1trZi/OfPn49bI4mFz7f87nd7OjvxE3yF27ntttvwEHHC0UcffeaZZxoRaHJCxHbt2vXHP/4x29uby+ePOuqoV7/61TQ3fvOb3+CJ/Pnuu5986imMGx7fQQcddPbZZ5MiBNPjaTyCnp7999//DW94AzpDEhfDjpkAggVjDZ4IugEGh5HEA8IIC6UbwKMfYEFRR+644w7cPtgAHiV6u2TJEqFoBwgBGsGQ4mHNnTfv9a9/PVFwzBx0HsoG3CCe1HnnnYexxWuFNwV3jcHEOGMCvLhyJVrAZ6LmDz74IB4KHiKeLH6CH+ISYKiYiueccw5MujgZ94idBgaNeJWIGDnOfPyJJ+iNwxEQoxUnn2ylUmgWD/c1p512080341lgtT7hxBNPOOEETH6MGOY55iSO45XB+biu1jFIGqFeWLxTBxxwAF6cDRs24Cu84H/zN39DtAkTA9MPxxOuO2v2bAw4xidQCg+8/vgJdQzLAlYA2Kfuuusu3A4GHD/BLMKjwWhgbPEXA0jKYKE4riaImMBoCq8wZhqd+a1vfQtDh3WDmAoxchzHyMAwhCGCUDrn3HPxbkoWorY0GPk1q1dj24EXGdOPnpGhwuuIzmKO3v/AA/gtBh9z43Wve11eAS/7W97yFgwOurRt2za81KBTlJwei8bjjz+OWxaMhkLtLoU2vY7WO44mgxkzy2wz62C0h5re++qFAIC8JDaD95z2MfgK+lus1Hj53/SmN+H45ZdfTjmvvv/97z/15JN4jd/2treB2fzoRz+CIMT5Dz/88H/8x3+sWLECx7FcYmHFQonjIAe//OUvp06Z8nd/93doDQsEljmtNKagJ1z6//7v/7Dio1kIm9tvvx3CgKTX7373O4hJiBA0O3fOnK9+9au0AGFZ/OW118IEhjYvueQSsIqrr746p/bo6InWvaP9G2+8kdQt2Ejht1OmTr3ojW+EQMKSB/oCVoT+44SbbroJcvGtb30ruvE///M/FEhMJoB5c+de/Ja3YP29/vrrIdXIIEIjCWCgYNrA39dfeCF6gtZgp6Pd7b333YdmIZne9a53gbug2SeeeAKdx+KLccCK/J73vAf9/8EPfoDhog3l5z//+QXz54ORQAbgIFgOzkebWJHJCRQ3jjvFyk6xFWvXrl23bp1QvBPPAnwCazG6kc5kvv71r0MYoM3NW7Zc9cMf/vWvfwUvXLZ8OZZpXBEC4x3veAdEI5rCIh6fLbhrjOdrX/tajBKoAx7KzJkzsZrjXtAIhNlJSvJdddVVYAl4Xu985zsXLVp0xRVX7Nq5E81CVmGgrrnmGrCc97///bjc1772NVwRYhtcGX+/973vQRLomNhQ+eritJ/8+Mcwsvztm96EK+K5g/HgKeAcXBcPdMUpp4C14EKvveACDCYe7oIFCzBFV69ejQeKn4ANgFvjKYO9oZ8YDZyPr3AaOgMugmvhnMsuuww/xygRE60NdIL+ClPuhhtuwKzDEIFVQILiuWOUcFFMOYh/sENwl+eff/6///u/hVoKr7zySjwODBcmKrr005/+FD0HDyM6e4HqM87EV889+yzp2/BMIYAhwsGl8C1G6cUXX8TgY3rg3fmHf/gHUAe8faACP//5zyUXUfIbw2WpoUNT//Iv/wIlGd4svHHoMxgeTsBbgJnz9SuuwGBefPHFhx52GCYkJglZe3FFzHBMSDz639xwAyYMeoL+6/hktA9S9alPfQr0Fy2j55iEYC1SrxYEGEnc5vve975L3vEOTIlPfOITVLd59apVP//ZzzCZ8RN0+IdXXQUGgJH/27/9W4wz2BhWBlwFPA/PBR0DS8Db96vrrrv1D38Ioph5IvEYZ9A+EK/jjzvuzDPOwIzC6wA2T8pLel6kksGCA2KHby98/esxepiNpHzFCgOme+5552G+YTS++MUv0guCDtA0QDuYVHhD0WG8FHiJPve5z2HmgLiAcpFPGO4XH/B8aXDA/7Au4SlMBFchxiuCEQMdIQHkN1fCsyb35NWfSZ+PI1go8T5vWL8e6yNeY7ylWJJSag+H07DTxQqCfS02MRAPeN4QD1jcoQ756Ec/CkFCmxvt2YDdJ0QyNoLY0GDD9MY3vhGrFb56+umnsW875thjYf7HiowVDRxI2t2hT1YkAz3BXhn/hMDAb6FagGzA1dEy9otX//CHWMpxHHv6s84+e/HixdiYkrkB4hkLKLbUs2bNAr3A0gZJj39irSEVEdpcv24d1A9HHHGEpfTtOIgPOB/nYBmFVglXwV9SDEAMYAkD4cDeEZ1Hx77zne/giq85/XRoa0iXgN0tVmQyrJB7BO4d50AkzF8gARn24gsv4JZxDgTSxz72MRAj8CRoFDCeK198ET3HmKNvuGJ7WxuWZown9EkQS+gq2jzzrLPAGLChxLCDDaDDeAqQQKQtx/4YPcQTxO1jCcYjwy2jzQceeADLKy6H54Jbw7KORkAU6K5xvxhGaG5AOjFKkFu4l472dnAUCDnaoVZNGAw4/uJ8CDz0Fq8+FFEQz4cccghGAEIOKhlI0Hnz5uFC2M3j+D333kv2Skytj3zkIxgNjC3oFOYGJhiePn4IBgPzJWaRJoJCSRRoHWAsAG3CWOGH//iP/4ihliqNUkkmLgsCHMeFcGvY+uMzugQBg/HHbMGjwTBi1oFHYojA2K65+urPfvaz6BtmHVRcuH08C7IAYmZiHDCBcdeS7kRbfw0MDqY6GAn0EOg/piU6D07Q2tKCW8aA41mj5YMOPvjfLrsMDwgtS2VhGELY4x7R+bdefDFEPkYeqin0DRdCO7j3inFHKeTARKGY+dd//VdMHjwydBI3gqvQw8IA4gliQqL/eNxQeNC7SdYZQ1mgwN7w8yOPOgqdgZ4AFAHTHm8cGXRAidAfsBBwNUz4VStX4uq4NUxL3BH6g6fw8Y9/nLQL2kMIn8nBC7IfDUJHhdkLno03FAO7fceOmTNm4BnhQeAr9HDrli07du5Em7+/9VaQY7y8mI3gRhgH0DvcCC6ES6QVOcAooYe4Ck7AvMKZ4A0g0FCE0G6BlEzog7Tfgde6bseUKRgBXAtzgBg86VbJoPzBD37wqCOPxGTA3EOHwbRw42gEjA0LAqgnbhxUCe8FMWZ8hWeBC4Hgvrx2Lc7B+KCreGuw1OCho03MIpxM6yQeN77FjghjAnYOfQz2Fc3hNjGpoM332oqkbY7+6Ke5YyvSCIDoAh4eOZT8+Mc/xr5QqKUQTxEyDNKUdDDk6IDlFeIBhmSskuQmiXUZ21Bsar/97W/jn5CCWCzIIUP6PJbLWESgOIHCAzwGyxaoDOQEVhwsFmgQokWarpQ9G2sx+AHOIa8OdA+bJyyUZAtHP9HCJz/5SXwLte3RxxyD9YsWNbQDHvClL33p0ksvxWlYXCAhaPJhFcM6jhUH6zIu/dvf/paMI3fdfffyZcsg9rTbjfZEIadL9AqiFOsjVvyyynmFk9EapDVGA4Nw0oknYktHHdujoP0oaUnFcSyU0hkCyiHbnj9vnq0GGRILKyy+hRjGr6QHA9Zo9dosWLhQKPUS5BYkHFnWsGRjTLBeY/2F8MCAH6eAXh14wAHQ32AE0CWMFZ4XFuvOPXvQT0hQ8DO0hlFdoXxWtPvOq171Kqh8zj7rLPQWzxddwt3hOLgCRgkShW4EHdBaVq1TJS8QMsfQzgUmGJAqDDLNEMhCaQ2M8sdkWlrwLYwF4Ae4EB49mqW9dTKRwKYcMg9nZtJp3CYeEMZEZ/KgsUWDkBkYapKjpDOT8njWLBo66m08GBIjDAUGZCFNJIwYfo4nIuW04+DZQSzRJUAm8EBxJ5gwkLKY/DQasDG5NTnlIPAwtciWip7gNIwwKDXMcJj2mOci8mYFHQYJQAdw8r9edhkmEvQi2BVklduTUMYRPatp3dSR4XibcBXQRBp2TB68Ajf+9rdkoMSTxSjpGCsMOzm7UGsUMoa3IFDOtrDZ4S9OIKd4/Bxdgqz1o6TGeNwl5SiDi4K64fYt9eJj2mPq0myppOpWmYHwAaRKRBl3QDVwDt7ZhQsWQPWCmyJNpLxH5VGLZw1lyY9/8hPQEcw6vEEf/djHyG8XLUjnJEwkw8B0AttDU+BDWmag2+DieMfppsjAjTPJ1Uz6KqlNDpl0SU8TKpc7vAvopBFp8mAmBtUgFQ7Ox5iABcodi2nilsGY0THpQqe2HA/cfz/Ol/YvNUXRIFgajFZ4g6BihI6QvOuwo8A/oQvEcbSGtxikVjAaDXGCEkbhlqSuIz36qDKYMVPajTWDCfdaDHnEbztUecnIexRa64rvquNgLYAkoIUSWyVyS1y3di2td0RUsYijP1hh8e3LAGz84AAAEABJREFUL78MowmWLaywWEQgOE2V4xLvNiwg0H5/+ctfxjryjksuOXnFCpz//HPPzZs/H3KXsmfiL/ZwNI0o3ys+4FsICVqnDLXSLV++XGpQ1q+fPWsWqWqow1gcsY6EKoGNjmmiNQhfQcDgiqAFkPfQvuC6v7/llq989at9WTcUaaPgBRHlrSL/AHSGfG/TKsaV3BGwGnb39ECNhFUYIh/mNkgdMDZtVidSKP+6bj6Xg+CERASwAQXZgiyExQefoSEANcHQYZRwdez8PvCBD0Bf/c1vfhOS4L3vfS9EPlrDJbCrxkYcNhf8FiYM7K0xRBBIEHVgk2AJ6C0IAdpcv2HDwv32Qw8lOQgC3DsWdC130R/8SrrcEkVQUTDkXwz2gM6Q+yTtemWu0thspIdOzJX4EA2aULoZSdqCAI1gj1tW3qCQ2ZhCEEL4IMUPWZdVU1IiqsyqRhSkjQ84E73F9SzVLI0kBgdT8dFHH6WhRgegH6KJRz5b9JS1Q7q2egjlSE63BpkEEYW+4VtoifBtKpmkZKySB0feV3rOWJERk5gfadQwwTBWdCaNJyQ9GV7RMsiEHw0yZgLIAZ0D8fmDK6+E8Q4MiSYYdSlOCsnfFmMllEKL3jt6BTBz8Bx37tpFmw0MBXnaEgkgpQt1Uig7F/EDvIl4d0Cq0CswNowbeePSdTU1Ifc1UvzgooFqOVRPhxgeDbKm+NpNjYw1+Irct7GlwbsAAY/2MQlBB6XHldLPHXLooVBNYbsC/g36hSlNy4UcXuW8TwUrwAkwLFBm6OA4zHwMb2Uzo3geufzTigT6a0SkKox8pclEi+vSZ3LiocUEzYIk4Z1CP/GSkiMd2sdcwtXx/tKcf+bZZ6G7ojulRtBbmOHQDsYQQ4S3D2QULx24C+4Xbxl2R7RDoCdL+jDKoTVJCgc2Lqr8/OJHKATVip6gEUty2CjmQn0vzTwLSVMiw4iyWWyYoA+fTSGdMdAqg9PwQmJtmjd3LhSzeFG1oxPFWsMY8ZnPfAY7GCIWEFo9vb2O0jpALsJsD3qE5eO//uu/srkcpPjSAw6A0hjnB1H5FZxJeyy6KPqGTR7aofUOKwL6mVdBJViDwLfIYQInQFDht9LHVgkPSuqA89FJoRTL9AGnQU9+/a9/ffLJJ+PqMMH03aSalGRLItmpg1MoMIHENpYwLItYy9AgBkFLTbkpVPKKhjRUQiWvFlMp8lWUDW37cEfo6i9/+UtQln/6p38ikQZ6B5UJbXZBYt761rdiuLCaf+UrX3nf3//9GWeeSXETMB7BxEM2eNw1/okeQuN96623oh1oU3Aa2IP0qD30UDwR6B5y+XwLBk0Fd5CsxV98BaVOZXmNMvjhHDwm8E7JXVTdeYreosgZisOi9IbYdJLQjWs+acuCf6Kf5P9E2iaaG6R3AWMIVISq9mwgJlSRwVFwMs0oCmPGOOOOwAagUzGiUFtdMYAUQqT/J/OBtnUSsyEeQ/tvKBsgQSGxIERpWpIepayCr3Caqx4xEQUdaFNQGavxfNE+/lLsDEBztae7G88LNwsahCcoeZICukERRmAG3/rWt8Dg8bjJv/g3v/kNkTYSqzSS5E4B7kKzS0d1kn2QHiWFKItYIoMwyomMf5LXLQ07uWjAFEWKmQcffBD8T36rxq2kgt1I5UMTHi2A1MoOR9VFihEPoMeqCauMPYSOVgUNJZJJWwUG4mbxFzZczGewNAqUg6UvVHFM+Alo+v6LFv393//99ddff8UVV4CLQ8EjH1wmQ7FmuC5mCCYtVgPN6opRP/WmQsRqC1CaBvLU0dSc9lRoE3+JPYfKpZ10ohjDI4844kMf+hD9RAfnoyfgiHKxsm10DGwmVFFsuFM8PlAWemcxebDCQHsHFSksoRhG2KFuvukm8Npzzj1Xxn9htFVwPq5OBG5UTQOMUYR6cHI/ECn5NBqFvsQx1n4wtE+N/zd6IAsR/cWrmFDqWaM/hBJvUrVeLC7af3+svqSDoV0aXnjSz2MRIYNLqOgObZ3xT2iGsQ0leQANCqwJMCfjn0cddRTWVoovFVG2EtqWGVFKBqhzYDAif1v0EMvHl//jP9A+LnTTTTdRWDX1H2YRiPAwit4EKLgAHyBasJ8LoxQUYFFQZpx++um1o1EhZKriMXEL9NNWnEbbR2kfDEH4q2uvpV2XzBaaz5dUKCl1G+qWUD04qMFJiKKT0E51dnVhpcaIoUvgUnqf/axy4cRtom8QNnR19Pn1r3/9Lb//PdrEiEEPT8YsiPPzzjsPR0hvAfEApcLqVauwCmNpxpZx86ZNYD/gZ2gT152/YAEGh2QzFlmsy9iMSoVBlJBGK0LwRLC/1HlByClKRClYSJbQ/dL2lKYHbXYpEBEjAM08boc4H2mw8ATRmUqhBsVQKzoq1R8RxdWLiHDQJlur4iA/1qxZQ5egB0SR3iQzSBpR/+mK1EkdZEvSC48Mu3Y0tW7dOjwUugsKDCYziqStkZJJKF8HEWl0yLEdvYUAwzzvVjn0SMCvXbeOigiC/GE2Uq1s6v/Pf/5zMBI8GghOjAnd/lqlwqQHZ0TJZuiVx2/JKorzMWJSF6VIAwBLh26BksuRNiWMjPfal4tuH7MLM4T8eHAQ/wwjbk1KHZrt2hSF/qD/pAUhvQXOBk+lp0NKEdpRWKo1OVxqeHfs3CmUzQ4qKMwrUvWZym2L3MUwJ/CeYjZiYUE7F1xwAXgA5hiNcEW/hRff8zCrn3nmGb0pIodZ0hX5UdJ3ekw0N1Lqra/wNvUe0YMj2graQfQFF926ZQt+hX9izuMFxNPX9IWcYzBQeFLSHadUOuGEE5588gnJ9U0TDxTtw/wNVRbFUS9evBjvHY5jIrV3dBx15JGPQDWYz4P/kf6MpjcRF6N5K+A2MSqamCiXldcUJZPGw5OXCpHo/0YNVlQNBM8prTK7GJFjQdy/ifwDKLsadh5YlbBZx+qABf3f//3fsS5jBUQL2F9iQ4M17oc//CHMGVIdovxUvv/970Nq+ioVPTQEi1RoKGw6aAH6g7xKtfJ///d/MJGQW0NZySr0hAwuIDrkr/Cd73znKKXjxY4W2gioKCinBdp8/LHH3vnOd5KNAxIOHcD5+Oruu+/Gb0E4yuor6JCwzkKuwDhVy6axlkF+PPX006FKVYx/yo2vIlgkwmkRx19Yx++4806Ye+hy2Fxi04kBVI/OoJQSbe3tzz333G9/+1tylME5WAohOCHzKEKKvGfwgYKkpNomn//pT38KHuMrjyLcF/opo3Pnzr3yyivRbVwaP4FOHmNIIhBNgeetXrNm4YIFGFX8c/GSJRhJ8DmhynZixCBgvvGNb5BqAc8OD+gkFbUrYpta/BNkCLoZdBjNYvSwq0YfSGxo0A3iLogukBoMCz19ixGDPQuKGlgMyQMDGvgXXngBe2siAVSTj3wgRKT0IidNMmroOEZiJGgcv8Vk+9nPfkZMAvoqqPHCKCEeWbvwWKWsUtnhKO8LyXWa3sQPMMWh/Me0+cIXvrBh/XrQVTT77W99C6KaUo9g8KmkDsnCMKoRRp1Eh0Ej9lu48N+/8AVIQRwE17ztttsoQwkmJGQ2bhbX7dyz55prroGcxoM+/LDDMPPxfEFbQexuuOEGylsj1U7KERvCPlSvGGkTcRwzEK/Gv/3bv1HFBjR7yy23oNs6NoqIIDoMGoHxJB8mStpElA7yFW8cniDeHQqeIjqilS6Vmaw+0D2CQECpiblB1uSvf/3rcjCjDEC2Oof0iFdddRVuhNRasHViT4IpR35XmLeBytdMIXuUXgg39aMf/Qgjhg7gdcD9kosPgCmKI2gf0wnzHJ3Ea2up9Dx4ytAk0cpgRbW3qD+khcI9Yj+DG5T3otYl4qNy/+A4uH2wQIwYHvEXvvjFs88+GysYWAjeBVwCXcJQ4AH94z/+I5Rq1D7lv4Gqr1goYtDInRx6LNwyViHKfYVlBAzmoosuwk+k4figg3DveOvxF4ODPRueNWmPtB1cMBoTYVRQIogSMDauRq2ZrUh4b/EGWqqKG5ahAQ23ZB2Q2nK1PmKXj8Xx8i9+MVB7xA9/+MPY3KCFr33ta5dddhnkH95bHMRyLz3mVLITnIYVmZYYWD3+9k1vgp6jo6Pjda97HZZXyH6pbjn66A984AMiCo8iOzSWBnAFrCM4TWprzznnbW97G6krPvGJT4D0QBr19vQsWboUV4QYI0mD/kCOglqR1ye+SsO4EJWbfu1rXwsdDHkwVN0vuoFVFc1++CMf+ehHPwpahl0XecCQvzAW36TaO6Lz4AQQVFd+//tzcbkjjoBNB8OCbTTOzKTTuFwum10O3U8QvPvd78YaDfoC/ZOvLOW4UxjRP/jBD6LP0LXAygCmhQ5At4SfQ0JTujksnW+9+GIMOq77L//yLxAMlDMNxzGG2t0VQhR8capKYYLeHnfccY899tiBBx4oLV++j0uAT6DNd73rXbg0ZO3FF1/cphK+4RJkghFKzYbzoR7/7ne/e8k73oHP77jkkjPOOIPMZ2SPIP9TkhaGcq6UyQazWXRPOiQpzRMO/utll4FCYQBx8uGHHw5zGyxBZCpKq3i3tAJ+S6nAcPWy2vUSvSNjEDmf4ggsmxguCB5Yfyg0jPygMTfwFOhMCmX66le/Ck4AUyYIH6UaowKQuAqsA6TVhzDDyd/9r/+ifMQwbeApk+2GbIIVfUxUIYtUjPiMjuErjAwsgP/8z/+M4Tr4oIMuueQSjDN+jp58/OMfB8P+9a9/jYvimaIb+Ak+f+pTn4LUR4NQv+F8MBLMEzwUXA6dwRS6/fbbYViRruLt7cQnoCnE63b55Zfjiug8bpz6j27gBumdJdUI+QMR95W24J4eKCdwPl7G97///bgpjP+nP/1pKOHINEPxhvTDMMqDIpQbGc6HiQfvL45gM4DegifpfG5EE/GMPvmJT8CMgvbxxPH+Xnjhhbh9EF/MLtw+Oo+uXnrppeg/XQifQcrRB/IqQ8t4p0j9g9sEuQEdx+Iwfdo0dBuKK7zv+Ba3iYM08chgJ5Ur5TLuSJU7MtEZMAlYrmGJRjt0JkYAF501ezZ2WVf+4AdgJzgCsxFeK+LoF73hDTdaFhYEjDOeDt473CbGYYFi/7Zy3v/oxz6G54XXjVLpfPazn8XxTEsLSBhaw5uOISXtJsb8oAMPbFeuUegeGC24ESVnCqMcjwEHKDUajP7uvXIZgSI2yu/QiKzUuOeee04++WTt6aO2A81DrvVeVud0qro3crWrqJcVa9FuIrQO0hJPhAArPpYGWmTJ8UKDkoBpcVhxRaSE4kohrM0H2vKtU3Xt3rWrTa3voD7S6SSy+JDnBIlh8qCELMfWEIIB/4S0AC3TYQVUZxjrKQ6Cx5D4j98psWxKGEp3QVEPQln09bY+iIp1+6q4Aan6SULQAFL/r732Wqyhn/zkJylXKemZybuZXFCpUAMZU/S7QQ2SewEpJPwoWzGZ5+wRea8AABAASURBVNAlMtzQ4AdRTWNBBkc11NSBIMqHS/dFLei8omEUmqTvnfQNgco3CgmhvSPDyDeZnpoTc/YMo4yINP5ClYyRpsDIp1IoTiPZD+SQ0hYQN6UdqqvCjugqpEgQysdCxwEFUTEHoWw6NA6ad/b1TbnX0EQiqyKZWqyIb4WqV4aaAHQEvAf3GERJZkl/RrtnPRo0z+kzZaah56XNmmFUVkInwqLcuOQSoWdpRSenYr8Lyvdc8yQy3JCEtlSSJLK3BkoEUty1FuTaMEe6UlMVhzJUsJujrFr0mGxlESP7rDSHYWTUeyQvpBK7aUdgHWokSB9mmt3Ka4TciWju0QmYWmgEHAWkFtsDYhX0KGkmo59S/9TZSWGAdOP6SVHGZ1K30GulHW/pxXGVKsWI6obSfCBTnX6hqDVtOCMzEL0+lopnDCNrF9kQySOH5hiOyOR4eKHUHA60YztUJkrNQ7Hi+regMvTu47XF66BnsnRedt2cUvboLIJ4E9ETsjzSiFVeHGUbFYzGQR9Bielb8MRJ66lXVNEICCeDJ69QKxetniIyKlWfoI44KvBEy0vSV4soGx5t5kIV+GOoggC0dogY59MRznQt2hOLaDtI19IWBPpMzhb4DAUDXSipPIiNiA7TqqFXCrL7uMr6gG8pWbBeAfF39apV999/P/ZeYqAyjbp7tLUF39IiiuQ9naZ9u/CBAi/lGEZH+mS5EkI0Dgkdmqu+pRYg0kSMZwg1WBRaBcu65jR6NOgGaUh1ZuE4+xGxmED9V9+CHkzNKasaD6MULHR1/Yz6zo627GFUM4iYEBWaIHObEXFccvnUIFJClyPOF0Qe3Fp+V+ZDdGtEEzVJ0uMfH7HKXahx1z4xla+iKa3vUV8df7GblwFo6nnpwYzfnZ7nemz1aaRtErH1Tl+FZk7VXq1P1af27vpeSArqcCqaz/oJoim6IvWBPutbqDwC9Vv6J3nB29FmEeNvREZ9uoR8YaM8/fTSmVGJA91hvKQi9mrgroSeKlTtWf2EGjEiKU6/wpFpU6fqkdETj4aO+k8c2ojMhfRZjyHdBU2qStmQyJtHn6Zfn1C5jeupYkfDqCe/HgoaNGIkNPh6syTPVK7QItrAEKfXs5ecmo2oMDtQinS3YZQ3nJxp4majygemL42GcKBAYHBqEbn2hw1oSGpyBmPUF6ptRGkhRI3sr35vB2kzTl/2/sP4ajXg8erPaj0iGweW5jlz5xby+VRkH6HVGcohWGGgsv5/n/kMFN21Cph+N7vXO6o6rfaOjEjjTf6nNFxWLGQ33ki/bsS+MwZiVwP2qvar2r9iqKez90uIaALUfjvgVQabSPHjcfJU++1gdyGqRmyg3g548gCP2+gL7R6stYG7V3N7e5mog91R7bWGPGcvpxkxPrr3n5j9c/wM1o3KP2MjQ8Hn2sm61j5S6VLNdWvPEYMMlD442NR9RQcHOy0+DoFKJBjGiqtU/Twc6DWvfBXRvn560KidRhR1jAERRMWwzFHOEDNKaHIrUhNAbptUDg/iMTAeUd4tgrY3bdmyBfuw9rY27G1NFbydqMlaNlLAtowcM6GUInOGYDAaGb6qB6kVZnFS3lioKA4VWZHW8GIx6O+q2YhSijF6oKlObu8NNDcmixWpCUA6YWIkmGEDqlhkNOycOVZUz1mH8o4eyJFFW9b3ovJhMCY+pOrFtv1yOa0sp0FNqowGgiYrMtgk+iyYuzBqQHNDJ0FoxDnPgmeig9TOtrKj74UpUyYMsuULlelOjBpI0661jrwyMpoAsMymlB8PWWxFw0IrYPxYMXkGoxbapkku5I04W5jBTHRUXFBVQlIRLUwDn6MiaEgpQu6HowQqzCsDE5QPIAdVMhodFJZF0e/SEbgxp7R206Y0PDrbB4MxICqzRfnBNCiDYSvSRId2ISQrkujvm1mlBdHRDWI0oTOf4rpMgRlNAHpx+gIMG9MqakQxsWFUPIv1o4y9QPu/hlG67docHBNzCumeM4NpAMTjIOphJ6M953hZZDQxGn1660oFgl9Vxl4RV7pU1OqUg0A0TEAPb6EZDAajGRBGOTMpRSfTF8beoWkuTZtG9J1iBsNgMBhNgZhbg3bqZzAGQxgLVSMdTNyvsSGoDE9xBoPBaAYYkWc9J51jDAM0f8KGqvXIfjAMBoPRJKBM2RSWKNgPhjEUqpJ0V+rKiYYBMxgGg8FoYGhvBtpAh1HJUM6uztg7jKjCVxxlVRiVsttNfAbMViQGg8FoBsQ30AZ78jJeISh2OlC17kWDKPCYwTAYDEYDQ+fGkGUEgsCoKdvJYNQJ0sqUGyciiRkMg8FgNDwoFFaqYZjBMPYNFJQkGiEcif1ghoWaBzuqKYBqpxEvTwwGI562rjaKhJPaMV4pIh+q0FPeMANOnQklj1gHw2AwGI0N7b+r/8nR1IxhgKpSCK2GYU/ecYQuHS7Uh02bNu3atUtEAYekJVu3bt33vve9LZs3kw6WDhaLRSpRi7+dnZ3PPPNMPp8vFgoiqgCH54oP9913X3d3N1WDo0IktIjoEoy0rNDfCrcNAjRLH0LlMEWdxG/1FUVU0wQo0EXVP6lBzXbxFV0ovnJR4zKpuDpZt6NXNLpH/ZU+Tnk8ReQMiHNuvfXW+++/XzAYjAkJXcdRROuMiOxHulwaK2AaDlWPbIyZaDyT0GCVQY0aiHFCkxfm068xuElXV9fHPvax//iP/8ARx3FwkKLFVq9e/Ytf/GLDxo0mxsI0wVRyuZzruqAm+ItHuHbt2g984AO9vb34uquzE7/CORD2IENf+tKXIOMphl5EatunnnrqRz/6EXiPUHQBlAJkgpJjZrNZkA40i3OuvuYaXEio1Qcn27aNNtExqhGKX+EvjiSTSfzccV0qOk1EB+fgdtAOjoDE4AT8xUG0j4P4jK7iK/oJ/onj1CxIj6FukzSE5PqHvzihwpwUAcJPcPKdd96JfspOMhiMCYwwAv2TWUujY/yfoLZCsh/MOEJrVjEhXlqzBuoWEJEdO3a0t7dDir/00kvQyuzcuZOk+FNPP53JZLZv346v9ttvvw0bNuBXhx122MKFC//5n/85kUisXLkSgh/0BSxh6dKlYBuXvuc9y5ctAy1Yv3492pk2bdoBBxzwyCOP/OxnP5s3bx5+i/anTJmCxhcvXvzss8+CGcycOXP+/Pl33XXXDTfccMghhxx77LE4Z+PGjaAa+G1HR8dzzz0nFIdYtGgRTkaHQaFwG1nFJNAmWtu8eTN+lU6ncQ7aR59ffvlldHvJkiXo1Z49e1588UV8i3/29PRs2bLlyCOPBFHDD3FfTzzxxNSpU9FV3M7WrVsXLFiw//77404ffvhh4k8LFyxYtXo17hd3CmaDdgSDwZjACJTSVDAYIwdNiyc4HW5yT16paQgCCONvf+c7xx13HLQdv/rVrz70oQ+BBHzuc58jigP5DRbyy1/+ctWqVRDn+AvZDy0ITsY5kOtXXnnlsmXLbrzxRrATiHzwlYsvvvi4V73qf3/0o44pU7B2XHXVVUcccQQoEVoG4QAd+etf/7p7927QFPRhxYoVUKXcdtttBx10EDQ3//7v//7CCy/g+N133w3+8fWvf92x7c6urrPOOusd73gHuvf444+jS1dccUVbW1tLS8tPf/pTdAnXff755z/+8Y+D9Hzp8svb2tu3bduGlt9xySVf+cpXcEUoS3D+Jz7xiW9961upVAq0Bl3CyZdffjlO+Pa3v402P/zhD//nf/7n//vMZ2D/uvnmm9E4OBnuEZTunz772UQyefjhh+NOoZQCuwINAqkCvUPjgsFgTEhUjNSNVpCPMfEhpxXk48ROLNTkfjBUqGrL1q0Q/6+/8MITTzzxuuuugwkGLAFU4xtXXPG+970P50GDAhJzwQUXfPrTnwaJgYoC9qa5c+c++uij0EOQ/QUqnKOOOurLX/7yMcccAwoCzkEqCihUQHde//rX/8P/+3+zZ88+9dRToUEBIZgxYwZ+gg+f+tSnLrrooquvvvp1r3sdaMcDDzxw4YUXtra2fvKTn4TGBUQH7Oq9730vOga2BOsV+NNNN92Ev1CrgJfkslkQka997WvnnXceNCU4+Pl//dfP/uM/gm3ce++9K1eteuaZZ0BB/uEf/uFtb3sbbg3M4+CDD77ssstwswceeCD1EIoZdObJJ59En6fPmHH77bejtW984xtQO4HNQFUD89ZnPvOZL37xi7jEW9/61i984QsgMeA3TF8YjImJuL9CwK67jJFAvNBjGKW2m8hoZvlkKH9biHwQAvz93S23gFuAIjz44IOQ2Xg8mZYWaEdwGnQhtmVB6QI1BgwokPogE2SvgeYGKhyoK3AOdBuWacKK1NvTgwZxJgjBey+99Lrrr4eeA6TkYx/7GLQ+aHPrtm1oFiccceSRuCgUPOBMIEb43LlnD/0Qf2GrglEJP0HLOJ/MSQcecACOYFHCZ/QqnZEAiyJ+A7IFNoP+QDEDwgSe9JGPfOTPf/4ztC/HH388Pr/73e/+/e9/Dz4EwgQqA3sWlD3gQ2gfehdwGro6jqCf+AvF0vnnnw8D1qxZszBcsDrhA66OS5CvDJvVGYyJjKpAJAZjX6EcNKnEuZjYaPJoamgRoH546qmnoMY47bTTYKmBqIaJZ+HChXhAv/nNb6DG6M1mQUfKvg+JTkFD+ACqAf7gKhdaUAdoWSpRRbTXUd67vopCuvUPf4Ckh10JSg60Rm7CTz/9NFgCvgU1wW9BX0AIoJ6RlwhDok1QfqAbq1evvuOOO+68807oUXCOdNdVUVGk/Cip+CCcCW0QVCngHytXrty0adNrTjsNdiVoXEB6QF/OPvtsaIZAUECJcObb3/a25cuXo83e3t6TTjpp3dq10Mfg6vgWpiUwrenTp4PVgdk89NBDOBMaJtwU7gKdP+yww2Avw41Az4TOUzAUg8GYmNBxjrzTaA5URcKP8WONF3oMVTCKzhATTzI07tBuOk0ei4Q7hMiHCen9738/bDew5lx66aUgNJDNb3rTm775zW++/PLLOBOWGpNCilRAMjQ0UMNIAhoFKFFcEhqUCpjeXtALqEMs28aRk08++cknnoB16eijjwZDAslYsnjx97//fVATnAYeA77yhje8AfzmtttuA6PC1aEagZ4DqpRly5bh55dffjkUIe9617tAYsgjj8KF0BPoS3AJ9BbnoEvQspxzzjlz5sz52c9/DiJCwUr77bff5z73ORinYAIDrYGu6NOf+QyMQbhBnHPooYfOmz8fxAUmMOhyQGXw96Mf/Si68fnPfx7dgP3LUVyNqBvIEIgObgeXQ+dxacFgMOpDWAMxytDOfMxgGCOOMBaoHz8oJgyMe+65B0JUV9YY1dyyYwywARh9cvk8xDDFKlPgMRlloHLAZ1KZ6LWGHFfxFWV5MVXwsW6QEslAtINcmJZFViqcD6qBdoRiHiKW1pAoCBliPAX0BOfQigNihJ5Qx4rUsPW6AAAQAElEQVQqypocd0jlI1TUN45fdtllM2fOBOfAV2gNP6cIbZxPsfvoLqYYzqQAIhzHCaRPophqujWyi+FypqrdRSQMVjMQMhCdXC5HbImiuNGm7Th0LRwXDAajDoRjmK6UlhHa6kwoocJoJkCgkJQUkVJgInBlPeGbXAdTLJXwAHC7eAaQ7uSbIqKtEr6qFLICEYlcT4RiHrbSr8jMdSpPHalGwGwkffE80r7opDKaphBdNaMPdFxEgfXgK2WV0IX8S4hX0Wwgm1GoiAX90Fbn4MOiRYugWQGZSCWTREEcxS0qOjSQDNVDnAkugkvgCNVGxwfYgOifItIHGoqTUVdBXHTnybBFdyH1LoYRz2TDYDDqwRgn+6I9DzvBMEYPtAeesFqNZvbkhbAnRxahdipaTUJZ3Uh9QnxCWm3KZdKRGEq8E92BXBcRWSmrE8hZBJ/xAfyA1CQyaUoYQo3R0tJCgl+nUSErNS4QEjVRqpFCPp9UFyJuIWLaHXxLmXbBV3LKg/i9l15qqtNImUSsRXZMrV/4LO8LV1caHaIgICW0M6PT0DLa1D/BrSUVGcLtV1RNSi0k1NeUbhgfYVoKleZGMBiM+jCWOhihUntXdk2USlW9v4LBGDlUrEjKt1dMPHerZmYwJMhJ4SFtKCq0nUS41Is5jiQ30GoEAT5DnJO0llzHtkEgcDLtb8io5ETWpYp6RrUv1BNFg/gMAkFKDvAMmRhX8SR5aduGKgh/qb4AWkgoMgHGQ0xCMxKiSsSiiNCQcctUPaH8vLg6Loeu4udQouRzOcd10TG6OkgVel5WjsC4oq94ia1AY6JvU6jiA+TZQ0omOSCKa9PJZGibIDpDBoNRi2AgNwUGYwQxwSeYlFVx92PRXCDLiIg8kix1g+SdStSBlDFCVNQPpJLR+xgywVQIkJLlJN1poKDMAUUgvQhdxYyS/xC5kbxH/RD/pPAiMl1R46Snod/W2hfJhYUYhlAGLPSfVEq4Iv62tbVJ41EyqR1rAtUZ+q32IdR1LvRVwqicihlpgPCZ+qkpCxnU6AMzGAajTozly6IXN7nsKDYjjw4lbOqxbdX6INf5K1EHhtfOKAlRdMWoMpSrgFMxOqjHKF97p/Xce+2oqlBoky5aVpvVYU9OIjHGhHGCiaOZdTA6JlmoSaBNNgT9RCukRD1sfXCwv/q39IHajE+OKhaij+gzqzpZe8WqxvVpNB3pIP3V7wN9iGefq71obQ+rOhM/raplxkRGtbARo+iMP8ZWEsZeoONEDBX4KuoW80OfNtAZtQEpVf43Zn3JW4dsR691e/nVSAGNGjVeRKOnchiex9LwGIyIjS09muHdV3zfK6KdsJgwaGYGU8UcicTwcstoJoQDHTFGbbkf6CibMMYH8fWNjlgqQHLvvxqepmTAX1XtCcVwZe0A7VRJ+pjL4IhjLEl5PeMT1rAcq47E6APeBblaag8EsQ8IJ6QTjGj6nLzkQULetV1dXYLBYDCaAgMGIo2pjKmSmsO+dJVWZqBTJo+qb3iMqvZXmUzGdV3t5DB8f4CJ7WvVzAyGdiQY/Z6eHkrXpuPaGYymQb/FRblzjeImsmZzzC/UeCGefYpQj6QZKT+YAS80vMlQe60qK1I4msW3ay1WoxedXo9RvvacetQntb/Cjh1bd1OVwdkXBUxI82GiusI0f90+0JdcLjdt2rS2tjafK7gymg61AkCMGtgPZkJBuyaI+qiJqE88D8hXqh59VbZPMdzyTAN6vdS2M3rTrPZao+f8V+fgD3mknpZBXHbv3k0RrxSTK4aLcDS9m/cRTW5FEmr0wV1aW1t18JFgMBiMBsfwdsOj51Aygo2P5So9qgMyZteqbdm2bdCXYrG471qTWv467tB31PziXKd7qnOPwmAwGBMfvJox9g7tRzHsQKQ+TFQdDCskGAwGg8FgDIpwNIPM9wXMYBgMBoPBYAwAnQ8mnJDlt5jBMBgMBoPBGBTamXeiWS6ZwTAYDAaDwRgUujSNmGDeV83OYGKmO2Pi8UcGg8FgMEYccbeVfXH6priweP0+Me6I9aHJ88HQjVbGnV33GQwGgzH5MCD5qCdqfcLF8EbqoEpZQ8FgMBgMBqPpoFnLwOqTmo19be7jOMuZgOFIzGAYDAaDwWgqmEYFe8lHJ51z+39VW/y4qoDoRMtCxAyGwWAwGIymQhhVbAAp0V4sQ/6qtrQWfi4z2UdkiBkMg8FgMBiMUQRVSrJtO5FIiEFKMtX6uBBXiR/RxQQnZlJ7ZjAMBoPBYDQhSAeDD1Ck1BvLUqOD6Ts+ERhMf48eZjAMBoPBYDQbtAfMK7P+DHZmdDzuHSzGBbhudGvMYBgMBoPBaDrUOOqOIOL0Jc6TxpjWMINhMBgMBqOpIKOKTDP0/SAIfN+vJ/XLK4UmK2h8vJx8mcEwGAwGg9FUCBVx8TyvWCziw8jSC90afXBdt9YFeGzADIbBYDAYjKZCEEL/UgG4jKHUJGIkUJUYhjxrofKxbZvcfsdSH9PMDEYb56BGA0PEg+xzq2YwGIyJgaoVX/5TCK6CwthH9FmOoux2YiSgHYR1g+VymaK1x14TY4saStUEoDuiBMm4L7IClkql4dkCBxyZIflsneNZ1c6AK9dIcWdjhFoe33bG8lfDa2eAR19z0ghOqlH6VZ1oxIdYD4b3oPflLvqRGCHq8sGsOmfANaeec0YKw7vWWP6qBsOcVLXnjNTAjlDLJOxIQaKrM4oRQu2gQchCByPGHM2sg6FchI7jYHBBEvUTFSOBsWxn9MhlI47G+P5qmO3Ud7FGvP2Ranmi3cXwrjU8cVi1s3oFm5/+Zw589aHOGTEoVVLVsXouVztAo/erejC+Vx+plklTQuIPf4vFogOGMYbvy9igmRkMnhzpXTzPy2azLS0to7djYzAYjFo0opZomP1pXoVcPVevxfhquPfs2ZPL5TKZDNl3pAdF09EX0fSevMlkUrq/mOaOHTvwRKGJGcZsqLXs1PmCVc/FgX42losOW5Fe6a+G106dE8Z45ZNqpH4lxntSTR4rklGHWkJbkchpr04/mJHqz4ih1lQqhr4LMdxOjtStjdTVazGW/akFZJ+jSgrQjCKLhGg6NLknr6kwe84coQpDDMAq6myo/4FXoOYdCmO56IzvOz9S7Uz89W4URcvYCol60IgPsR6M1EOsrUczoA+BoYrw4eSyghjDHo4U6qHpdf6QGcy+twP7g+u6aM60bfK0HRc/ldFGMzMYW0Ue4eHJ3D778t4O98fN4aAw0dqZ+F4vI3XOyP1swk2qifZqDO9a9ZxTT/RAVPrXoA861mOIq4tq8jpY9b69nBN3Io5/HgYG/OGAXRryh0P+atjXIgw2vPQURqrPIzXJ67+vOCjLHMSf4zhUX1o0IyoMRs/gOrd0ExyVSaD+auI5jo8wHPdCEgwGY6JCL01EYur8VZ3xSnshQ2EETZ6kL0tUC7BZUSGIalw0WQyjjPhGv7qBe2uk6sjoKTWHB2IweJTDI0ATB1UDUjXOnNGOwWAwJh3izjf4aykQlanN6jGAeB6upK3H1DV60ARFs7disai7QS4jzaquaEQMOTeYwTAYDMZkhBFpqXVCVVLD1KWGHzl98hhrpqNbrFAZ13UpcS0pZlhNPqEw5ONgBsNgMBiTBXGXF6FsDbaCdsEZkL4M20t3lNoZEWgC1+d7xNqXiQe2IjEYDAajD9qEFDcb7UVjP9GCAEYQ6BIROM/zyuXyiBdBZOwLXrkViR/eKMBQbnf8YjAYjL2DXFIqRo3RvAq1X8td6rz0WOaVESPtJ6uddnXLpIuS9x4EBpfP2ytqya7mwWKkUZcVSZ/EIna0wCPLYDDqAMSA4zihdiuNhTEaQyYzrIN66CxZlB9Lx9mSMMfBUqlEFeWGgeoeqluoOmFIOVfPfVHMlBgKA0YM0Qj0+f3ExJ/kcwM1W0/kUT1R0LX3PuxI6SHbqcdjeh8z32ifaMxYskXGSeGoQhtD2YrEYDAYEwUkRyESAgXSiGhRET9zQIFkDsVyqNkqGUMSkehLsA/qn9oeDtiBvf9K1CF95T9qaFadOVqIHFKGNxpqETOo4eDw8sEM4y7E2Ga9GynWFUb+zvrnRAfFeIAZDIPBYIwnqlLJkY5EC1r6ujZEaHhesVXX0vtmyn5GyVtFHajVCYmaLg2obqknW11ty/VoHerUlOj77XN5oRFWGql67kvUx04mPupJilh7jqix2/Q9nUE8wUcPzGAYDAZjPCHFQKSuiIvGuG/BPir8+11roB9SRPErSmtb6wxRj1yv4iID9nl4bKC25cFIHhnpQp0bBgeV6LWUV9CAWofaRsRQGD3eM5YaoFdElMc+Ip0ZDIPBYIw3FIkRkYo+bjYiZlArSIbnnKEzucW30SAunue9ojCcAbbmAzGGIRusvbUBuVE1q6hD8g82aKTfCmN5eLWVrtYMV+ddCOUBXXWk1rAyPA5Ri3raqac/tajHn2ZIf6xwDEkMMxgGg8EYf8Qlbj1cZHhCosqDIe4XEsay9A7ZTsWw1f/IkDRrMA1Qv3MG8tIdWU9VIjE69XDVmAwP9fCDkZLr9bQzPMeUVxRPNDwF0siCGQyDwWBMCBhD5vIfIWiyoqthV3xuBjEG7aWROPaFVL1SDM9kRnRNey5XnUnqn3qsSENax8Q+GPWGxGBqj7E034jRnJ/1d4AZDIPBYEwuaGkH7iLjjyJZrkX4uAunMUPYPxcOBmTv5xDqGZ96nIrMYcWE16ISSGVZ5iRLZsMMhsFgMCYjyP2Fgqs1p2n0UsZxDC37Y0oXcmfGgIyeB+5IwRjEWcdT4VQUJT4a+eUmIJjBMBgMxqQD2Y/6orUnjdJlMGgf5+HZg8aSMYSDZOrT0WSU5GYygBkMg8FgTBaQxgXSDsYjr1Qi84MW3mJsA0lGG0NrU2p8R+oM+xqer0wtRsoPppJYWbVGWRBTqZSYBGAGw2AwGJMJypuV0r9QDjcxqoiynEluJAZIj1aL2iinke5Rn99r/Pb1oarza0Os/Tpy147UwNbyFavmWjISPsZg/HLZdd0+f6ZwrBPNjRkkg9Gku/4ZxmAwGIyGA5Z6GI/I24MCbusJeB72tWTsjxIrOu3KkK3LDlTpRerTcNT2vDqiWHWGtFBUQEB7wBB30b2tvtaAnRyqP6OHYK/3TgNYKBQSiQTuUVD/m0i1phFyXSQGg8GYPCD6Ag1MELMZjZJs06nzSBlg1JdpZkDUmaxPDNVKGLkt28rjlShOxYW5JtdfQyOMaoMaI5HtZsKCGQyDwWBMAigFAxiMzNYa07uL0YQZQ53koE47QF1p92rUS8lkUrvrxoPGqYpmM8Vh6RSFzQ1mMAwGg9GciHsIkO9LRUhH4dOjKuRI1WEpY80r0gQMeVo4rKqWVb+NZ7HTaf2aJgg5bC6V0mBgBsNgMBhNDi2kdcARHR9V8SbtR8pYM+JXGZB7VVUCGtA6VnvjOg0MBsdQ+VSaVr+EcgAAEABJREFUQxMTv8Em5jHMYBgMBqM5EVfA6LoBIhLko85jYmqAEReiQ/vtDv4rffthrCj3qLoEjTualcQwg2EwGIxmwGCJzkj7Uik9rU4aG1sJSAF0G0JxCyNWSzJ+zkiZsYw6akb261tQ8dwtlUp0hAhQbUnnccdwfJZxTnSDbEViMBgMxkRHXMGg5ZZMDuJ5vorBGWP7SDwchlxhdN68IX9YdaQeMWzWUdFaUGz2JHATCaJpwAyGwWAwGI2BuI8IKWA8Va0QOoYqcjMGPRERjdBcoZZVDKljqNPjuKoo42DCO+7A2xAMZnhqqshXu+JAPVK6rokGZjAMBkOhao1rmq1b7drd1LtSAhEFMh5pTxQx5qhcVyljSA1TTz7+0a1MRDRONPk00NluxNhm2xtjMINhMBgStUlPmyS1V82RZhVccY2CDrHREcJjrICJdymM6WNq9Ssj5ZRTj+2JjFjGmOTCGSkMz6ZGDEZb7pq1VHUNg5kEuxMGg8FoblDpafJLldJLpbMTYw6StfG6g0Ni2LleqoX0QA01a8BRlY6NMvFUBV41pUOMZDCDeYkzGIzJg2Z9/SfJshb3fYnTFy3bxnEcqoK3R/Uqe0djaV80Ku4skQ+yEdVr1I8c7M2PvKRJ+2LZ/YoeNivYisRgMBiNhypeoh07qDQx+cHwprQJQCq0MLKH9hkKoxPwoeR5ZI8DdXEchwo6TgYwg2EwGIzGQ1U+Oir7TNqXsuc1revm5INpGBTNVfkn1C1R0hojBqq2bSlMHubKDIbBYDAaD5SeThCVUXSGKh9RilkxVmnrGKONsuIrcQ8eCjLSxSmNWPXviqUpCIzJ8fSZwTAYDEbjQUqrKNKE4EH1EmWQE5PAB2LygAo2aZpCRqJ4vhd9ZkUzxzoYBoPBYDQKdOlpLdeaOAvIJIHWuBD2UuI7niewKYOtBgMzGAaDwZjoqFKo9GMnKvVLqVSqOocVMBMBFcYR55Sxh1flzESBY2QcMiPKQjajvT/NyWkxlOoowWAwGIyJjSoBpv+JzXfJ88rlMutdJiZ0FWwR8Yz4kbgXSzxncVzdws90L2AGw2AwGI2BqghqXXcaBiQzSiHPmCCo1ZpAT2bGQPqVColR5EVE9iDWn9UJZjAMBoPRSNCbcs/zyHhkRlUbGRMHVVwEH1zX1fQFJiJj8FTF8fyEzGb2AmYwDEYjYyDBxUtesyJeXQj0hao26q+YxEwoxG1D5AjjuC59FdeiVT214VW1nLRgBsNgNDKipCB9BwSj+SFdd4tFocwQgQL5e7K0G1/EY5sTiUScwYiBNCu82dhHMINhMBobvAgSxr36zwhiL5FHpH2B8YjywWhTRTyellE/jCinjoj8aqtKfIuaakrx5HL6TO3XIsOe1aMZ8FrilYNf8MGAB8EMhsFgMCYWaiOPAt/Hdl5GHpVKniqCM3mylo0qyBJXNeDEaQYjkUYshqgqy5xgwjG2YAbDYDAYExFxBQD56pLBSLDXy8hBBzATpFs0xlZ9Jn8j0Z+vVEU+a2WMqCnBzVRmDMAMhsFgMCYutFz0FCjjGeXeFYx9RiVHS6iztIRBRFl0iUTbskTcJzfGWjSqngg/nbEBMxgGg8GYiIhHHsF4VC6XWe8y4og7wVRpVvqStfSPD6oNIBJcR3OcwAyGwWAwJjRAYorFokwiEtmS6AMTmhEB+bWYUfkh7dEiagxDfT8ZXMWif8KcZgwgH1Uz+fAzGIzJiaZZwaQPKeWej7LuQgFDwdIceaRRFUOkD4pIR6I5RNxnSIcRaUVL3Kul1jw0jEnFYdJjCdbBMBgMxgRCRQRSzaNSyVc1j1jdUoUB9SJa/zEYF4F+JZ7Xv+pbRsOBGQyDwWBMOOiaR77vk0MGk5g4ajUr5OCsA4hEZMqRdZ4j4hK3EFWBrT+NCGYwDAaDMZGgZKmueWRxzaMaEF/R1iI6SJa1gesmRqREW50GKzzEypjGAjMYBoPBGE+Q44uIIo8AUr1wzaPBQLHl2uMkHucsU+JGFqK4W4z+odE/6y5TloYGMxgGg8EYT0j5GglSfAZ3KRQKJIm55tFgIP0KhQ5VEreoYdQnDJhZrirNLtmM4vxGcFx0Q6FfIuT4VoDBYDAYYwAj0rKAu5Q9z48oy6SNPOqXwr+/PCL9CsbHjeo8i9ip/f81hCDT3r6sj2lcsA6GwWAwxhOG2vSDpvgwHkV1AyYztEmIkt8IRVxsBVaQMOJgBsNgMBjjjIrvC9eXVohXGqLPpHfpi8ligxpDgRkMg8FgjCdAX3TkERsy4rUUNHGB9oU8XcLYOQwGMxgGg8EYT5AHjDSXgMGYZjC5U5JoJxiiL47jkFOzYDBqwAyGwWAwxhNSTtt2X0SM74tJDB0QZEegoKG4aUmwGoahwAyGwWAwRgvQrJBTqs7y4iuCoiU0fWs7jq9OqBLVOlimuUOp44lbKEYalM6K/Hb3vVYRo1nBDIbBYDBGHRRWU46KHNFnoRQwlJDNdV189jyPjutMsnH/j6ZEX8CRuuV+KV5iFFAwGDVgBsNgMBijBZkwDWTF93WaXaoSQNAZX4iv6Ez5ODuMaSZE84I0LuS3K3VRirtU/HajEwSDMQiYwTAYDMYowlehRtpCRDyGeIlWMFDcDYlw/C3GKv40t9tHVcYXx3Gq9C3MYBh7ATMYBoPBGC1o35d4TcF4rUGgVCr1Bd0oFiOz2/mU3K6ipBFNCiJqdPsNlLCuVjHGTGtcwAyGwWAwRguU5UWQOUkpHEBMQFOE0riQBgJkheiLLCagjpIqAuyHlDRkimpKYxJuzVG6F137KYyCyfdSW4DBIDCDYTAYjGFCO3DogCNBfi39jUfk44KDgXLdpd/2YzZhCK6Dn5MeAmdqXxDS4kih3oAOMdoWputF417i1Ygke3HduNdLQ3jAMKOaIGAGw2AwGMOEtnqQ0UezE/AaMA+QEu2NS+QGf2sNJbYyG5HGBf+EAkaSGAj+yOeX9DSaJ5lRHaWJ7+QbZyRhVDOBBiFeKKCKELCNhlEnmMEwGAzGcFARtCArvk/qlkwmo3kGxdQQKdk71dD6Gx1uTVYkUzn2UsZefaZQbKmx6g9U7GX9k+2S327tyY11a4zxBTMYBoPBGA6Idkju4nm+0ogUi0XKxmYqCQ1RXSgU4vyDQqmr2tHBOPQZmhuhFDNaUSEic0w8QIksMaLRQPwsnvEljomvVWJMKDCDYTAYjOGAjDu+MiAJRUEoqgjHKT0dRQjTmUN6sZCnC04KlEZHRK4wOk9MPKCJjohGgM60q8PFtfFIDKRxGfC+WCvDGBDMYBgMBmM4AM+IR0pTVDBJbO22QoYS8nGpqu+jEc+pT//WaXm1m0gikUCbYEhVlQcmOPRNobugMKR90V9VecDo8WG+wqgTcjI1hO83g8FgjC90rC9xFDL3iBifkA4fkZ8KQJYg8swl8qG9ZETMMKTbj7dDIUgJ16VQHWIzOn2t6F8sKR4JNe6Id0wXRkDPoZfae7oX5i6MVwrWwTAYDMbQoJBmM6rRCAWMqfhKbd1Fih7SAUTacZWOy8wukaA2ItJTCx1KLZQiJ56xV2t0+piQIi/jLv5x+TDGzDTxohFolGx1jAYCMxgGg8EYGhQDHCpWIXO3gNDozC79zyQ+Q/HVIvLJ1eYkSUpwQpQTxRjI80OzE+hhAuW0S4WayahUYUKkECLWoqo/6mbHBUbUjT7LURSQRcxPMBgjDWYwDAaDMTQoJqhCX8BmYlFFcWuOPkLpdKGqwSdHGVBIlVJtPCLy0R+kvQgVKalUsY4lg0E7+MorlUjhYUSWmnBcfXtDIjEKpDHSliPqWwO57zAaBcxgGAwGY2gQHQGgfRFxuqB0JBVXXso/qwxDZOCR4dbqIJEYEuq66NFeOAfRFyPKYyuiDLYUmoRGRMzhJu5bI8YPVPpAu+xU6iREYPLCGHEwg2EwGIyhUVbOL5UoIWVUIteWiuEmbsGJqRoqOWPKZSMyJOFXPg6qeGkxePBwGCXjF2SQUnFP5B2so5zwrWRUigmNe3x1le8LkS2td2HtC2M0wAyGwWAwBoD2wyU7TrFYFLEyAnXG/lREuCoyIKIUL5TXTjOPeKkgUr1oo5TmMaE6WTdSKbQU6V3ihazjao/hocooFkalFrX7sK68WBULbUbx0tS3Bs25x2gUSN92wWAwGIwqKHlMlMJXkUdiuCDbUqgy84aq7jSVCxCxytWhNkWJgaU+mZNCFd9kGn0gbYfQ2WiigKB9Qb/S0NQxzWn0HWl3XdVhXeQonq2OwRhtMINhMBiMGkRRQuT7otUkw2qmIvLj0UmaeUhXX00HohCeAdsJVWkhzYRsZUXSGheyMQXKE0Xsm9UmnnImnqMl3mblviLHF6F0PzrqWzAYYwJmMAwGgzEAqOYRRR4NWyrHo5MIRFnIFkNGJbpEvwCl2nZERTcTRuUFwqiKdaUdkCGVrpeivveFRsTtU3EGFr+XyoeoxIF2fBH9PXuYzTBGFcxgGBMI4UBhpYLBGHNI+gJmEbGNYc9CUrrEG4gXoNayn9Lf7cWxJoicZHU+GDJsVapYgzpAoxOjHeSmM7yOV3Luqd+Se43kNP19demz7r+ufsD0hTGWYAbDYDAY1ZCmI5X6lmSztCKJ4SAg81MsHS25BhP/cFXFALIEafqyF0cWzQmI8VBr2ju4ulyiYhPDoBGBSpRH1ISYEPGVuCevdiUmciO4NA1jPDBaDCYc3KDLYAwGnjCM8YJWKoSxmkc6Ad2wZ6Y5UGQQyX66iq7VDBSLRYo2Ev3tNbpj8Sgh0twUCgVXgXoIlQzRIz+WMlirRga2UtUQHWJFugojL+aMCQvWwTAYjMkOMrho7UiFRozmteKUQms1KNlu/IS9JFOhX4WUsTdS5wjlUdvnK1MH9zJiFiI6oq1C8WsJBmPigRkMg8GY7NApT/qKBoxyGULNGKRPjCp7pKOTqCq19jURUZLfKhDRMVQ6GWIqZPQhj1qZfi8qOzCkEiV+jqWIlC7AFI9FYjAmGpjBMBiMyQ5d84gChaxYzaMRhw5QDiLqUPI8O/IvIfdesCitRBHqzFoaQTQLhEPEHGvs/gUgyTs4bnuqvS99AhmPbKWBMWqiihiMCQhmMAwGY7IjVOluib7oRHZiVBHlm4lrYqh2kqYgZeVKvNcGpNetiHkHh6rsADnZUphSNYkZpJI2mJClfF/i9iPWvjAmOJjBMBiMyY542rrRLjAkdSdgBnEjkboiTEfgLGRIApMgHYyIAotquwRNCUUkEekRsUKPuuwAKZPiPi61pbBJJUQpdbXtbF+clxmMMcNoMRie/Yx9BEdAMEYPuiaRUPoPqnmkM6CI0US8slJ8epdVPrpQlR0IlYWIKkeSo27YP6GcZiS6YhF9oTkNqVLIJxd3R5oYXY9Jx0JTszqnS7xvgsGY2JBkXTAYDMZkAsl7XbKxvA81j0YQOlVdWWli4nl1pdNuzPozKL2ItUC8hBlyDzMAABAASURBVNokgkIMSSinHyOWak9zF2YtjIYDMxgGgzG5UB15FEudMl7Q7MFXQBet/rWTKiSmf9XoARvROiTiLqTL0Rlo+hx91GfK+0IKGa4jzWg4MINhMBiTC5q+VFx3x5u+iFjmukp0ErhFpC8hh1yK8RYx3UktiZFB15HHTBDliTGiukWu65ZVrhtthKLGiSQxGI0InrsMBmNyIYyy7oaxKj9i/BDWuNaGShlTydmvDD3kEKPzxAzcTvRz+qcmMZIDKd4mPWyURkeo4CNbcSN22p0kCJux6hwzGAaDMblA2hdyFhntyKM6ETcPkYOOzlMH2iHIeUUJnPLgaVq0f48uZqQDmujnUMU4KqDaDwKtfTFiHWAqw2gsMINhTFDwYsoYBqpidkTkIUv+H5Do5PsiIlvSRKAvoqZ4NfEqfKCukiGpUgAyik6KRz7TXypA0C/Brgo+oupLVLKACjDtvQOMpkRTPuLRzZzNYDAY4wuq4Ux+rGWV90VMeGgWQmWPyF+HGAklndOFHvsxsIHy9qrDBlmUJghdYzBGCqyDYTAYkwJkOaJyQmJiQ1ONMIpOApWxFXeh4keUgk8rnAYzh5E6hxgM3Tj9nDUujOYAMxgGg9HMIEtKWdEXMqOMds66fYfmJRUti6qdRPREkxhycxF7NYRpcxIxGDI/xbO/sBsvo6HBDIbBYDQzyBBTopQqDSWt+7xrFV8h+5eOjibnGKImYhAeozP2kt6FSAz+UhY75i6MRgf7wTAYjGYGdC+eEtu6eJCY8AhiEBFrEarzuvgAKWN0cYDBGIymKZXqSyokO17rkcFoXLAOhsFgNA9I0yAige2VSqXIdXfCBgxrgw79M+7doo9ox15dgFrXDRCDG5IGPK5DtQeLS2IwGgXMYBgMRlNBJ6krK4WDaBZoskJ57cidRVef1rolHVa9l0YoF46uMCAYjMYEMxgGg9E8IAVGhb4o45FoCui6RdKtJ2YD0rWTRMxAFigSMxg1iZucKFEvkxhGg4IZDIPBaB5of1Wqhkj5bUXjI4yS5waaf+B/FPnQLETXTtqLj4t2rKHTMFBsS2I0LpjBMBiM5gFJZS+KPGoaf1XtxANlDDEyH5oY5RPjui4VoCZbkq4kMCDiHjasemE0OpjBMBiM5gFF68Qjj5pDTscjq83I0Ye0TVoHUyk7sNegcV1LgZxgOKaa0dBgBsNgMJoHZEUCixGNk3y2tjZ17TlVVZx0vBLliaHAIqEqKOFDoVCQtZAsKxykcTpImhtdX4nBaDgwg2EwGM0DSpzfF348CXLOkjKGbpyOUDlr0j+RC7A2qNHI6LR4rIBhNDSYwTAYjOYBRLKjBHkzBSINiDgjoQ+kTSEqA+JSLBbLUVXLOIMhexOBFTCMhgYzGAaD0TyQ4hkMJhLYzU1iNCjHLoxHruuSTwwULG4iYSgDUzz+SEZZR0UJmL4wGh3MYBgMRrMBshmynAo4i6ZGXLkSqIy92qVX/g1DT1Vz1CSGVC+U0ldwZUdGg4M5OIPBaB5op5C4nG5KxLPS0W3iln3fh/EIf0m/YsZ0LTQmMLHpakqif3Y7BqPhUO3fLng2MxiMhoUugghAVGcyGR3FQzJ7wMqOZixCp1EoT7xqEv2TMsEAJQXt8kKmJfpgqw/xco+sg2E0HDTzZisSg8FoWkjHXseR9ZEix96B889CimuPGXxuzI2cpCNCkA9QWZnPtMeuiFx9ma8wmgnMYBgMRjODAnNKQniRUG9W914KnCY7WqDqDzhR2QGKMBcMRnOBGQyDwWhmQOcA04mIajI3cXRSoNwAtIMLZewVKj0MaV/iQUkMRhOAGQyDwWhqKIFN2d4gvEmoNyXAWUQUMk1JYDSJ4dy7jKYEMxgGg9HkIAMK7EcVC0uzqmGMCii6WpAmxveJsjm2bbAfDKO5wAyGwWA0M+IyG6oIKhtEKeCglqB6zvHzGtdfJF7zKF59WhaK8n2QFysqFEXh1jqXDNMaRoOCGQyDwZgsIBUFeAyVsK5UDmpq8wpxFHmn+Kw4HN0ysxZGE4AZDIPBmFwgpxBd1Rn/bGL3XiIuMr4aLEZZ0FROO7nyc0JeRqODGQyDwZhcMCLHXqHkejPTFxVfXcn/pQDNkxElsmMGw2h0MINhMBiTC5R8vEJiSqUBs/Q2CXCnke8LoRKdFBVIEgxGI4MZDIPBmFwwlAlJqOgkSvXWrGqYeIYYDVl8ICqTJBiMRkal4hf9o6JyZDAYjOaFdGWNAo8dx0mlUrCq6OgknfmtCWD0V8BUjqibLSpwol5GQ4N1MAwGY/Ihtm0DXNelyohU17qJo5PihIY8Y9gVhtG44CyNDAZjsgOaGJAYnfKuiYW6TgBTCahmHQyjkcE6GAaDwZA+MeAxIqqd1Kwkhm6NMvtJEsOlBhiNDGYwDAZjsoMcX7Rnq+d5TayGIR9eSorDJiRGQ4MZDIPBmOzQ+fUpZW0TRydREDXpYASD0eBgFSKDwZjsIH9eClCCaE8mk6Sf0LE8DRqzozPXhSrSSkQeP1ynmjEiIGdwMX5gHQyDwWD0C9KBgIeYL3teuVwOB4pJbhTEe46bIu0LW44YTQNmMAwGg1EN8uoNInOSNjM1FijdMIVMS/VSpFgSDEZTgBkMg8FgDACKTgKD8RUaUfBTn61I+2JGvi9MYhjNAWYwDAaDMQDIlgQG43le4zr2StULxU5bFhMXRpOB/bkYDAZjUJgKjRu5Y0YQKmi8yhbGVQUYDY0+HYzO1SgYDAZjsqJ2DaTY40KhQG4ldAI+T7SIHqzhxLRk7UZVfBtWsErmukH8eHjBZ+wLxmv+6OtGDEZPblWNXTAYDAZDgbxfKYpHZ+ydmAHJZO2Klw6I95P5CqPJwH4wDAaDMTSgzwAbADnwPE8oP9+J5hyjFS3ktxtPW8cqdkZTghkMg8Fg1AUQAtd1RWSmERMMOlLadRxb8S06zs4ujGYFMxgGg8GoC9qW5Klkd2KCATohsBaKmo6rW1j1wmhWMINhMBiMoaF5ADQxVDiJHHsnFGylJSJzEhMXRtNDqhm1ibShK4AwGAzG2AAkJpFISDONqgtDi+cYr5zxAGnqALrkqJpH5MPLKzmjuYEZzvlgGAwG45WBCkDKWGVbqrGhjKEAJTGG0DtPqq5XybrLJRsZkwk83RkMBmM4oDrP2qg0xgyGbFhmFDLtxFx3GYxJAvaDYTAYjOGAHHvJkDT20UkVO5HqA2WuEwzGJAMzGAaDwRgOyAEF9CFpGKVSaYwde8FgKPjIUalfBuRPtQfZvZfRTGCtI4PBYAwT2gcF5iTbHtMNIegLXdcahL4wGE2P6JWLopAMJukMBoNRB3T8ETn24q8OsdaBQiO1nOpAUVL8UN4XS6HqnMH+yWA0GeSLIBgMBoMxLOgkFH3RSZFjrxhRxCOPhCo2yb4vDAb7wTAYDMbIAKyCCE25XB7Z4tU6Qx3apMBpVrEwGMxgGAwGY2RQiU5SoOikkeIZOkMdhXBz4DSDIZjBMBgMxkiBKAulZimVSlTFekSgFTCc94XB0OA3gcFgMEYG8Qy5oBojGJ0EjQ6VMiB/YcFgMIjBaD2n/MC2VQaDwdhnEOEgZ1tdumhg8jFQZbowglCJdx0FqnkkGIxJDPlSROkD2IrEYDAYI4b4hpA0MUI59lJk9YD8A4vxwKwEvEdVDKB2dNATkxjG5AXx++iVYQbDYDAYowUyJGHXCBKD/5EOuTXnkJcuqWco10tFVaPIiqYvTFwYjCowg2EwGIxRBJEY8A8ZnTTIOTrRi7Y3iVjgNOWYEZykjsHoD2YwDAaDMboAC6HoJKmJGQi6LEDcVBTPusvchcGoBcciMRgMxmhBMw8yBg0YCE02I+Xx0leLgLQvlLmutuwRF0JiMAQzGAaDwRgbUHQS0RRNQXR0ko48Eipt3d7zvrBKhjFJYRhxnzC2IjEYDMYoIh6dZKs60p7nUcbe+EFSvcSLBhg1LTAYjDhYB8NgMBhjByhXoIkh1hKq6CSqaA3gA2XdZcrCYNQD1sEwGAzGGCLK2Au+Qnli6DA57XLJRgajflRyFVQd5VeIwWAwRgPSWqRMRa7riqgApB2BcsPwCsxg1APWwTAYDMYYQsUWUaEAMBXP86iOEqDLKjGDYTDqgWQwW7ZsEQwGg8EYE8Q5SuD7VeEVDAZjMOjXhGxHksFAjSkYDAaDMS6IxVEzGIy9Q6sqBTGYefPmCQaDwWCMDYbkK6yPYTAGQrx+O/7HFuy3y2AwGGOJ/ktu7QrMKhkGYzBQ3Q31yWBPXgaDwRg7MF9hMIaNKoMr62AYDAZjPFHLYPZST4DBmMyooisD54NhMBgMxthgQL7CyzKjTmiRHsaEu5w/hvq/itoiNAJhmLLOeYB/iIohxqi0ENIxUdekM0bklOhiRhidHVQ+hWbUJV/IQ2ZoGNE5+EgpINU5rINhMBiMiQdelhmvBKEmMIoGGCAshjoqqQCEfhiAvgRlLwRhtm2cGigGEPYnMWrWjdTEG5INaZJuhLEbMPFP3w98z7JMwxI+jhiK4oeKjVVODtWZIfvBMBgMBoPRNFAaFvoUBqHSxBjgAmFo2kpzYYDJlIXKDG2AD0giAfUHGA8+mf00OcPFQPy7Wqso9SoG8S3iUaaB7vq+CcJiQfFig3UJYmP9WFXfv0LOyctgMBgMRuPD0NwllDREKl7kv0MyGIEewCYT+kEgLMt2XJ/UHpLQhErxouhExTizz12pZTCyT2H/c+iwEalV5DGpHxKiVC6bsuip4cuvzLC2rQjMYBgMBoPBaGgYcbkeqTUkN9EUwQ9ADyzfqpzn91EVcAmrz3pUB4EZ0j40gC2qom7pd46osKhKg4HydpEWI9umrzz1Oxy0KudWtczR1AwGg8FgNDJIgWFUqEsYmVoMQykwQFb8UGSFtWeP5wfCsOxS2XcTtq+0NEbFVCOtSEE4tA6GUsoN1aO6FDmG9mtR+h/HFqWi7ETCMbyil0467a3CNaG7kY4wVsV8FEbty38wg2EwGAwGozkQRrqK0Jf0AAzGKAdhvlS+/s7H7nvs2U2bt9huEtyljC+Uh6xScqj/pKeKGdZqT6pVJ0EVg6mNYjKkJmWIjACG0hCFFTuRVBQZqkyYY1tCevKWDz/0kAvPPOaYg2cH0k8ntIThlz3LsaNrMoNhMBgMBqN5oG0yoAFlX/m8lP3gkSee/u2fHuw1W822BR7UGWA2pi0ZC2lvlBuvsvNYAzCY/v8KpU4n6HfJGo2MUZc/TRAxGEliKrl2pcYIXEoGTz2+rjP4458Xzzl/TkebV/Icxyb1T2QwC5W7L4PBYDAYjIaFphBG3wHDMu1yoL6yrMeeeKpgpDy7XcZUg6YYlmFYfhjFXks2EChf35pQpFp7UY0VqZJ3pv+vhsxnZGoGY1TUMPiX8oOR2iBoY4QRPLPy+XzRU2dLamWi80EgzD5nGGYwDAaDwWA0FVRGO8OyrBIkvimcRAqkIDAcHMO7Vcs3AAAPSElEQVSBUPq72AGdFIo+K5JJwcuxdmL/G5ESYwCSMwDRGYLCBCr6qZ8VyaCmlEJI9iswbddNpgq+aHGsoOxbRmBaleBq6gMzGAaDwWAwmgpgAzAihZYFnYavXF6kegPWmaDCP0LDl9oPcpqJSIxkFP2VJybFPBOBCcnDxqpSuYTaHBW7+tAZGcMgcmcJIzdk2UuzYgiDTiiAIUxRLAFlUkL6JVvaC0ddkTPaMRgMBoPRyNDxOTEYtm2XlJaiLBlAACWGG5QVizF9yhcTEQYjsh0FgVfFRUxFYUJNYWSalsAY0seljpoYoFgqn15/K1KgOiOZlq/KC8hKA66lbEpQJYW4D19Ypr5lrh/GYDAYDEYDwxQ6kNpS/zL9sqcikKVdSIYYmdJ+RJoOGUMtg6dhkcHnsmkpNUfogy6A3jimYUqvGCv00ZQjGzQsLwgC04BGJ5BuNKAwpl8pUaT8WCTRACkKfck0Qpzpyz/4JDlKEJShAcL1fB/WKxvMqizT6oGa2EHgej5ONjyYiEQZHwPTD+QB6fRihKZtJYrFsky0VzFvhUqZhI5Z6q/BDIbBYDAYjAaGoaohVlK/SH2GZVk2yAMxGEj7IJQOvPjPB/kwzbIpylaYD7yyEXjCy5dyfgCWUnYcI5ftTSRS5ZKwnRavbBdKoQcKk0oWhciHomjYnmHnwVAsu+j7hm0Vy17eK6Ra0qWgXAp8K5mQaegsW9YpCKVGJV8syMQzhivMVGCk8qWwbJh2KuEFlh+kTKc1tJOB7eSDsmf4nhl4hihLkmQHwg18kBhXVIxZgcocTPSl4s3LDIbBYDAYjOZHLK+/1Ki4tuuYMMkEbS2JdApqm+7e3Nq5C4xcfk0y3VUub25tKdpWdlpHomvXlimZVIubSBqWa4iOdFJ4xRbXCov59lSixXF6d+/KOFbCFH4hF5QKlgi9UsG2jMAv4QKppOM4aL8IrQ0+u46Vy/aE5XxY7vUK3YVsTyqRsC3HthPK6mVSR6Vr8VDWKvaDYTAYDAajuSEDlNUHqa+hjHOlvOfYhmuKrt3bF8ybeeH5f+NmismUk+0t/+EPf96zp7eQLTmm2blj44y2VK5zhyEcM4Q1Kujtybdk0n6+J+M6SxbM2bRpo1EKjj3ikD3d3WvWroX9qVzsBWmBdsa0jI7WZC67Owgcx06aIexFJcvyE7BHiSBhmyXfT9luvrfXshwjsJRTDNGssDZ1Xi1YB8NgMBgMRlOjUuM5DCVFAFGwjcDJpFrNQPilYkdbasWJywu922/57U3X/uy6cr58xMGHJS0H9pvFC+YeefCS2VMylpdtc8N501pmtifPOvWE1oSRtoOFszpOX7F8xXFHtafMTWtf3LNtQ1KUcHC/udMPPXDxrOmt5UJ3a8paMGdayvbtoLBgzpTWlOEXu9tS1kFL5uy/cKpjFAMvbwSBa9qhF5oBjF82ORaHRhAOxWBYB8NgMBgMRtNDxTwbVIVIhiYXc0XXNv2gnOvpXLp47oP3/6V7tyjk3Qf+sqZUKhe7rdNPP23FKXN7ekTHFPGra297+aW173zr306bLh5+aOvZH3nd1Vf/5sjDFs2dKYLSlJenp5cfs/ypZ55ZtXrzey55Sy4rZOY5a9nNN/8h05I+8ojlv/zlr33fuOCMV910082+5b3vnW9saxE7d3or16y/8+4HW5LpQlnmfzFMK1RR1jLYWzq+MINhMBgMBmPywYgXgI7+v1JIQIYnm0HgJZOJwLSTSbF96+Z0ss02Els37cyk0zOnzTho6dyf/ugP23esP/7EZaecdMzWjS+V8vmf/OhPq1evKZfO3m/BjN/dfN3U9rc/9NCDG9a/vHTp/EzSaE1bxVxw469v2r5tx3nnn5Vxw5TlG16PC2pUKiVFkLH9cy96bc+Obdf+5NaZs+e++jVnP/jQk7li2Sv6brLVD4S2HIWxCgmDga1IDAaDwWA0JSolAMJ+yXXVFypTXCKRCALfhx6mLFrb2nOFbmGWMq1OIPLJlLBs0ZPdaVqlHds2TJvWapp+uZTv7Nxp20E229nWmkylbMMs+37edgLHEZZMnJvv7NqR7dkTenm/mE05Iizhb2j6ubQTJq2yWc7Pm94xf+bU009dsezII3LZXMJxent6WltayuhEpXP9uEvfP2oce1kHw2AwGAxG06OikVG5/AOYaUzb3LVnZ9L2O9o6urr9ltbpmfZ15WDb0cevaEm13vOXv5iJUiId7tzTOXXWkblC2XZbC57dMW32pm07fGElMm17urNQn5huqjtb8EJjT082tNxEujWVafMKoZvI+IHR1d3jh8Lz/VKx5JX9KVOm9fZmO7t2/fH2Ozft2JPOTA2tTKa1tVAsGIYdee8OnRCPwAyGwWAwGIymhqQElbx3ykNW8pnQCDumTRHlQjbfc+sf7z77zNOyfo+TMJYcuPD3t9wWWP7LG9adfs45Tz/15IGHLrvzzw/2Fixht+3YU7QSHWWR3NVVbJ86d0+Pt9/iw/b0eqXA7Zg+f/X6HTnPxH+7sx7+ekZi+57eROvUE199ZjrRkmxJbdq+576Hnjj+hGMPOnT5oYmWdKb997fd3dqW6e3MJpIu9Dk6BGnozL9CWO95z3sWLlwoGAwGg8FgNCoMXVtA/UceJWZgGF4oHnnihTU7ir6VkqfJOtSyvGMQyCT9pXLRtpxCsbxly87W9jSUM48++uyu3T35gr9p8/Z8yU+m2p99fs1LL28LwvTuPcXdPdC3+EVP7NnT291b3LGzK5Fs6+wu7NjVu2VHV1dvqSfn9ebC3V25Yih27OmEYmZnZ69hp3fs6V390rade7o3bN2+s6s3mZ5S8oynnnkxNN3eQimQZQ5UgQFVs5oqTTpe52tfc3xbyrKkukVVbpLEps/7hXUwDAaDwWA0N1RBgdCIHGNkrLKTcEzDMC2ju7PLMtvWrtu+dq3R3j7FK7Xt2u3Nmj0zm+1ZvarTK28tFAq2lUom0k8/t8ZN2YFI7u4sZXt7SoUyGnno8Rds2/b8XG82u3C//de8tB3UJD113sYdPd09ndOnTX9x7ZZEoqtcDIoFzzIN10mvXLfV3bhbBCYMTHt6s+nWNj8MXJnJN6jUpiayMlRKO2YwDAaDwWA0NPopYIRM6B/KyGRhqAJGsiy1USlErQKppUtMWCoVQz9IOG460yorJ7pJx0h2d5dBRzqmzO7qzlmWky/6PlQ3mWleyc8XS20dHSW/CC1J2RduIpNpad/d1W3ZliEcaHVa26dv274nDIXlJAqlUhB66XR7rhCaVqZQDMPAbGmfGvhlGLLKxRCNl9GKZbV3TA0t0/c8KIWMqEKCqe7DkrcSRAFVpkp2FxIRo/tlBsNgMBgMRiMj1HE6ZIURkrMEMsMtKTR84Vu2LUOSAkllLBz3FT+wrAAUwTD8kIpDFwwHJ5f8ACyk0pxpuWAj8gKmKJXzIA+mKXxZO1oUPc9JwjIlyvJ7y/fBSxSpCD1bkhGb8gCHFPZsimKxJBQsO1UOzdBxZC0n/H85tNAplXJPFqqWpSDlZzMIrDAgslIqhy6V0jYDpVKSJMc2jKGdZRgMBoPBYExYyHLORiyGByxDecTScQh+X5i+6SrljDwWqIQw5NCrWUAQDu09SxnnhuiMIYZMRkeqlopShTqqemDIxHayAjUuBILjuHa5LBI2OFNgupYIg3gbrINhMBgMBqOp4JWKjpMER/A8YbrCMk0PNhsbRMFSKg7TMkxwAvKMlSRG/SocknaQFWoo9xTDEHUEEpmVxC8G9UI1aqm6ByBYoSyrDSJjQx0TSMbkOLakL2EoYmoX1sEwGAwGg9EMoHy7UGlYMnxHivuEIwowwZQKVNERnCDQehSq/UyB1kr7EhjhkKWI1BXq6MaQLEfqiIgxqYtKU1PkqiM7ppLWBOViPjetrU1Rl6A2BS/rYBgMBoPBaCYYpm37ng+Ni6WS7y5dtPDeF54T5W7DMn3FX6DJCBQTkSYloaKYofkwwiHVMHUpPepQ5hiV8o3k/KIIjFLvgLdI5UwgcwUvnjfTgPlLpbizLDMIfdM0hXZaZh0Mg8FgMBiNjbCfXqRilQlDyzTKiqeceNyx9z25ccO27nyuAFYDUgBDkh/Vfo6sSMRghriUYdTjKyPCoXUw1NUw8oNR3EjZjkTgg8dM7eg4a8Wxc2ZNCX15I0Jqkryk6/b9OlQMJqRL0S2EMlyJaQ2DwWAwGI2BPokt88JJNUVo2I6MJpKBzkJMbUt95r0XP/v86s7ubsu1c4WC4zq+0m0YpA4hjYhphEML/zqy/leqYMc6qEhGvyOhZBt0WVLZWLbllz0KRArLweL99z9k0TSpj7FUDjtYxNxE5WZJaROGttTJMBgMBoPBaFD008EYZISRSg0Z1GNYQkBxMS3pn33CUmIfno5wjn5HrrevoCLRPiNeNpsu6kfdsFXfgoC0LFEPw7D/TyXYisRgMBgMRvMg7EttJ6IccUarawi/XCiVDNNKJ9yyCJRrL51jVHQmddGBcERYDpmudDS1ShccWkLpX4pFKFds2xamctZRfjuVqxqRNkf9k3UwDAaDwWA0A7Q+w7CsSJ0SqDwvsswQBH8qCQWH4XkFGVBtVUJ5KGcMucLUcZFghDQ1FZYVRl33A79cLtuWmXRV4LTvyaw2sClVAqSMfi4uisQwg2EwGAwGo+Fh9Okm+piICjWSSewkkSn7QRjabsJ0EorrmH2/7P+rvUE6rdQTr9T/nJrfKOtW31VV8l9T5qlRuYH9UtkyZeoalWLYGCzDjG2ppML0F78eMxsYg8FgMBiMEUCkPzEoT1wlpYqgfHWmPBZCxNtuEkTCK/umDLKuFvf9c8UNirBeM5JR88PqnxnkyRtGjrkUGxUGlmlYiZRAj8G7pDOPoXLFVBokrtJnRZKnher2bBs6HAfGJ3aOYTAYDAajIRBJbEv/I+bYawpLOsYqUQ8e4CjjkTF4I0NcqkIpht3HfoeM2FcqGS8FRqsDFrpt6XNVnLTwfR+34ThOqVQCVwEVs3CIbEnykOPk8nnBYDAYDAaDMZFgKeSyWXAVr1yWDKZYLApZdACExvY8L51OCwaDwWAwGIyxglGHgkeWSzLNdCaD0wqFgmQwjzzyCD6Bu8ii25YVhuwMw2AwGAwGYwzRn7sMSEVwEFwFhiSQlkcffVR68j755JP49ymnnCLVMp5HFaEYDAaDwWAwxh6DaVJMhd7e3rvvvnvDhg3/HwAA//+hSOm4AAAABklEQVQDAKm2Ko4iud1MAAAAAElFTkSuQmCC&quot; alt=&quot;공식 Jenkins 문서 기준 Unlock Jenkins 실제 화면&quot; /&gt;
&lt;div style=&quot;margin-top: 10px; font-size: 14px; color: #475467; text-align: center;&quot;&gt;공식 Jenkins 문서 기준 Unlock Jenkins 실제 화면&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 단계에서는 아직 로그인이 아닙니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 &lt;b&gt;초기 관리자 비밀번호&lt;/b&gt;를 서버에서 확인해야 다음 단계로 넘어갈 수 있습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot;&gt;Jenkins 설치 직후 가장 먼저 보게 되는 핵심 화면은 대시보드가 아니라 &lt;b&gt;Unlock Jenkins&lt;/b&gt; 화면입니다.&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;3. initialAdminPassword 확인 후 화면에 입력하기&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;이 단계에서 가장 많이 막힙니다&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;초기 관리자 비밀번호는 아래 명령어로 확인합니다.&lt;/p&gt;
&lt;pre class=&quot;crystal&quot;&gt;&lt;code&gt;sudo cat /var/lib/jenkins/secrets/initialAdminPassword
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;출력된 긴 문자열을 복사해서 아까 본 &lt;code&gt;Unlock Jenkins&lt;/code&gt; 화면의 입력 칸에 넣고 &lt;b&gt;Continue&lt;/b&gt;를 누르면 됩니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 26px;&quot;&gt;&lt;img style=&quot;width: 100%; border: 1px solid #dbeafe; border-radius: 18px; box-shadow: 0 12px 30px rgba(15,23,42,0.08);&quot; src=&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAusAAAGHCAIAAACGRYvWAAAQAElEQVR4nOxdB3gdxdXd2faeuuQmuffee+8GY2zTW6iB0EsgCaEFQkiA0BIgoSQBQoAkkPCH3jsYbGPj3nuXq3p7ZXfnP3dn376iJ9kGg1Ey5wN/0mh37sydu/eeubM7o2/fvt1OhuM44l+Acy7+BRRFSfxXQkJCQkJCQuJIgTGW+C+gqqr4F9A0TfzrQwdZGT16tCIhISEhISEh0XRADEaRkJCQkJCQkGhSkAxGQkJCQkJCoulBu/LKK5955hnxS6v+apcZWtFgNVKlhMp5sBnLaM6sWkXVlR4n6qVrnea91S7Haa0GqPgvpw0r28gVpjTvRYXhch6tUbhzcJFGptL7TJ0q6aeWbXCcb8agctuzSLWiHM6bOegO/uOHKVcLuFJigrBO12qQWruXH5Yg1VCKhmrVxUf4RSJVU7rN1kvXHYL2XTBV6Xu2XtBFLd/sNDJkuEwzD1tRhyBeadZDDZVxpYm8T4VRa9FHrd13GM3FiLQbr7Ufr5WsdvihDsu3gvYTNLTcsdL/lWlK25GuQX5XY2Fms15n6IEcVrnjUEV+W3b4nYEpetD1jel6bGQx4Q+rdtIoNDRS/pXZhax88yGpLrMV63GyDr3VHYhfjxH3lRksYIE8Br+dgkMx+MZ6lEmhpHp30t86TtbajdPKN3EnmuYWtKrdWA22Cj1Eq5RIDf96T42wLhGhWvZV9688jFpSPPzXk45eoJsVm7kdoZLcDgye2Qkr4cp4jyAI8ZR8bwMmjajRZbrWZpR2YJWjGUrv03XEmsJBatEQde9SrxaMUX5nFcoUghCOu59IY43AnSio+yy9YpvTiFGlld5xila+pUFFCDvMbM4qtnrXBPKZHmB2uME68Qi3G60d+iNfv0mwjcptaW5XE3MwZZs5no29y5zq3aSDjAI2/bGAFmCayXqequM5bNFb3fqBveVd+m/XXAfNyuvI4Kbxa69T9awi5lcFvTOWvjXof0YzRpV8YOMBE5ehiXiu8FTA+r2WGfQzChsCbsRfrRDdq8SeTIwZzAj/om2iGfgVEqkeVxD+BJPCo+sL0jPoGvyLekSd+A9/RWMQhxRX+7hg0t1mIJehVaJECyo18PtqvL/1BXWeroEFxnukU99L1rr21bAg8Z8QlGbA6gnCvXom2zHH9i8gTWYookeezjO9mukpdaVvec/ufqLmS6EeuapjalwQvFuHCZpfSIKCVG2KIKOeoETR9UdNN+kxE3X6oyZ61JDNoDbqUSBJD143A161qMHro9lgJb7qcL1vcn6PFCVNoVC4eFYTzIOlHzU9JiiXNeuu4hlJMU5IZzHzoMZkKmIINMOzBOpR0BMtCn2TSzQJIsdabNRidaYV1GGiZmSwlNvj9ahK2zEqXZ+ZcIHbTdQgOuirzn+yVC32tCYbfGKP0gJ/nfl0oHi+I54CX3WoisWUKeqJK9OgSNx2VIN2mDpqbuPjClHTmyLEpfTIu8y9XWHpLUGYnJZsh0luKuG5FoVC0LBrTTOHpW2JmYUngvzh6BsNuGnfH6YYPH6d8oAJ1YkY5hu8UF3i+OIHoahIJYe7RiBXYtpAk8At8jqowjzgBhOdtn87LMoPTkqCoLjB57DRt8T9ofdkZXtPFp6O1iO0RGcO7P6K4gU6mzhqcB1CS6i5/Tht6/sUWbrO1LJbM1+Z1NSG7FBPtUMzRwmVchGhNr9r+6pLcUpi1Hx/6Hn43yZ7+GR/mBhfhGi/Vf6gH/uYCSk759hjbzOgW/yl12k6WtJ2rJbbXvWvbDta63+BrgeZ0rDBI7Ls+sLB44kLNrvd2f6R3aynN5S4MqeNOuoGA/2FwrPbsH7nkyBQHAyuL6j1cK3/hToieGI7lQZ8rBJ7sjC4nY/RWEzhKQYPvR3zB7LD/SvigQw32mGuxCYbNGoJURj/otrSDU69WM+0mNGSXOEKMtI0DKruNEUTbi3lIdIdJ85SozUcM2NwumitV7LkT9Hus7VNb9kJ14D0uV8kOaTrfucZc++OgPqt/LvVbZa2/GlL9GrwFcbix6K8Aepnu5xU1RkyKEKhegZIktZhkoYxe/OisKspduwfza0f2qv+aaWl7bix91l699n66+eHFPfhnPCbALd5Tnv1wEpn/v0RKK7TMVq/cw00dc2L1sbXLc6VIVcanaZqA3+k15XyN84PQzXH/jEAWUgFvXdVGBro8wP9wGo+7McGyPg7V4SdGoq1M/4SgJXMeEJd8Pvornk2SkbfZLbsp75yZogLgjleG3SxgfohBbKgkIE/MrrOgGuhJ+r186lHUNf0RwK75tuLHoniFhj3/lXOyOvpCX73inC0lmMUIUhcufjx6LaPUik6Bg/WP+RyErTpLWv1CySI6cqxj5j4QegNgTNap4y/w4CLeu/qMPQMzRz35yAFPF3ZvcD+8oEoLq7dH5+XUzg3lBE/MVsOUN++OARSCI1hEoM+BvIxgVM8DQfZ9EfhopS3LwnDSPI6qtDemFsMprH3rw6HKlxBfwpgWO0of/eKiGOlY9yqMuhyA6z3tbOpTjD34T8xwINhmjs/t5c+kcZmGD1X7NhHzbJNfP5vI7ZrDNlFDMR/5PUGEoHzfhuBZqA6wUug/7UvWvVVh2ThmFtMqG7XXHvJn6MwuW6ztc7Hksm9dXGYquVkh91P0PAAo5tvXRSGVeChOvbRwKY3LNghWjLwYgMTo0GXwKj4O5eHeYhu8Udt7l0RBBh4q0n3mpktGMzvjfNFN5Wxt5mYCSBgvHlhCOqFtqFh/PDZLyPlW5wRPzNb9lfRgA2vWa2Hq5/+IoI/FQ7Vhl5tLPpDZM9iB04NKkLOksIVIzNe9hRGn4+/w8xpp751cQjPFG7BEEy8MwD9ow0QJHSluG4FfYcsJR1a9teGXWMs/XMUxgnbQEd6na53PV5//8dhcE20CrnYaQ9SH0vXO3je0ZF+F+ith6n4QRg87HnwpQaMExqbf2+kobkvzCOjBZtyv7nlfXvJ41EIOu4v5F9ti79zWRhdQMmoG0zMlHDx+9eGYaWth2kjfmYEclPtEF3DAysmoHh+MfHtfYYGk373ynCfs/VVz9GjgUEvHEwT2RRTJFaRxdAY/Fy5w/ns1ohqsoEX6189HIVu0fGNb1ioE+6o5ylafYMvWeMs+F0UDcAzldNWnfAbE/aG5xHScXvnY+FAHIwLClEPrpnxRADmWjRU/eRGGuv6akHKAT2dc3sETxw4h+vxyeCRsZgXM3i0FrJAYvYscr640zX4PwdwJboGO4Tap9wfwHjhysyWDL1DwKAHuSyp491m6f3O0zH7CpV4yqwPz+DftFb9wyLKHvAEwe2TP6wj7ZE/bM0wTJ//OgL1QjNQAiTtXWIvfIiai8g0Ha5AZW9dEqIx4kqkiicme6AW2DM8PLzcyn+4T6t7DTqy5l9Wz1P0pX8h88BQdj5GRwfhHnEBhE6+NwBBEDr/vgi8B9w1UXCTrXvJWv8y1WPVUXARFYqxTvTw4SoO0XjW8ADiB0hf+mQ0ycM/GC2eb0P02FvN/K5xf4gnaMp9gboy3qyb+saFIWj74xvDkCVidteZlFOZf08Uixh9zzY+vTUCETs+sxEv0IYNr1qIOPPvIw6Hrm37xKZ1g9i0pHGDt0OYpXP0Auxq05teREB3kJVZ+3+W6GC3mToEwbNtfscefLnxxW8iGDiMNRxdKMEAUAh1IVKnzf2403J6smB7lTsdJcHx+gYPTH88AIeDR3jXfAdPOnPnSPCKn9wSKd/kQBXH/DEA+wd5Qubvo5/TQ416pv4+gMn8q2eFhI9FhglsQTXYsiej2z9xtX2biZQSrsQwidBQr30UZAdcYOCJwPzHX7o5yHswoVIlo1nSdGfETz3WhCd/1T8aTE5h9qk0jDYj1awiCrowVmFncPEIve9dGbHCvKCbil+z26pvXxpGr0AFQKSEigW4m+uDVcFPYchFIYwYmbT3r41AcQhLeISgqbzO6mvnhqAXJEXFZQsfjJZtdHYvcGrcBSA8Eu9eFQZDQr5h2kMm3Cg8rGZyeH8ESOHU4JhePScED/7JzWSyAErm3hkZcpWnCjzkaAYEYSSGXGGgnegaCBwE7Vvu1OzxWoh7YaMDLtRFXxAVIPTNi0IwzSFX6F89Ep10TwCV4K+z/hbc81UaBYIdtxvj9khViI+7gIm8f01kxpOB2DX0fMLn4vE+/qnAqz8I9T/fQIRDH4deZSAM169WNSkirn7eqrzf6XOmDtYI5cBRvnFBCJNCUHsoHH6t2wkaXBg0j7AKNUIQtIoxguZnPxt4+bRQ7zN08vVRItRYcNyzKA2DIc08Eg2VcF91oC8fXR+BE+9zlu4PcSLgkTEFx9DgGUCkn3cPRS24v9ZDVRSKlB7GAq2FScDFYyZXvxLMCfr/UCfVMQVWobisv3lPMjnH5uj+V38kYodCKPbdKyOYUuAyPJNwAR9cG+42kyZcMCTwEni0N34YwhwLBHrNv+zjHjfFqJ30ryCtqyoKotTr55I2oFLxpCFA4rH/4LoweDM8FAxj+V+jtQe4cOKgnq0GMqhu3O0GEq27F1oYwaxWKtjDWxeF2ozUOk3TYLH9ztW+/J0DD4gBwroPnEXfcwzwURg8pnRr/m1h4oGxyHafAiwB4MY9i2zxcPU5ywBvVhoAqoLBw+l0maFvecdC2ID5rflXCLG8YqtTss6BTqiPzM3oZNP0HUuQ710dQVSD6siYCxjc1qJHo4isRcO0hgSBys9+LkiBhCYwStEQ7XVXdVmFlO3b/qk96DIDmqnaFbccTBjevtgpHKJu+9iG7eERwFjADpnKhl5jUIQgn6i07MtQiBHMbqOCQ4OsKw45fSxw716Yag9ISiEV9PLpIWFdcNxwF8F8b04cbObOGjOUFn3VJIPPphIYPG5BjJl/X1RkGvAII8+BvLoI+cECJb8LPdf5XVQEAITe188JjbrJ/PL+iB1RGoeYX5LBj9Ywq4GN+Qb/xgVhuKDP74jAKigGD1Bfv4DiAS7ucYq+4RWbJu4uQF8SJ82JQJgX3r+RFWfP4GdRU2hi81MTAZsejQxMOFVQWHiS184JgbIgUuJZgHVBtHBKCOQiTwOmTk+WxeEPYXiprwow8g+YvkKZea6Hx6CjcOTPaToHmr7iOaIv/c43EINX/T1ES+RrnbLNTm5HVTzCmBvA1EHFCrphnhZxojTnFN6jx0k6vBZ+QDvBtuHhielGyRimPWxiroL1rEgNGbw/hSMPf3Zo2kOeh8eYYooCY4brRm4DuqV5oMGyWjNUiNUxjA6CNxaMtn1o4+LJ9wUwV8SsLBTl8ADhcjtpNYpRemn7pw4l9jQaL2hYLPRQvLg8jcG/dbFTFDN4f0zBsYTFopt43pGY8TJVMWDBZO5dUSGRkjTtGK0o2UmJ7b1LGhx3sCLh4VUNTI5mqqDd8AmwQ4SqEdeDOlDlsMPpjwYwxaK5jRuLMRup3uPl1EFK0MH1LxORbdlHBbUVBgPX30GtDgAAEABJREFUB44iBOHJwujDx2ISOOZWE089nhQ8O7DMVgPVcHlDDVTCZYoISRktNfAer7bEHEx9ROv4xjecyffF8/Jgvt5zyBtOF3MFrrORXWN2zXOW/TUqhtm/rGIbhziUwL+Do7UdrbYbTXoU66kYBpBiOCarVln4ED059RGp5okrvjCUvYuccb8yS1Y7/vJhCqp3cbBmrDjiOcRajGg8EhWHtXCIxmB6AUGYzTfvoyJ9cog3guz76SVIxAwGy2r4ed8KWyS6UhCu4JvesSGobL2Dxb6GqkUyA2MkUtB4VGBD3Y7HqoOCxzit3uALwPnAAzAWMMStH6VhAHomaV44LD/zjHGEIJEHhpMCPRpzswk+hHC77aNDfW0BQ4a5l6I2eAFCC4zbCiMrjpgXv654ARViggI7REqz+wm00Fm5nVvhNKqLVPDFj1lQHRZTfdWBoMDk0H5QSf9KzKWEHeKv9W2Yu7Yd931REA5HjFrxlzaSHw31Ak4Q2Th6NL4izbRBLu1q4tlCmSAucPdQL0ILGgMngofZyFJgnLB8ODX0FDk/zB8w+wzmsapiLvJkix8liYnvHCCPWOfSepgxd6M76B2IuM/162P3l9Qj2EnfETqUCYdb0FUlY2B4KmmI9y1zRt1IGfKctmz/Ssq5VhU7iM1+RhdsDIwf6sUTV7zgkIYeEqEKTBmhAZCD7R87cH+gqov+0Njjg3UHaJLsMMhz28WN4cAaSjlAvZXbneVPO3CyH/yEkjFpH0aoCFwKrYWi9q1wdn1hIz7Vv4ysThh8YZLBhyswB8O4RBE+QRzxCMN39Tw13hgs6aIQ+lS+FmDw7cepRYPpubLTKQPPGkYE89HcTki3KOCOyrcDSIfDH/MLE5ZQvNBO+1BbEeIcyPDhOcrrxECvUYhFKHqyjJhTTQZz319sOwZOnlJcYo7HORJOxHUwk8FsFnW2H48QyIQd4rmA5tFTpKlAGnLas13zKA7hwYEdagmRaN1/rB1fuO107T3RwyNIw7+16KcSqWrYw8MfFg3DNXQ//Im/WgRyI5oKv41m9zkbkzRaJl7zQrwutA32jChQvtEbFAjFrBhhHn9C5gaJGawbZBXS0k/VTgUN++oPB48XyLi8f433mgl8IBwmnv2C7pTTRX9FOc3x3KUr9HTi3bTQAxoKKYLKKG4sgJ9sKC6Th68THp7TCytu5rXdWLVoiGuHByPfPuAcKrc5jb9OhMGFefiLpGhex0kaaA2Y95Z303sPNBvxEeaB/G7n6fE50kEYDGX2qvmyv1rTfu+RGGjBz0GJ94agNXAFyI6v9TAlUMAQbht6UwmtSfOnGG+FiEiVgixiqAyPkEdXcQvNRVhSA+rXIMxdAE/UgbXOniU25mSDLtWhtVStgh2P15AuwlMHJwXz8pt3WAC7x9IDVhCQ9hh5g3HoN6YIwnREPAy7F6bfNRDRBQEYgsDlMf+Gh02rCp78PhoMEWEPz+HexenfU0MYxpQdDxIeDNybds0OyUyamApW5D+wya82B3LYlw9ERMJm1I0GsuLKIYC7DW54cRZrmpwSYwalQKwQT77T+wFPKZk+Q1BMblLMDqE62CpURzPFGfr+5XSBnsXQI86T30D37bABM0gpR35i64ekst0LGn0fNkbW8S+MDU1CYxCrkJWlu2JG7nXIofXclc9ZoXJaJqCJlKrUlZGWkH9238TEai+l5ZHFQTxOWhtOEKS4KTpM8hBgMG3CsywugcWC5/lv3uERRnII1ToRIhZ1JXzxo1EsC0It+BXzv2kPmpT2YArRRCVZ+S7I9bxnY9EEjwBm58g1inKkTNDOtK/4aa6f/ewWourNeqj0WqJFXBY5HmK0DcB9740JO3SiaYxBDOXCh6NYPwKxC5fHrwFHB/uhtR73DQzoH4XII2JuHa2OXcQonyQmlOBVnqDYU4ZFVc19ywS+HuoNVypgk6Q6I9nF84R/04HWULKpMf41sE+kGHe7mVcY/Jp/20jdExdPVwlGCumKBb+jZw1ck3hAAoLNlUbeqTwsoKcwFeQbIAg/IEG7/G+pkR8PO6bXH90QFt8HiAdZvNRF3ildeEGfwskeXjht4du3f2x3OV5H9+tKFCRCwgl2OOku8/3ryA6xBB+vK1lFScEFSw/jNPBOz8M/gCilYJaP5w7PV0MkBk3CUybsUDOS6/afLK4sedxC4gfcQuQRcTEIX14neokYvpSWvVz7n3Q3KUeMyIc/8wYGmdSa3RwGfFCDV9ynFfme4nler5DX3+e+g4KZBoUAhzwb5g+YIMEP0OMWUT652TPHrrM0P8FDo5nPwuXp35L2PTzTGJoN1SGnu+p5q2wDuZrDeMGZH1oATbgGjwOmZJjKouV2A3ROOHOMmh5IilB6YqjE8j+9u+4oK56xdn9lI1ogv4phRuwXpAy8KbHzMBRYYZfpOpgaTATTEf9Pgy5GgjeStiMYS6feX9ymc79vILkt+qtDr6b3fJGhEquJ9Wkgd3mxsFf0ygp7hdE6RRh91yla21H09hNG3Re5Z6Ez8np6OWbT2zZCOziHpisVOzg9KpyGzXf9TiQuact71oRfmyjE0i9aknglFAWqPvE3lDFCyPGfH8yThCAQcExf8AN1U9TpuC8bObG+u4XIvGG5FIsgWPDObk1z+tT+WvTeZceJNHEpXR+3KqjOjiVXfIWgUGRcIHrSvebSP2PdB0v7qveuEhx6C3I9n/2SuoOV5sGXGSDs8CRYmKhxP0OAArGc0WmKBvPCQt6exZTQQjnWRNFxCML6i3sZ0h7UFgQGkYhC85Y+2eAch1RX50Uaepc+7GmY9Jnu0UIcQpwe/2uaMb9zhTck6Fqic4HFjviJse5lC097816a/xJf//N1zLe4G4TgWbodT6qDMYuBw8Xjbqf55YKHotwfi3qPEFooCjmNmqd23zygQPhTDBacl5HFxTuq7pXxJzneTRdwWBjHXqdquIY+UohZrKgTWo3UsOV/i3aaqneYqKJ5Oz53QA4+uSnc40QdmZVZzwSxjIWmgiPChyKsLnvSEvXDJ1rJ0ct9LUDBwvzgKwwsZIhCLI+K5IQw48KhKuZAkILMKAYd1WJNBCsmMAbk1fCMLH3CEua9Z4njtjDBjN0vENFBqLqgKzm+TW/Fhx6Fy56OJiuTi7dSYMzLnrDG/8aElM3v2VYd+a8PfhIZfDlmqGSHc38bFav4eL7ajNC6HqdVbOdLn4hiHgkzg5HPuzfqj4WdbG7I4878a+Cz2yKJUQq5hI9vIu3gXrCWUe5kAwsKtMYfQS7NnnKfl/QVlCXoZpWUmMEr7ttXfc4w4ZHe+lGIXjt428JC0ojZGtTy5X0RX58pZoxCJPYm3mXCaOE9yP8ypXCwivw59S6sYJUQE+u1/7GxaIKLXYPno28x8CihX5/eErP5MBd2SC+LvGDhiYCWMGqwSaho3t2RKW6yfMsHduKqRNeZGiITnLNoFf6EjoMw7V3s7PjcHnixadfRxYmCXIPnYnwxNUf6jcaDKVhpjXUJmUgHVBWNR+IEz50wj5K1aCEWFGhhbtwvTcgFlUzUxuibTfAhKBBpP+RCfA+PkA9DnfRbcHNl2yf2ymfJDj+9BVk0o3kvEr78GYRSem9BCEIIh6lzzhIeTNIzNJzESzilbeCE4Svw1EfcD4JW/SPaYZLWaSplN5HHFW+TkN5iHv6LuyKf3BjB8mhGC7B/K1IZ83LJCWzofN8ye/tntngW9q9ysGq/5nlrzQtRUExMwgHRo4l3muCmWFP2nQDmEkQ1oskGf0+U0rSufdLrCrExRIIcjfT9kh8H0WXR6w2vWmCxXY/Hgqmz0HVlviBQczshJ93rVJ1WP9IBVoS1Y3LgOrEZSEf+Fcmwsb+g5TlIxxTI63g41UnGo3CCluj9IT+k226885/WmBlbbiEcVM+T9ZX/iIL4DrjI8O0wPozu+GKhuc1IFTMl8cKTAJs3b97JJ58sfnFfvGdu/8kP0lTPIjHMfVFfLExQ8E58PhkVagEmHJAPVJV6ZQya4c45k1VAC1LJXxJiiob5HETTm8U1DZI6XxC9HK56o+sXJvaIXnV0q6F3oQP0SrMopNebDRJNvjVKcsWVYo3Mbye1J0hTZ8u9TLzj5tfpfs1BCU87VE+QES/066Tbg2QoPGExDh4B2X5oHs4adMH7ailFe64g6IrcWSguyO87JcMsRbzG6L7op/Q8TUfqEkIRwlG4JfaaCOI3haKwOytVvQ4qZPSeo/QLhT24DJ1ClJgxxAVpihgmUSe9jWXR4+00lBxlcUMS33/Z0aTCNL2mrwBoHH1L8KWL7g//ibnqOcQhpf1EDesIcK8pgkQlGGtPdWFKTWF9fc2/6C1Ufw5Exlnvi1a/ULy1RxSBe4UoOfaRwJxfRlDY4yRt6we2+GIw8cqUARKgb1UCnjmhMcJiRb5aqEUU4hqa8Ye4/84gPZgGdVw8mPT0mcz/VrO+IGFdfp2Jhb4dusphVshLlohCMdbwa+IFW0y1FZd/wDGJdqY8BSk9ShGUOJRidiG0JNbviDjG7FD0WnG9vBOzQ1GYZIfuBenrzMUkkj7fRdhOjDopNkMTTcXzdShMerLC9L4CVtw3v237Bl84iN6Rr8b6nc39bx2Em0I08gSxxpyk52R8QwrFbRuaJP1H4loSPgoXx40zsZvMVR2Lq65+j5TYxzuiR6JJrs0w15Dcp9jwvvRJEpT4FDD3oVbdKWIonrcQI0LDHaJ3IBKfLBEvwGPgGbyXav1bzHjyz/0gxfPwCB9Ck77JKb7/SSikr/NcOxS2Wt8O1dijkQjxaadQvu8kSXTsyYoPZczDU+xwh0xkgJR6T5b4dAgZjg2v2L4dohAhFvlgmIf4mED4QzEovs0kDmVDBk9Ro+GHyCtPcLypdlhPkLAZrWEfKwR5MTfME42zETv0VRePBTE/k/i4pRi833fh0LA2DQ6H5QVkWZBYWv50aleFJSjCTSUzDTZ37txTTjlFkTjaoC/ZMigDj5/n3RtBJt851NdpGgN9vZzJJvwaPJpteM3aOdc+Uhnm7w/IgWYiSUOfXyFXhPmufQiqg3NpO1alEPUN4H5tCPXSqH12e8Sq5Yf1BpXEEQf8LxYLkJHGguY3MXXwg1YD6XMSvyS/iwrvmbLNicT/JsbfQZ9eI8nn0xeJrw09g74ywcpD+VYHawVW6DDuZV988cWpp56qSEhISEhISEg0HajKdwVMlFP2K8OvSV/PsqTNdrzrmXJk4Qk90tWmk+R24btT8OHjEFSROkZHBazh8m95HNl3YCcSEhISEl8LKuffRRIMy13dT9QLh6qJuyJimbn7Cbr/rRrtIZiwk0SX47TO0zU9oBxZFNGmF5qR+a2HJqxudpmudZyiKd9XZLZgXWfqyI03dAEGq/VwDQOnHcb3VUcewXyW+LWzDyODNhlTvjWAvuR2UNXv7wBKSEhI/E/ju5tfm1n0Mbr/jlVeB7X2AN/0to9JAMEAABAASURBVOW/VeRElT2L46vOWz+w243VtGBS6Dr538HEnaq/Bva6H1cbGcq3DazB75rv9L9AV759tB+nZTQ/bE424dfmjk/tyq0Nfk7vHixAH1wc1rsdxzwcEG99Hilktkyz97nivuteuf3bPHOIKa0Gquy7GEAJCQkJicOGduGFF7744oviF5CDib8xkTYonkdnQdHWhJcavU7VO0+jA+qi1XT4FgjH2F+Ynd1NQsE5DHpL1Ox8jIaSXfOchl4+pU0k+6r7l3un3HWYqA26xMC/SLrQLkmc3jSecKdZNFjd+YUXk7hNXxMUf+l474ozZdLdZrPuaqsBtBtx6XraSqjX6Xr/8/TiBbQtCm38HFBGXk8vBKFw90KvMAUoadaDVe+Ob3GN+f2EO8yMZqxsI+3D4/eo6/FasICVrnGMLLdkGvVx5xe09xfSRcOvNXqcSJopnu/0PFWv2EovSItXSvtfYOxb5rgbUSPJoa1/OU7Lep+hV27jDe0OhHRU99mU8Bj5UyNaq9Tupc03h15l9DxZhxQif+4GZRPvNDtN1UCPuFvS8xS995l6h8la2zG0R2TamqG3UTcYkFuz29tcZNJvzRZ91Jb9tFC5QkfK1QP+OvLnRvsJutgdEmwG/R1wAXU5VO69zxjIJdWhBENJO0gqysS7zBZ91aIhGjjH3qW0i3anKdrgy4zyTVyc1oZ6BlxkZBQwKtzMkYerLnZV5x6nMuwagwYuedSyWjEzVxl+jQFB+5Y7YuDA2MbfQR95lm3yvv3pMF4bcoVRuZ2LD3PcPT31YB6jwh30aj2yTaN+TpXktKUNZHENDB7q7TJdR1oO1svdMwTEWHeYpG3/2G7RW0VtY272DB4X0AFj27mw2A4TaMeRJnzioISEhERTRnyCCW/e92xjyZ9puo3MwZI/R5Gr2Pq+uytMgE17OPDKmaGsQtasuzbv3ijIzfhfmx/9LDzoElxpOVH6tq15L5Z2I/n6KP6SvkADBSld5++YQbuhiC9xGgLknvx/6vz7ImILqa6z9LoSDukDL9I3vGaXb3ZUjTXvpW77MLrlfToebO2/Dp46yO+sdp2loZK8TgwRet1LFvr+5f20/QOiHWIY2gdysPDhKJSAJa12Y7Qdn9sgDetessMV7mYVYb7pLZs22HiMPsTvdy4dPNHQ/j8U8JwGVYQwnNuBqYaKnrYaQId9dJutbXrTRn/7nK2vecGyoxyi8VdE7r5n68ufJonIkaAcFLP2QPo6kUhA8MZdrYepYDliP+b590aP/aMJZYbK0renbJPz5X3RNqNpr3f6bJgrFdtpu1U9wIb92Ni7OJzZirZspz05lPiXdaj2GLdaDI04UNRx9+3AlcYK2k4RnKygGyvfTIXtx2s7PrNH3Wh88WvatwM0YulfrLSrmuAKuB7EcfojgZfPcPePquZf/ZH2dVDEyaXjiW5iHDtMUkF39rjHyBV0Uat32bix7RgV2ZrmPTTcgnFsP55WM+nLeZOBQ394fdgO0U6XoDXdZqX2CGQxbvA/D7cZoe5eYFvucUh5nUC4JX+RkJCQODpIYDBZDKG6ZX/V//aaNj5x2PCfmEYWnbYjsMrdlkecIYJgs+xJC7kTO8xXPGN5h1UeAhAAwpWU4wnFdsy0o7Q5itPIJq6c9tTH/Bs3IiuD1vY4SRNnKGhBxT8lARNisa/l6n8ewsoHo2gK0tOsm4opO4jCupcpNCJ/AGZQvcfN03Bl63tW7x8YhYPUYIGy8jlLD9LBVKufj9dv1fGSdZSqAdsTe8809MG9f4J0I9jwGu1TDt7gbvWrr36eAjZiv56pqFE6CxOcQ5yMKt4zjdbRdvukmYo0wR+j2Xq4tuJpOpdrzyJnyJUGdEXbOJbR/gS4paFP18Tpm+hauIzeleLu5t8jfkpby4Pt4YLsNmzHZ04KAcItaEmkijYgwvgilfXpLbShJ5JDYDPegX+OItqAnoKUgH0G3Z1zC7qyjeH0KY2Nb9ARZYmLU3bY3TFJ7HOgKR2nalAXUkF0RtUBRewVCLlbPyRBYIG4BsofSae5kg793Rdr9nkHV+GvBV3VvUviPRKvMK/6Z4LB03FXFp6IhQ9GRt9gzLsneuibbUtISEhIHFnEGQwmnZvfsTzP7m4MjFQ/8u1zbqdzUKc/luaVWncPRP7xDWEjm05VxGJKYlz/5qCdkdyD4xMJARojdvgB4/nohrDf+AYrUb3t+OIljDbtwX9ik9zPfhGJ1nnHRnDa4c0lcIx2vRSHgo6+2Vz6RHTNCzyzBSvortLilB0/cJy2W40oWOXBAgoSD1/9IcobJnLiReZDfK3ESRTkeDv+cU7HtkEt3E5O9Khis3nFcZK32ebEqEhj7mdH/Ou+N4LURdvR2ud3RFDhuNtpU0LH3YFNi52+lLiASOUGiXPzHP5O+WmqhepK1zrTHjL3r3JAgp2v1zzaSFD5+M6wt+d3OvWiPcOvMxY8EMVYI9mWNkmGVJapMl/hTj0uJfbkPbDSyWjBNr1jpz2ASUJCQkLiu0GcwdA5iEudUe7poPDU8+6JIEQVDVaRwKeTbnIVJSEIiYMhVJUOr+98rCaSARteb4RH1Pv2lacemcHrnaeA4Df4cjp+1t+JdeWz1tCrDEQOTIXfuyaMv2LmjfK1L1oldNpqmi+rctoxMI89i+PCxImgICWVOzhSHT1O0lv2o+l27QHaO3/t/1kn/jO46U2rRW8lXM43v0f7Rg+4kEhT7X6OtSokaT74aWT4tYZGm3rTttmRKjrFZu7dEazsxM/P8/qb+IG4MvwnxvKnrLrShk7cSQrz6PU7l4eHXWMg64PVCtwFQrD23xbGCJdtfDN+SHrFNj7wIjq+YNd8mxZ9EkIvwjCYQd9zdKyXVe5wFjwYSVR44xAHBvlXIVOCxoCEZbehgxrAOZCL6nMWGQxGBEtv4rL1r1pDrqB3bhY/Hp1zR2TQxUZmS4bR2fh6nBwnAmmb938cGXWTAf0f9JinpHud2PkPETqEduCPDHECHzQgcl0pnOnAGkpBoeVmNhI/oi1JFVZuRx5IFY+AHeFfPhDlPLUNqHP9a9aZ7wTfuSz837c3oISEhEQTApszZ87pp5/u/cLiHyd5p3K7/4kgLHYx5+4UX/yJTuRK3FCENzjFx9LD+F+Za1+09y61/c2qWXJKwK8zXiI+ZHXiYcYT54YTriRsVSKuqVcn5tMdJ2sla3jFtnip2GmGx6qNd4GTRDAk8BhwhaKhanZbdf3Lln+Bd5cT20lF3OQqhN7rnKSVb+ZlGxy/y52P1fufr790qrdOg2WmPj/QsbwlDv1KC6Yln1vpC4rpNj5GiWrxCxsYAl9viWyAkltcaezILle6ty10ojGw+A7uvup8uUljxGOD6ItOqFMAPLXtGA0scO/i9Oem+u1MsRASlMCH/M/y48agJp3x5m8vhB/Ea9FpTC65R/UNHv9iEar3mcZXf4hIBiMhISFxFJHEYL5FMSq9+Yh5LUW+7zD17u0px9OsCKS/3j05YtYzQdz11R+ju+bah7Lig+WJNiO1ty8N06bydlw0kj3ucSexEi2BA0m46Heu3nWW/t6VYXFo8PccWIo64Z9BJLoWPRJ1Iod9hrmEhISExBHEd8RgmhaQLCHmET7Uk4nEiyl2VDkiJxn9TwEJGHpLqYmoDhzUABGPcklfJCQkJI465HZdadDIUdhpQceFKxJfB3SybtP5nAdrUvIgNwkJCYnvCZL25MUU08xhzXqomS3Y1z5xBqsnOW2pEmQmxDscmGQXdFWpxDyMg2b0DAW3ZBUx/yCCjGZUbSDPO6+cVnxM2kDF+1WjLctwAf5r0VdV022ETy3pRhc076U2793wbvoGNdivAb3Ibk2i9WCDhwThYhLdnfooVIcfUIImqQ1vyY8/+Rcgi5PXkYnbzWwWLGhQU6I9yuEgr1Oa3fGhYfUbHxcAtYv3Zw/nHlqOacQSYH5QXeLmy7ntPYtqBKizoLtnZg1KdkUfejtz2jH/9Rqoy/+cGyL0I7GtMwwSQ9P4BY1vQo0epTytYvlSQkJC4r8eSd5TDyijbzTg4vtfqIsAI7yhzyHE5824oJHDYvCn9hM1XDPtoYC4Mr+zmtmS0RdAVxmHvkf7MQ/T7Z2naXoGE6+n4HaUiG9zRNv7nKUP+7GhxRiA4oYxRJc2I1XcVb9OolAqXYPwM+72eKBLOYKxZT912sOmEasBNfc4Sce91CP/JpakhHajqcvoY/cTdaG0gRdTw4IFCthSA11UWvSGZmiXPJJiKqNuMHueSnvyHvuI2X58ehUL3pYYorwx8vmWO0aixO/UmJsNQSj9ElyDxTI1xgXpFt1b0/Fed9XoVyrRlIboLO1BnBEPn3Hz8EWzWCW6V0JvRAVoW14MgV+SIgj1gF9mtmKJgnqcpInvzhpqSYdJNAS01eHxuhAteuRTJfdlLKXDFI2YaOK5m7GhjKtO99Qy+DLD+1lV8jup2W2ZuIzWGVXmqU732i+sK6lHvjLVuIaVhCcL9dCn6Q11SiPOxDTmN1LVYspksZa7xswShgCNTGTSEhISEv+tSCIUPU7WFz4crSvh+1c74rMR8IDBl+t1+/nK5+g1S4T26t18wAV68UJnh7tVa33YUdpNDg56/j0R5ELKN3OQjPeuCdNmrF0pE3CIbzy8fSl96VG5i0++z/zg2vCIn5jzfhtBGr9mX7TfefqSP1Etu79yWg7wYjIWI8o30yuycOL9ztedSJr3QqO1Sul6hz4naccWPBBfveg8nXaq9Y4voO2JWUoj0VPciLyIajAl5G1j32a0tmuuLV7L3f6ZLVILnabRt+VIF5Wuc/avcjCBnnJ/4N2r0n+1gpAcKuOBvFiwUWmzfNrpdZ7T0PvOqvuFOWLwvHvcJmKMgjRG0MxXf6StaHLbqY7F+/wAUU5Z8icrUhX/YEkPcpDLzW/bYpu7jpO1pU9FrRBHnYMuNmr2cUQ+jO+qf9D2d/gZdAoV7vnK3vqRnfY7Z2Eeldv5mn/TiLceplUXOxBNO7/9ycJiHGLtiJ+Z+FO0li95HLJIRSOvN4uGqsjcLH0yWl3MkYXqfSYJ2rfM2fKu5WCI9/KqHUlvO1ds47X7lcbAlDajtC/vp++DoHbFpWhdZuit+qsLfh+xwvQ2NxI5/S8w8ruwNsO1+fdHVJ3Bnou/tHFl52NJLcF8Bv13m635Bk8HCMTe7243Xlv3HwuCwDu7zdLW/NuGbaOD/X9oeGSLKWuet8o2OciQoRASS9Y6tD+hewxFr9N1LcBA5dFI9FGozok0nItilMOjfaJftkrX0SbUfX5gQL1FwzSrji9+PIqeQnqfs/Wctur8eyPCDosGqz1P00GManbz+fdFvv8vR0tISEh8bSSlB9a9RDt5dJ+t53VU4VgRXwf8UEfg2THH6TpLg0tFsBnwQwOREjGp7egG8zD4a9cZWp+zDRFLFDf50fus+DHUhw7aSmRNPJid/J+gkeW5cvlJAAAQAElEQVT9jDBZsi71DB3auOxa47Nb3aDVAAI5bOwvzT1L4nfqyedH1v8ECUSEeNjV4WjCaxApqxWYLnc+VqcDdzhRJdAdTI61IEvMJaQAOkFsbtlf9bZ8dRTwHkT3nXNsO5KewoCoLf1LNKtIjTWMoZIlf7aWP231PoP4aFahMugyY9Gj0aV/sY5/KpDYhd5nGjs+dYSg4gX2lg8scfS3ZrLOx2loOQLhvmU2Vu6CeQy1gYN++UCkoU17AauWL/+r1cLdTQcG06wnQ7Lqqz9E0RhK5gXoE3oEbNSz7Amr1UAafiuiILLuWeSAQyDKgoq1HqbiggW/iwTzla9hIR4cZcv79qgbzY5T6TxzmAHsU0RxECZaZ3HpCLqz6W0b3YQaDVqm9HIqRUOR36ATsgb+KMHgFaXuAI3CxLvNrFasRR81VEof8R9Y5ax+wSbeieGwlGVPRVHhqn9YoCOVOx30GmaAHqGDGESRwgF3wWO1+W0L2uh5Cp3WBJK95HFr45t22kMrCZz2+lvxbDTDXU9EPR0mqRgLdGHNC1bREGoerHT181aiqUCxIPernovOu1fSFwkJif9yJOVgMKtDngPedvh1xty7I4jBSE4gqSB2wqCt2Zmy6BGa5u5d7Iz7lblzbvoXWHHxlg/svudgGcXzznCmoEfw7MphNS6oFA5UV/wt7olfPSuU9IJI/c+SmRKu8PbwaAjtJ6qgOIlJhQ2vJjn7xNwSvYiQzar38I2v29MfC7x7RVi8ywkROz5LykIh5bDtY7vfuTrSOUg5IFLOfDrILQU5rfptAMmj7e07sNnPBfAzzfhD1B3UgICKTEBO+wYDW6JQhGEsr3SfrYk6V/+LkgTLnqAJeuK7JkY2VqYC9L13yLs5hfmhnSBP9Cm4u28K+ogRPOnfQcz19y5p8ONvzpPUjBuRVoFoekfE3ZB37p2RE18IIs/02W3Ejbz22972x7gdTAJR/IR/BBH40WvkG5SvBVSFXNHeJSAWrMcpdE4WLS+aMDz6d93LrHY/7XbouKLFZjCJWyx6qz9MWU0bMdPWhX3ONGHwKEROC9wI6UklZhg8ectj8euAi4i1iNTd2het4/4SgKGiR9s+Drn7ydB+iTV76GN7PAggtXiCMBa1+5TafbyRTiUplyu75rncmsU3rUmxc56gXgkJCYn/biRRCpoBq7S3upgKO1E+77dR5Dngl7nteUoso7BIY59j0NsGQRat45/cEsYct2QdeW1EETuc5G3pcABdaWR+D/qC7MKOzxyx/xv+FdU24pohZeg1xtp/W41cg0xJVqEarky6QkyU038Uw5QxvzDn3hUBQfn452EkSLZ/Sve676MwXudFGfHmB2bDaDYRPnfbm3cuC6Pm8XeYabXU5yz99fPCCDZmloKFua8eoR1gKT5Zh7FhDK4Hw0OT0HiftzlpDuVmyNy0GkCLJmm76YlOaB7WdN74YRgrL91P0Ff+PSpUetBRE7wkVgtuYG9eSErAeg3qFKpLBBZTBl6kg1rhr33P0dnhvLoB0hM/zcAdDiu2wAdzRTffuyocdVcGfd6WFu7bPLF1PJ3FX29CLq2OM51Gs5GlT3FGOlZOkfYT510PuUL/6Hpa1ul+oub3iMeOKYCe6fwv5r0bpBqH2ueUMZKQkJD4H0cSg0GYKehGs9H1L9Ppypg1Fg1lOe28fLVIVPQ+U8eUGon6T3+R/itYuOweJ2uIH2a2gtQ6HDcy+d1PpBcdQAJ8F5zbgc4HprdSGgDWI5D8bzNSLejKtn5oL30iinUNrM5gFWnFMxRPQLOQkMcyU9eZ+vpXiLVg+T9SpVTuaCxcgYKUbXD8V14Ehl5tINng/0qv05p0VPK6/1D75/wyDEGIT1hWQyyP9ZPi05p/ecdQ53dWWw0k1RUvcESwbz2C3l+GNr58IL2ifIXg+qpiLDcwfzmAths5tFgFYldXyjtO0USFaLBHZWjIuB1rLK7ZvdApHKxiuQTzeFFoh70rRbz3CiMuAeJKjxM13E5vvGpx6gkOVLqBKwmEwIlFdy4q5AmFXGk7SqWcmfs+L1apvI5zSnJgfHH91o/oiG+k+hidsqkmbjzYaaq+5X1LvIki0OU4be3/Wf7Yjful+cVvvLQHo1HTQK1gdavpEG96j0p0Adj+sV17QLSMBhHjC83v/BycgsgHKAuSIkIMMo55nYjEfPATOvQI6bTj/xpE4i27LVt1R3wcMVLc9lagOh+r4cHBIGI1EGk5dAeyKHOJB6qvutY9aCyFA4WreEYzhoeC3iludOFMDEf9MeJWPJdmh5TkXKDSoq+a14leacJYy+0TJSQk/luRtKOd+40ow7zQP54X01wjk2E9Auv94XKKOts+ovdAEc4b2jSFZrSZ9ApIqNzbEQ5MBdXCWWM9xdsa333zoG4/L9/SoH9F5BMfGUGWOHUZs1vUg5gtYhiqRRhQ3JOuUYioKQ59TGEnKaAvcnlquiWlEMl/2qEuQtXiX7GhMKSjGf41otCq83pE35Vk0PdW/poRqc79msk/fztFSym30ylLnM6LVtz8E+JW2nk/1p7QzXG3mx9c573pg1GjMTLpFkiH5h037Knuh2AiXyIKmfuxj78XPhVGiW0kX8mQe0Mh/hrIYeKdnng76+VgxDcvqBMURM/0ehQvdN9NdrcHpJdm7Fi+BA1G2gO/ohCtAqugU0LrSOFCEDSAxTurlrIggj+BnoI341d/fJNGjZG29UwlWu2dtu3bIaTTIdvJhaI9WDBFAsxxFCGooIsabM5AcNEG/6BvoSVxbkMa1bm2bcS+rBaC0E4sZnHFq5aO5zSSbvfNA3337TktyBIsJcW2/cK4IdXGTwTzHreMuHQJCQmJ/0ocxp689H7u8dqW9+xvvgUZ3DcISs0euTnYYQN6m/agieTWlvdlaDrCyO3AwKX2r5RZCwkJCYkmgMN4tZbOQ37jyERNTEYlffl6QHrsjR/KEwW/FbgrVtIsJSQkJJoG5KkCEhISEhISEk0PSQwGKXQzl3ItkSr6ntZwX4mwo+6+n0GGEjObmdneu4dYkqd3Ptwt8FEYrvDe4ZCQkJCQkJCQ+LaRtKOdmaO0HaW1HkrbriObntFSmXxfwMikdwOP/aPJmNJhopbXSc1uQ/9ltWLivci+5+i57dVBlxhGltzGXEJCQkJCQuK7QFIOpmoXL1nr2BH62BW/ajp9+NO8t1q6jotdKzRT2bPY9j+pQG5m6FX6okcsK0RfFfU+Q1v+tPhAQmk3Viueb8vtKyQkJCQkJCS+DaiN/3nzO3aLvklnAud3VvO70n/ZbSgHowWYFeYpe06A7BQOVJnMyEhISEhISEh8OzjIm7zhCr71PWfUjYZ/pjEWmDxCw1lDH25wrix69NDOb5SQkJCQkJCQOHwkMxiW8F+MnITK+YHVTuEgj8IcWOP4q0i0cRl3N/uql26hU1zkd6kSEhISEhIS3w6SVpEKuqntxmhtRqq57Zm/BmSFleL5jpJuSciOKvPujQz7sdFlhtbvfH31C95rL0jYjLvDTFx7kpCQkJCQkJA4gkjak1fVxX7wzA7TvvJio3pue+XROtou3T92xwcKxeHVTsKRhHRlVJFnskhISEhISEh8G0haRYodtuIt//inB/iHsKQ9lNgKH2qhhISEhISEhMQRgdyTV0JCQkJCQqLpQTIYCQkJCQkJiaYHyWAkJCQkJCQkmh4kg5GQkJCQkJBoepAMRkJCQkJCQqLpQTIYCQkJCQkJiaYHyWAkJCQkJCQkmh4kg5GQkJCQkJBoepAMRkJCQkJCQqLpQTIYCQkJCQkJiaYHyWAkJCQkJCQkmh4kg5GQkJCQkJBoepAMRkJCQkJCQqLpQU39XVf0YHKJoWhmUgl+RWEicIuayIWYomcoLKFu/KxnKowlVKulExRIFaQ1LkhxBWlJgoxMliiIHaKglD4GvpagjGRB+pEQxCAoWZlfW1A9ZdYTxA4qKEWZmnFIgtRkQXpmPfPIILNpRJB6iIIOaoeHIqieMqXB1xckISEhcXShXXTRRS+++KL4pVlPNa8T04PMyFLClVTSbozWcYoWrlDssOJEqaTLdG3w5UbtXl57gHOHfHebUdrUBwLVe3jVTiqB12veUx12tQGfWL6ZK1wJ5jP81/V4XQuwmj1UUtBNzWnLgs2YmcVCFRzVthmptR9PgrhNsoCux2v9LzBq9/G6Ek9Q2zHaMX8IVO7g1bs8QS36qMOvM+CLyzZRtWYOy2zBup+oQVB1MZXkd1azWjHIgvMNlZOg1sPVtiO1SBVFFyvk9ug4re/ZRu1+Hip1BSlK+3HalN+5gopdQarSsp866ucmbqnYzDlXoJ+sItbrNOpR1S4SlNuBZTRTm3VX9QxWV0qCioaoRUO1SDVXDWbVUrWdj9V6nWbUHeDhco5uAh0mahPvDKCGmt2eoFYD1DG3mI6lVGwhQQhFOe3UPj/QNZNV7SBB6IuZzQoHahAUKiFBrQaq+C9ag4sZ/gU6TdV6nKTXlSjhCk9Qx8na2FvNqmKlZq8nqHCQOv5XplWnVG6jEgS5vI5q//NJUOV2EpRdRJbQdhQJqttPgqCEFr3VaK2CBkSq3fZP0rrN0kOlSqTSEwTRUFTNbqVmnyeoaKg64TcmzAnVkiBdye+iDryIzKNiGwnKbMWMDNZhoo7OYhRQAikF3VXO0VPU7I7IeK3LdD1UpkRrOZRDyjxGG/ZjE+aEW0gQU1qPUCffG4B6oSgSpJGZwVZJ0FaqNqM5g4V0PkbXA6QHlDTroeZ1ZOhgqsGXK05EsSMNG/zvvo7BowFkh57Bq6kGP0Pr/8Mkg0djptUz+BE/MTSDlW1yPINvCYPXkwy+Jctt7woqcw1+mIpBPLjBPxCo3NmwwWeyFIOXkJCQOOpIysHATU++L3D8kwF4czHXKt3gwKuO+YXhzy9LN/DWw7X2EzSEOsWdT2e3Zlmtae4u5qkIUb1P1ztO1fYudsTM244qYB5DrzHKtziiHgSDaQ8Fpj8WgJMVs7ryTc6gS42Jd5q+b9y3zGk3Tus8XfcEKQgMSkYzuOaYIE3pPpt4zx4IcqePCAZo/+DLjPKNniCQCUiZ9nAAUcETtIUPvdqY+jtTRFwhCEELIR/eWXElaUElq5DijS8I8RIh58BqzsQ8lSsI/wMu1EvXO2KeilAEvU2+z0RgEIIQnkf81Jj+aMCJxAQtdxA8BB0RJWgDgk1uOyYmxKgK3SkcrKKRniCmjL7J6HuOXrLWE4RQNPvZ4IQ7KXiL0UMcHX2TOfOvAREIgf0rne4n6GieLyhawxFEm3VjCH6KO59uPUxDOEQlQnX4F1yw1+n6gVXeqEVqlBNfCI69HbwnJqiYj/2leeLzQZAYYR8lqx1EtSFXGp7q3JFFtS37q54gprTsQ8QOXMoXNPgyvceJ2v4VniCwqNnPBdBNMA+hOpADdHD2swERd0nQOgd6G/EzQ9U9QYjr4G2tR3h2iBYiFNv0YAAAEABJREFUeOd1YFCCEAQF9r9ABy3A+Hp2GFZm/CWAQcHQeHa4j0++P3D8E/UM/lbDz9N4Bj8xweCLKJynMfglBzH4Yx9NNHhOBn9XgsEvJ4PvkmDwgTzX4LOSDB7X7Flsxw3+nsDgS/Ukg388MPUhYnKeoK31DH5pPYMPECPPTDT4aWTwJWtidqjwFIOXkJCQOOpIysF0OkaHF976oR3MY4gQKEFwqtjq7PjMwZxVzO/H/RITd44Mwd6lNmbD8JLwqrntVfywY44NLwn3h+kmnCPSKlvetzGlw6/IkUQqeEFXde8iB1O6jhO13YucXV84cNA0P1aUgZcYIDFbP7LDZRxxC5h0dwBZk7INfN9yT1Cv0428Tiri0M4vSBBcNirUMylPsOVdKsF8tHo3R3oAc+vdXzkQjVns7gX2nkUO/iTmxwMuMMo2OFves5EXEVmZCXeSuz+wxjmwklOeiSl9zzGy27BotVI8zxWtIiugmbnIW2i4EYIww0ZIxoy2RS+1eD4JQpDbNc9G+M9qpZZtpPkxprmIu5veouvr3GTJ+NvNmr3K/uUOmJBIaA38kQGehGYUf+kIQRCByjGn3/oB3WhkMVyJiNiyr7brC1Jm4UB15xdO+WYnp7UKWgNB4BCINOtftbEAgZCMapHFgR4wlCVrPUEYRyObUim7F3rKRCIBosGftn3ojhoWGgyG+lsN0GgcHZru75jjYMINgoV+QVCPE3Vwo3X/sRFTiT8pysjrTVxQvMApXe8JGo4Mgc5AQfYsIkEgFsgzZRZSdNz2iTtqmhLIYWgBiNr2T0gQ0i27FzjI2SAdsm8FCUL2ArRj45t2IM+d8SvKsGtNpHB2zXXwr0gkgPFwh6x07xKvR52naxg1aGz7Z54dZrRgYDxIQsCkIQhJJrQfY5HXWd27lAR1mqZ5Bp/vprh8g//UgSY9g7+9nsGfoEEnQKLB68Lg3/MMHsYWbtzgL44ZfDkXeSYy+DJeWs/g0d9Eg0c6pO1obcs7CQZf4xr8wrjBY/KQkWLw79pgir7B1yYbfL9zDcxD8OAUz48ZfF/NzEF6T9sqDD4v1eAlJCQkjjrYnDlzTj/9dP93OH3FUcQ6iABS+hXb4c3jJR0maMULbBFIBDDj3/yOZUf8WikvvcsN/wLw8s16YUoX933BAkQXd9UgBnhhhKtEQTTdXESe1wcmjpveShKExsC/+4IQIFv2pUDlCwrkMj3Ti7gCCAMIsYmCwIH2LksSRD161/KzGgCmrTs+SxKEFR8EWl8QYieyRCLiCiD8gBthIckvAdHZvzJJUNeZ+tYPkgQhrG7/1BaEQHHzJYWDEWhtXxBWW7DyQms9MYCIYIUlURDWsMBvorXxarEaAg6RKAghf9tHSYKQmNm9yPYn66A1ue3U8q2Ov2oAioBwmygIiRCwTCzuJLZ/5+dJ5tFlhrbtA9tOENRmhFa8MEGQroBVCOYngBwYaghXxKvFugZCcqIgLI3BxhIFdZupb3k/bh4gAQj2xV/aToIg5KJK1xGrEKhv8M17q5VHy+DHUn7lGxq8mYvFWQXMxq/kkAx+tr75vXoGPyfJPDDWiQYvISEhcXSRymAUmh4riU5K5KI5b7REdX9NKUn2dKkl9QRRST1B9NtBBTUu+tAEKV9P9P+goCM1aodpHt+ZHUqDP1RBEhISEkcV9b6m5kl+TVFSf01f4hx+ST1BSr0XBI+moK8h+n9E0FEate/MDqXBH6ogCQkJiaMKuR+MhISEhISERNODZDASEhISEhISTQ+SwUhISEhISEg0PUgGIyEhISEhIdH0oKYpY/V+PZQS5VsokYKkoMYFfRuipcEfeomEhITE0UPSjnbZbVjznpqZzfQMJepuK9esp9ptFm2yrnBv7/PCQerI643KHbQzh9gOC9cc91igbKMTLqcd35lGW+yP/KkZraXdL7hNm9AH8ln3E3TuKLSROadtfPPc7c/1oLdtfLPuaufjtHAFZyoTG28UDlaHXWNU7+RWnSIENe+lznwqULI2Liivozr6JiNaQzu50f5vmbSHaa9TdfwsdkzPKmQ57WirVs1kkSp3f/euascpWrTK3ey/zuvR4MuM6uKYIIU2c5v+WKB0vYP2iA2+8jupY28zoAfRI9qRpQXr8wMDfxV7wGe2ZJmFaotetBdtuNLd372L2m6cFq3husnEviytBqgDLjJq9nA7FBPUV532YKB0gxOpjAnqTHvw1x3wBGmmktWK9T/fwPV17q72Gc1ZsIAVDdFUnTYZg6C8TmqbESrqNDK8UwVa9lf7naPX7o+fBdGynzr5HrN8E4cShCDoYfJvaYc9ar9NG6VgUAb9yLAiniBIMbJY+3EaRkQIwrAWDtZQp5HtCUL7e5+ho7V2JCaovzrhDrN8C+2CI7ZlK+iuTn2ANr6LC2rDhlxhYJTFPv2BPDonodMUDVfTlmtcyWnHWvbVVI32XxbHFzTvrfY8mY4vcGxvs/9WA+n4hcpttIGhENSsh3rMHwIVW526Uu5tNNeODfsxnZwgTh4wcxhkdZlOeUfacZ9TS3BXqsHPTGfw27kVM/jmMPjH6xn8z9IZPCdBEJ1d5Bp8q2SDn17P4K9ONvje6swnUw1+TH2DP03nVoLBt6WzQY64wWe0YH3Pdu2whMuPkiQkJL4PSMrBwKNNvNuc8USA/KP7dSVc54AfGvBl/nZYkSraJazzMZrw78wlFvCYiA0itCBy9DvH6DpTK9/iiH23UBXi9IifEu9xHE/Q1N/RqQII50JQqIIPusSYeHeA3K4LxNEOE7VuJ2hWmEoYbRDHEGUzW8UEqUqv06glviBg0j0meA8dweNuYobYgKg27Q+B6j3eJmagF0OvMiCdeIYLdBaVIBILQZCUVcQQk3I7qEIQIgdoXIcJWvXumCCmjLvDHHyFXhEThCsR1aYgVBd7gkBKRlxHpwqEYtuyIWDTYU/n6XbYKwFLKOhKO/CK3d4QOej4glFqXZl3+g9KRt9sDviRXrHNE4QQAho36bfgBDFBVXzUjebxTwXqyuKq63GSPugS3Q55JXoma95HBYXyesSU9uPVwqGqVeftpYtRG/4To+95esVWzl3RaMDs5wLj7zCrdnqbmEWrlbG3mif8M4hgKT7PRTDrdbo+7MeGLwj1gFu0GaF5m7DR5nUq+BOuF4KgzCFXGr3PdAW5PcK/M/8aGHubKY4ZIkG1yvhfm7P+RnslC0GQ2PccfeQNBhosBKH+1sPU9hMgyBs1yG3WgzaD9gUN+JHR4yQNnMYT5CgwOXF8gRKzw0m/DaQa/IXpDH467NBTHR0f1rGewR+fzuAT7JAM/tFkg7/UmJRi8JOSDb4jndeRWegJgjH0PFXrVN/gr042+D/SMRqpBv/7gxt8Xj2Dr9kTN/jxvzIHXx43eAkJCYmjjqQcTJuRWs0+bz/4Gnd/ekzvonXKnq8cRFAxUwTP0DNow/J9yykwMHfvTuQbMMkTG/nDz4JqYL6b05oVf+mI/AQmypQkyGRiI3ykEKp38/0r6K9it9weJ+qYWRYvsKt3cZGxGHKlCU9atsG9zCYf2uU4HTNXRM09MUHNuqnBAhWTzl1zbZE2cNxkAKQfWE2CELMx1yxdh0DIqt3dcrvN0jEJ3jXfhh8XxxcgH4B/cY0nyN2fFD3CBXsXO2I39+Z9tMzmLLOlumueLWbz7qZhLJBLhxDRYYR9VARgRGVMqcX+9J2n6+EK2g8es3D8oLgbySNwHljNaQdVV1DPU3TkCWp2xwRRGNYwUw/ksuL5JIhO2cxAOZ0UuHc5CYIGEEVwC3Iwle7JiJ2m6oi72z9zwDDEYX79LzTAQvav5PtXeYL6nKFjdl5VTEcNUIm7/S7ooB5QxBipBuVCkEDCnH7PEkfkkNCdUAlHYcUWEgRCCeVv/5h2pxXnJPQ7lyble5fZJWu8UAeegRoQUPct9XqE8J/bjpYfihc44sDFTMq90ZGENI5I7bRXMTRQERJO5e4Jne3GaJj6Y0xB7ED7qP1nIWdDjS/byEWUHXChjlGo3BoXhIiLFAUIjdhfH6MmTvREx0UJMi5IF0XcIzCRb4AgMK00Bl+bzuA3JRj8NC2/a32DV3PaqGLU6ht84RANQyZ2zv1GBt9DDeYnGHy+a/AWZX3iBr+Ll66PG3zXmTrsHHYLlXoGf3k6g++s1iQYfIs+dOhERosEg1eTDF5CQkLiqCOJwSDCYekBPhdRXwQkRCb42R1zHMx9hbPb/ZUNJ77+ZXL6ws/CoyFlveIZi0rcqS0cKMLM6n/RtvEogYOmWFjKd37hxjlOW57DXZZtoGNuhKDSdQ6c/q65jhU7fHj3Qltx2MbXYoIUOlEIsWf50wmC1jmIoCv/aXG3BCEHgpD63v6JJwgspHoPHWpTvtkRqQUIxWQUYTtaFROE8GCxTW/S3vNC0L5ljh5I6pHYHn7V370SRFZaKKngWz9waMd6ThNoKA3dQWgUgso3OZhnI/aIzDyAAIzWbn433iNEX/CDlX/32g8cWEPBYdVzniBULpZ+xF0QBDUiMkEWsRMhaIsTLqPKQ7HMDdqPDNnW9+OC9i51wHhWP29xt48YQQQ8RP2Vz9pCEP6DICQeNr7pCQIrAhWr2cuhdlGCoB4qoQMIEVOFIPwJOt/2kRMXtISOGFz7Ylz0gVUO09hKX5lcAQvBKK9/1ROE3oGTIb7uXcxFSeVODqqBDtbu5U6sEuRLMKxIX4lq9ywiQev+k2AeK6mPiaOGsUbiZN3/2aReTjkkdAGN3/2lJzq9wdemM/hXEgx+OZnH8r/VM/gXrIYMvkYY/MYUg+dfx+AtZdU/vBL0rgGDd+IGv9E1+AUJBr8INCWdwT8bH6MDa12D/0eywVfGDV5CQkLiqKPeqQISEhISEhISEt97yK+pJSQkJCQkJJoeJIORkJCQkJCQaHqQDEZCQkJCQkKi6UEyGAkJCQkJCYmmB8lgJCQkJCQkJJoeUk8VYBpty5F0hU6bhSSVGFSYCNyCG5NKArSrRLxaRiWJu5Ljr0dNkFZPkF5PkFFPkJlGEPvGgqiPR0KQ9o0FKWkFBZJu+frm8Z0J0uoJUusJYkda0P+kwUtISEgcXSQxGDObteqv5rRTjUyvJFjAep+l41/fA2a2ZBN/Y2Y0Z144ZLSv+axngigXHhBeL5jPRt9sZrZiwgPCFZq5rMeJOsqFBzSyWLOean4XCGK+oJ6nkCDf+eL2sbclCFJoQ/0Tn08WVMDG/dLMKvQEoZEQ1Ot0qscTlEm7uTfvpUKi8PKBfNZ1VrKglmz0TamCZj8XzGyRJGjiXWZWrEfw/hDU71wj2MwXRBumtRpEZzJ4gvJYp2M1dNmPzahw+E8MqMsPHhkt2MynAhm+IEaCJt8fSBE04CIj2Nwr0TPortYjNDMnJiiXtZ+ooV96MF7tkKtSBU1/LFXQtIcC/hihHA0efLlB1whBQdrHrN1YDQ0QgvBr29EaLosLas4GXj2Rk1UAABAASURBVGKQeejxPqLaRPOAiiA6LkglQcOuMTJaxswjoIhTBVDOYoKKhqi08V1GTFAzOlohxQ4n30eCWIIdHv9kILNlXFAwjzb7z0wUlMO6ztDjgrJZy371DP7Mgxl8czbr2VSDH3MoBt81weDzWY+TU+3wkAz+9lSD731GssF3Upv3TmfwgbigUTemCpp1mAYvISEhcdSRxGAymiujbjIn3m0GYp43py35x9E3GeQQXcARFw1T+5yla0EqwWVdZmi57Sm2CV8Mr4pA2GEC7cQqAhu8Kurs/0PaFla4yIxmyrjbzPF3mMFm3jwvuzXre44+9lbTF5TfWW07Wu13blxQp6laVhFrPz4mSFcG/khvOwbSVRFvjAw24dcmbsku8gQFCxSUUGBo5k0f8acBP9QhmhiAi7xOqFMdcKGuZ7gljDafzWnHOk6JCdKU/hforYfTTqxCEK4ce5vR+0xqD3P7iKA46beB0Te6VMOtBp11z0kwAzFBuR0ZujDoUkMPeiXtRmuIN52na7obXVAVlFA4SIWShSBEnTE3Gz1Pof1zRY8gaMoD5sifGRkxToPAOeRKY/L9JlENIag96zJdA4nxBbUZrjbroXadqesBV5magmFF8MZ/oo/4d9T1RvfZGniYCGyo7ZiHzWHXGpkxToPIN/xaY9qDJtogoiO01H2WhkJPde7hPi36qN1P0jVXkKoqPU/W0R10yhc04joDNgPTEuaBgZj6oDn4SsOnGpA48noTTC6YYIc9TtZGXm8YMUEt+qqFA9Vep+mij7ix22wNbLX1sLgdDr3a6DSNhtITlMUm32sOvFinwKx5Bg+qnWrwZ5LBmykG/4MEg59Otp1i8O0nuHboG/xd6Qz+VwkG34b1PVeHZcYNvotr8OcdzOBHa7kd4gYPS4bNpBr8rekMPjtu8B0mpBo8etRx6mEYvISEhMRRRxKDySpSS9c6+5bZmM6KEoQ9sdWsP8lGzKOz9BKOdqOtzW2iIN7vXInW8FA5R0JCFGAmjWpRCXy0KMkspE3Q9690EKtESUE3tXIn7ZzrT0kRCyOV3jF+AkgPoHLEOb/EDtOxL7hSbBKKeF+20anayeF5PUEt2f6VNmQhzIuS/C5M7JzrJxIKB2mhCtpHlXNfD4y2bG8WF8RtJVLNW/b3qoU2Krfxql0c+vHa1pztX2GXrHUQMEQJ4kTFVgei9dj8vtUAta5U8Y+nAXLaM8dSQHF80Qgn0B7m0N5vKoOUmj0caSRf2/uWOmh/TpuYoI4Metu/zPFDFMao7gCvK40LAk+yI9zPNChu3LXqeEH3mCCm1OylfWPBP8RtSO3sWeyUbXBy2sWJEdSLwkCMKuFi3CL24xfAONohnrikhdG3wxx81C+pK+F1+5WWfb0SNHvfMqd8E8/t4FWL6I4O7ltqg1iIEigEzavexf2VDigkWsvJfmPCUQ+U6VcChCtoB95WsVEzsmgn4oqtHEMjSjDQGLJ9yw/B4BMOA0J+gs4oqG/wA1W/y6XrhMF718D86ht81Q5evsnxUyMgeWTw4bigtAYfSTZ41ACDR22eIBj8qkMw+PJ0Bl/AYh1qwOCL4wYvISEhcdSRdKpA9W7y3bu/ciq2eOfPwfHZIWXjm7Y4nRjYt8TBFHzls5ZV6/7OaSP5vA7qokeitnuODFzh3sUOJm2r/h4VBxbCVyJEhSuVbR/ZIhIgJJdvcfYv56UbvFMDERqj1crmt21xaLAQhOnpqr9bdJifWwJBCIRf/TEuCNEUc+UVz3iCrDraPt+qVba85wmqpa3ceckaLo4FAMo30xE8W9616WQfIWiZowWV1c/b1KOYIExzF/s94iQISxLL/hoVjAqBBILsMNv0tiV2agdjKFnLvdNzXEFiX/mtHzp1+71q969wwBvW/NuOJgjKbqsueTwuaO8iB8xp+VNRxxVEpw4tdRyLbXjNE4Q6D6zklTs4muQJ2kZb8m//2EGM9wStckB91v5fgqClTlahuvQvljgZkQQtdhDtlv4lKkImt6gxCmfrX/YEhcvpPAGMFB0q5CoTQvHrjk+d6j1etQdIq2zDyzadgxgThGqXPZkkKLtQXfKnmCDbPXlAU9a+aIlRQ0gGJ6srUXbN9UYNpA1kZdc8BzFe2CF4BlSx4TVbnLesuAcyIOKueDrJDnPaqosfiwlyqEQ1MbIxQdV0F4L3js9s0Ucy+G0cOi8/TINHuiXF4JF3WdmIwe91DX6Fe+iEb/A1yQa/9NAMPpst/1uywdeRPfsGX7qBTPFbMfgI2/SW5R8qKSEhIXF0kXqqAFLc+C/RSVHSmymJB9LSPJh7B7UIYIomztZJKrGVxNQCUtMp1X5bgnRFnBHjFTCqJ1U0S5pVi5l9omi0lnMpKJ2gIzRqicfrfKuCEvv4nQn6XzB4CQkJiaOL1DXtFHcpSlKvsVNL6k/LUkt4asm3KCiaXMAVXl/0QQUdVPT/rKBvYdT++wT9Lxi8hISExNGFfCtPQkJCQkJCoulBMhgJCQkJCQmJpgfJYCQkJCQkJCSaHiSDkZCQkJCQkGh6kAxGQkJCQkJCoulBMhgJCQkJCQmJpgfJYCQkJCQkJCSaHiSDkZCQkJCQkGh6kAxGQkJCQkJCoulBMhgJCQkJCQmJpgfJYCQkJCQkJCSaHiSDkZCQkJCQkGh6kAxGQkJCQkJCoulBMhgJCQkJCQmJpgfJYCQkJCQkJCSaHtSU35mqqIfJanA9Y4dUeLhgGv33NaQnVXKwHmkB+u+ggr4zHBHVfR0wRTXo38O+72vZjHIk+gjRjQ/cUVNmAsiMVeUb4mso+XuLQ3muD14Ja/IK+XqP29HCETFjCYkji1STxEM16iZTOWTAj/Q9V0/1R0xpNVD95uaumUqXYxt1dUxp0UdNks5SoyP+OvQqo5E6xt9hTrrb1APKN8SRcql5nVQz5yg4NrS//Xjta8R72My42w/VZlA/hrXX6bp6JCijHmSDLjYakdV6mHbU3a6Rwboc9017C9Mafp2hfL9BNOsQOopR6336N31UmK4MuuT7rpBGAF21G6up34OJ00GnAQIw487Hfm/meRISLlK9u2awln0Ox+UzpaCbmvoccmXPIsexlW8Iq07Z9HajtXBl33LHseIFmqH0P99IbI8TVRY+HG2kjk9uioTKyKsq3wyZrVibEUfgCS/b6IQrufKdgzvKto9s/Hu40EzWst+h2gzSXRN+Y2KYjgixQG35XRscOM6VXfPtb26H3xB6hpLd5pv2VjVY897f9ylwp2laRsuDP0d6UMnt8E0fN1C6Zj1YE8phpIIpOW3Z9yH12+csPaP5IYwamXHTVbfEfycOMhNChgMJjJq9fOFD0Ug17zZLR3AV86fFj0X3r4qFO+RCeqsF3dUNr1l4Jnufofc8RX/jglC0VgnksmkPm3UHuJHJKnfyBb+PIHT1Ok1vO4qe3eIv7ZX/sHi6GGNmsykPmPtXOIsejSLgDbvWqNjGO06iu758IFq+xYGgnifrmM2/eVEoWkO3ZLdmSAbktmeth6sf/DQMAoQIN/neADzdv48P4QIjiw25Qs/vTJFg/SvWlvcPHtxcR6n6WZw5d0Rq93HUM/pmI1jAFv0xCsIBCtV2jDbwRzo62+cc/YNrw8F81rK/uu1jG8560j2BD64Ltx2tGZkK1FKy3ln2hBWtTcNRoBlM1vueo390faR6N0euonCQ1v8C0nZdKZ93TzRak+auQD4be6uBGRLIBzRTucOB6MGXGmWbnCV/8gRh8tTjRB1sDz5o7t2RCb82P74pAv4Hz9VmlLrpTRvdHHSpgcteOTNkhxWhq5NeCBR/6UCrix6Llq53ctupI683QAi+uDNSu5/jdggacrmBthlZyqEjUq1U7eYgvqUbHFgFEmCoE6QTDV70SNSO1OtgLhv+EyOrFXnPlX+3ds2jUUO6CJ4XNegZDL4VzYD55XVk+1Y4pWud1f+yUE+/c/Vus/XXzwvBElAJzAmikWwr3+p89XAaQbjdzGUwOYzU9McCb1wYhtAxvzAFIRYGL6y3w0Rtw+sWxhe6wjCN+JlRsYWjSRvfsLZ+ZAsFJiK3HZv+KGX5hMGDLg+72hBRfO3/Wds+sTNbYhBjgv4URRvq642egh8bzXuqS5+MHljloP3I1Y25xUCb0Z3yzWSHGN+xvzAdR5l/b6S6mGN8u83UWg+nete/am15L53BM6X7bL3LdLpmx+f26uctGMPgy42qXbzzNG3LB/bmt/FQJxk8LoBixcMIo1r2VBSiYahdj9ftMMd84P1rSQWFg1VkyGA5S2MG3/V4rdtMfe8yJ+2Eob7BI70nbBslUP7Sv5Cg/K7qyJ8amHyZ2el6o5ISRt9oCoqM2QsakHINbPvE5wO7F8RtG5rvdIze1U2VlaxzFj8On8P6na+36k+1bP3QXv+yFchjGOiMZtSY5X+L7lnsjLjO+OoPUdudH7Ueplbt5DX7eb9z9DYjtTUvkqGSeQSUcbeZMFRMbzDWO+faZhYb9ysTXavexdPyeN/gjRwFNbx9CSlTGHzxQnvNv8hhjr7FLN/owKvgT/PuiVTuIHcx/FoDGdwlf44eWONg5gYznvl0cPdXdr5bWLGV9zzFMwY0AwMNjwG/2mGC1nm6FipVPvgJCUKdeHDQu1X/jOLB8Q0ekwE9IBmMxPcLjTEYTBHABhAU8bCBhbz1ozA8V9kG56Ofh+EC4NkRmMWVWUUqvNumt91kiKOse8nC88PdaIsHAA/hnF/RU44pGhL7jDE8onjqwG/wCDU06bdC/PM7Ij1OcltICzRs+yfWpjct+GsULvmTgxtBmCgOxcJ6zT7+8Y0RPOer/mmJ+IRmzLk9Mu0hb40D7nX504gfip7Jxv3SOBQGA9FIVkMJcMFosBMFFVOm/t788v4o/Ah8NAgNvO3uBXZ1sQP3gR9QjhS38E3+6wvQIQgcVAdmNvl+872rwvVFQWNoEqmFe6LhXz79RRgldogan7aBcL64YM4vw7hL1VjLvio8PhoM13ncX8w3Lgj3OlXf/qm98/NwVqEKp5z4RgV+UFXySmjz8qejNBYxIbgMFSIAcJtrAYZg2X6CimpRPurnxsc3RAp6qhhN9AijWTjoUBfhwDsRa0EyJt5lvnN5GLVhoD+7DbyWdT8p/YQ0WscROEFTYHVTf2f+34k2eN7exWSHCPwI6mhzqJyjSbP+Flj4+yjCJDRgh/jqFyzKz3FPrhVWIEhx42jauTtsTCyioTH4GT+06IsuR1CJVeu9JzTkCmPr+/buhY6Zq/Q5U1/xrEXlGtv6oQVrRDoqMSPoo66Mz78vgjqHXm0w1w7BQmCHIHDISIHBgCV/eX8ETI4ENZBqwV9XPIMni2e3VVsNUA+s4ZN+ay58kEat9QgVfAXKhPFjjNCkfucbqBDji5gKRWEEJ99r1mcwuKDfefrGN+ytH1C7HTcYM7enu+baW961VDABg8hf3OD3c2h7+8ewKBvt730vXR78AAAQAElEQVSmt06HiAjusnepjScCvxYNJfMgOwwqx/zRfOfScJ8f6Jvfs7d/Eoa7wF1pOmgRufz81xFU26wXC+bDNhRMTmDboFBg9qiQ5gZ9VOpRkE28M83aJYwWzZjzqwhYNepB78SgJ4IaHLPtVgM1cIXqPbx4vr3nKxueAZyPqCRTIlXcc1Oc/gs2Z+AxmM6hRHUtyOXubMLNxoIHo52n62AzI39mLHvSAlPBs9b5GCjWIo+nKdDw2hctjAKo25CrjE9uguUzrL8r6Z7prEIGF1q+yWk1QKsr4WJiU7mNQ5lwPnC8X/wmggZsesfGZeBVHado6/5jHfPHAMbIido57Rho7v6VYNtkw0v/jKeAQy6eow1v2BgCqGXQJfqaf5HvXfJ4NFLJ4XYwyYQgVFWzmwTpmQrmOZ/cEhl8mYHnCB3Jaau2nyhXkSS+X2iMwcDoc9rhWad559p/e4659gAX804PTGneSz32EfPVs8LC/eFRxw9+5FBct4jkgfAagB3lm9+1ERswC8diE2alPN1jjBqongSXGyrjKMQz7MEVhNr82+FhrTq6Bv+KvA4eUXh8HgsqcCWYyiBkwpUg2CiHANTzyc1hTEGMLJriY3IGhw66VuAuXkA6/IJoLeYrToTIREOAMyLfpyvBvAZEC9VFiQXSb5byzmXhdmNVZObhsBAhGqoZomNyOVxwbkcWyKPOrnyWHCiSNKFSjpliuILzBjgb90Un9x1OHD+AvcGrYsJKeXtVAR9CKQYiXE5yIchpsGlJAKkCHSzfxJHb2/yODTXidhALtxKuNLB0hr53OV6Dh4VB0lijR3kMnAB2GK4kC0EhfkAjLVf/yECgSX6PfPMAb/Ds8BDBlZ1f2Jihojas4CBzhnsRQaFe/AnjWLwwzr4RzKCutKk1UmANNUwzvb+iwg6TtWg1x6QWZBe17V6YIOjJ9NqEMWMEqbZqntlSVXWOfEBBN7IlyLUjHFQSwyTWVg6scMTcIFwhbCN9w4gTFDDxZKUA5kqFtRzazkg0+FqOEUGYzCqiRRCEanE95gx4stx/6VeEdvDLjOacCdNVXTuEoIbtEOrFXztCMzW8eQ913zLqAJEYemq89sOEEI9dVsHtcLpKSFG81+nIioFlsoYmSE7MtqE31Z1vIF+V14nhB8zcyHgifO9SB24K/m3rBzZaXrUDORutZX9azlv+V0uMCIxh3Us2kljgo3A1pMxyjnJ0AZw7NnLku6iwli5AuTB4NCCt60O2u+d0vfMx0IOrOkZZmdxO5BCgTGRMvTpLqU7DTUSBHMMy8zvTGIF9gt16kmEzld4jDKeNviBxRS6ogHneOEIzTDFq6Hsgh+mkYRK0/lVbGDw13lbcfh2F1W0JiUYQZzCwewT1+FOnkOljvrVrHvmARl4mqHBz8h2napvfsdL6lFRwelSwPIH884AfGpS0UI4wkOewwuRMUxwlMsPwGnBM6GbfHyT0XSfPCA046V6YQbiFEuCh9ixSkB8G5UJ+GJlwyyUNibfgsYevgU+EXNSGn+FfyFm4aDdG2/6JDb+PcKUcAqCWlgPUXfOptc26q8FmrGbPwVVVux8SY6NmkY9D2qxouHZgpQPPi54Sq7PIVeECzN3Zob1SCZ+LVTxRrXC7iHAt+6l1JSyrNdMSJsNYwsPIprUEGBgY5MKHKMQ160kvLENXysGQ0YKVrHYg3dMkV8q3cAzEvqVOs+7sCH6QgsZAyRg1BDNBlCFRDD1mtBPuND+6PoxVKszCQcLwVyv8NS0XK19IVGAlCOGEJuIKcTII0lxBU+4z37kijfrw1ID040YkQso3E2WBKe5Z4tguY8CwIgiVrHXEGLlFB28J2B5WHFBh6TovnAv+kaSWME8xeIwjJusrn7PgFjpNSxKD4RDDWrsXjFMpnh+3w9J1TtEQrWQN0QKR4krtoIZcb+Dj68NoA3qatsGwQ/ASjBEeiozm6a5gtMKFZAkefzy5LfulrYbaCRIWqaQX5yt30Cpq7zN1LBTi0Wg3zss0oL/FC8hNYXXmk5simPag8SjHGh+yfS+dGiIu3lvdu8TBE4F1ImgDrAu9Q74E/2IZrr5cKLNqBweZQ/+ReEv74jy6L0iDl46FwW8l/gGDV1wSmabaKEdKrGQdB61R3LRlmi4bDG5k4+sYDKXbrKQ/ae6ogYFhDdrIZkhwijrRBhgkEn7oaeEgFblGX8mFA1Xo4ai/ZCbxP46EKK5h7d+Eb/r4Rs97gr5gtn3cn2mBAMb9xg/D9B6G6x7xnIsZDH6FS0VkRWzuebKOfCMVcppG8NiVYXElp3kJCiGoZX8Va6soW/NvizfsZ5E2sNxHUcwkOE8qdKtUrJqkdSj8jEd9+uMBXPP2ZWAxRGL8F2MdmxcN0wZebKDxtSVxwZg7Tnsw8MYPQ/UZDMJG2UYulAC89aMQ/As8HRZBkFZFCdIkon7MUbqfoA250jiw2kFuH9Od/hcYqJleGXGBUIF6sJy85C+NvVlMaSTbE41M8nF/ItFVO51Pb03vLeCpE9+PwRpNqIyJBqP8rYvD2z62oXCUbHqL3lLCTO6Lu6Iz3Auw0JDVOqa6hFGjX20uZvwC0Bgy4TP+EhBKfu3cUOV2HqmkHpVtciLV8fZgZA+sjqZd88rvwvzYDD8++mYDioqKe2Ee1UpaY8AK/bCr9dyOiDQOMt6QjoQ/pssQjckx8k8wQqQlFMo3IG3AUeK/4xK3w6gSjTWSLk43NUd+ESmigp+qsOcQ+k7rCAq6LNI2714RhjFveMXCYuioG4iyYdlIvExABtCIGUdiZsw9M4ZykHHBghQyN4hVEITZNkZEvNf5bjr6guGAkjEvbz9Bgw4xsujRkj9HJ98byHTfEHrzwhA6u+bf9vFPeraKMbJoeu3mCG0lcTQTqlU2v223Ha0d92fq0baP7KVPRMkSKuMECAa/KNHgLwfDIPp1zB9IMwic/qjh5+OfCuJXLGrQgss+zw7Rx3evDGOpAktLKMEiC2pI0xhH+fjnYZAY/IxkJ36N2zZXRMYC/256i+wQf8W6rZIOm98ir4W2bXjVsuoaSD6pyqCLDdBoPL/IT0DzsCXRo83vWpRj0xTMyjpNpSFZ8idiDdAVVnCQiUTJW5eE0YAdn9vTHgqsf8UCa9/wuo0RgUPDGveYW3SsgONJVDzfFVcmSMnyv9HTB0+74fX03g9tbj1cW/D7CCQe/1TglTNCrsGrQplwI/N/G/F9mmtdlEeBUxp2nQGOiMLPfxUpWefgWUgcdJgQ1I7FJnQWtMz/w4bX7BlPkD6XPRXF4iAmJEIQnuvPbo1Ah8Lglz0Z9ecbUEHn6RocnSIZjMRRBZszZ87pp5+uSHzLwMQOE7i6kqOZhkVGAQRr7l0RRULifxjIN8x8OvDyaSHlewnkZpATKl3vFHRXsRK34zNJEyQk0kNuUfQdoWonb2g6+J0BM7CdX0hvKPG/DuQS1r90aK9uHQ2Au2ARaujVBvK4kr5ISDQCearAd4TK7Q4/2q/B2SFFOkQJCSeieOvd31cQwVIV5fA3Z5KQ+J+CZDDfEfj3wBmJtwIlJP7H8f1/EOhNODnXkJA4GOKrSGY2G36dgf+G/digL5Lct857naajBH9SmgiYSntHijf8jSzWcfLX3MCANpW6zhDv8aX5ax79tcPE+I71yPqiJL/LYa/KaQFa9laaMtCFxs9t0IPfo2On6sPdn62xwwc00z3C5nBAW2tM1g53x9jGBakaHSzQ+wzdvyajGdlhu7EHOTlBfGqXIqj9eLm3h4SERNNG3PMh8Ft1ysrnrNX/tHqeogsSsPkdO1qt6JnxGzSDmEHcITJ6LU583Ci+axVfFFNJLG4RqwjSZQ2duUN7zMeu9L/LNTLdr5Ezme+v8SdwKa0RF68Tt+h9pm7m0QYqRgZ99ISGQTQ1mHnXoGYjQ2kEkHLCPwIb37D3LqHMCR3lE6BK/A93rTq+6p8WHckU01/5JmfTm3Z2EUtsDAnKjDfev9jvpuhR1U7HKwx4goiEabEeucrEf2k/G6Zv4ANJguKqy4qrzshmrjJjY6QmjJp7zF5i4MTPopBUl53UI8jyCpl3JQYI9XSalj4cMtc8pv8pEMz3vriOG0MDAVT0SOxf10ghakuxQ1Kd201RKPSZKMgX7RMLVfQxl9EXHA0YJ6RMvNvMKIhvNCBGrRGq4QpiB1Y5jKXqzbdDtARNpZIEgx93uwlS4gliXnf8UVPcLYnbjIwf4hGpJjts3ituh6iNqs1JEtT9RB3VGrGhVN1HeO/SeFbQe7LMuN5S7FCJPQVNeBd/CQmJ/zokRUU7ShsfqTrL7eB5RLjIxE264EkzC9mU+wOb36HvSHE9qMCMJwLwblgloe8Sa2j/q+mPe5/yvntl2ObkQyffF8hswd6+LEyfRNZbT0EIyW1PLpU2/30wgLvgtWc8GYSnRjb1vavCoXLadartaG3w5cbiR6O7vrTTbtySVciO+UOAdlKfpb9+Ln1oAJ97/BNBVLv+FWvNvy3mspNjHw2EymijUvoQNx1m/CUAdz/19yZIzLInaEvivmcbXaZrH/w0XLuPtvmyI0q4LCkNbYXoQ9nM2KEwaLkQFK3m719Hgib8xvzsNtp0lbaNymU57di+ZU5+V3Xib8wlf45ueZ92pJjwm8C+ZXa32bRT59uX0Der6NHU35MyzRzlzQvDNXtTc98gEB2naEiVOVH+zhUkCK2dfD9pG6ny938crttP24bSGKn0Zfu7V4QxplD4DO8jeeXtS0Mt+2ul65xQBReREuP76S0RxKrj/hxACVoiPoPXAmzUjZRnQu/evCgkNpU55pFA5XanwU1ZGPQfyCpixz8VWPYUbams0gERZtEQFa1Nu7OZkcG6n6h1OU7HvW9fHKadLbhbeJLWZTqJgWg0JqetCmKx8XXa/xS9QLVImPU734ApYqDXv0yCkBlqM1J7VwgiO2RTHzSDeeztS0kJqB+amf5YQAsq9TeejxvDnwMYheP/ShusfXprRNOV9hPog/yFD0b2LHbS2iFUPem3Zn439p8T6KNhPYP1O1enY/yMWNtMZdQNJvJ26Mic2yNC+nF/DmYV0dezJWudj34ewVMjRo2erMupCzCeUEnS40N2WB43CbANqEhsMCMMHuodcpXRaYo26BK9rkR57Rx6KDBYGNmdc+yv/hgVJ6GCwA271lj2ZHT7ZzYUOPnewL6lTpfjNCjtrYvD3vfMKp2JQVvay4VICQmJ7weSIg88XasBKrf5gt9H668Ti5N+HYf2RMluQ6/KL3w4mt1Wff28EJ2w04L1PE1b84KFwC8cpTtFxnyXD/uxOedXkUglRwLc3QqiXiMyvBwAyBO4Cx2SPEF7++IQHLRm0kaZ4D09TtLh2d+8MIQZZ/cT9HX/SfMiXtUu/uoPQv3OM1Y8QztTmdlEIxCh8TOWxlAt4j2WfsC0EEJG32QieCjp8OrZoZNfDL71I9roBRPTIVcap7zTfQAAEABJREFU61+xUScoVHZrvmfRwV9p0bNYh0kaFKUaDLHq8zsixV86IC4dp2pbP7ChOvAwXFayxnn36rA4ewXhB33fNddZ/XwosxVrO1bFz1MeCAhlTns4kPa4R8Q5xNe3Lg6hdyOvN7+4MwIpH98QscMcc+jjnwy8cmao1xka9AYlYDiQJbIjfMwtxmvn0qghuOIyUJAxvzA+/UUE5GnfcgchFswPQReKQj0Df2Qsf5pOEUIhwj8KkYLK76wikuV2YKg5qxURlLR6QLh95azQrL8F3r0qgkCIGsb8wlzyeHT+fRwBUuxTV79HIILoEZqHJZL599H2JFqs0Iko4ENgfjCJ188P5XVUB19mLH482vssvXi+A10JSgRBGN8Vf7MW/THaYbJWvplX7XIQyz+9OQLu0udsHfxbM4gqvXUJqW7aQy4LT9cFKGryvea8e6JgvQj2PU/X9y52Xj8n1HKA2nWGvuG1NHYIVYMfj/y56fcIrBq0ybE4xgiCkBHZ/K41925HnLolLsNzNP7X5sKHoqFS2p4kp436xvkh7p5d1fdsHX1UDgba9Gy5s+mcEH6g4wvcHi34HZ37s3uB49Nf0FxMEsSOjmBI3WbS8VKQjier16nUI9jhtk/sFc9GMbKth6vbP/E2gY3vlSchISHxPUASg4FXRZq6wXfcGB2ZlteRtR9LPhd0AdECqyeDLjUMN70vds1HomXYNXT+X+1+Dp6hZ7KiYWr/sHe80aEAXhurV0OuMOD6ETbWvGiL3Uhz27HO0yjbv2fxoXpSpEzc3dy9X40spc0oNb8LtcPfaK5xIMY076lWbKX4gc4263lI76wgBiDEgqsZqpeYqT3Akb7CD8OvpTQGfq1/F+J9+ZZ410A1tn1kY7qPn7d/bDe0c3/lNgcxibYodc+cwyiAKea0ZWJ1CXctf9pCNgKrb3WlfO2LNlqFFAsinLh47YtIVzDkAzDz3r/KQfKmYqsDJQebMXAOdN9OCJ1IhokZedkmp3AQ7T1qh1HY2FkKiaBTrPuq1buphqqd3D3YIY0eYFrUo2DSGla1W0g/7OHtx7N1L1MeDu3PaU/rRDCPVX+3/PwE2AmaFzkFSyBkMCVrLD3AWg9TuRW3Q/Gylzj+k4z5EMyBBHVVxdF6aH/hYOUQUbOHi23dvb7s5m1GaMOu0cKVysY30owrPVlbnEGXGBhBPEENHVaQAvQFuTo8fWhn4RCNqQcnPaqq5HdmG9+gUyGh2I5T3UOyHNpoO7VJ6QolJCQkjiLqZf8bcZWcjk4s2+iUbeR02JDjncpLCRuHjnwrGkp58rwO6qJHyHWC7iAuInGyf7mz4jkrUuGdH9RYa9yXEhBXEEeX/zXqnvrBJt9nfnBtGHmC3V859E2yRVuhfz1Ea5SdXzjbP7XtED/EZDgajDwBCAGiTnZbdoh7uli1ROnoTSCViTw/JtagMvgXizVVxYfagWY92YZXaQbcyFZ4Wa1VPUjJf5GkKRqq7pxr1+6l1op3jZG0WPoEjZHpvp48/74IVgkXP0ZpNtCUTtMoLVS2gYereHWxEyxQKrcr0A9qQ8pKnBoTR0IrwhUQzaqKKWomvoXTCFAb0iHQA/G5lgw/p70MKSiiF1yJpl3mgx3u5WCBMMVALpFUxPvK7RydqtzhiByMHeUwvDUvWnTKIKe1SIwF8hMrnrHEXtLiHCs3C0U5P+SxGsrBJEl2BcHCYYdoPzRwiEipGbYBI9z0FkcODAtbyPalXK+6x1AjUQeJrQaq7Q7trdtgAUPyEk+fFmQT2h8S1cajVLmT53UCR3fAgENlDeqAznxuTU/B9+GrOgkJCQklkcGI873SYsr95kfXR5C0KP6SNrc+5g+me8Iwn3tXZNmT1nGPB8A5kJaP1HCxhf9x7t7zqO2jn2E5QwHFGfcrUxxi8s6lYbvezLDuAO9/vjHkSjfAl3JxKMExfwzQ0hJXPvslvT6CVEG7cdqoG+jNgC3v26v/2eDpd+BVM54IID59emtE9Mg9aI1SO5jL7l5oY50LURkxTBxbnxZgKuL8EVy24MFI3x8Y7SeoX9wVRcLDv6bzdA1LMAt+F/EPBxl2rYGc/8Y3LQgqnm+jC6AyWJ3BnxBQZ/wl8P6PI2jM7oR1KNoRXJyISecSx/P84gWLhb+PNu+tHljjIA9Uu5+lzRs5EdIV2onFI6irZC2f8BsDwQykJFSmiB3ipz/q7ljPlU9uoa3KwxWcDitwMyAf/pS0hEaCg2J8p/wusPVD2j5/+VPWtIdooFGt4J1YwbESFAa6YEcYaq7cwRuP5VhtPPaPJrr5wXXhz24LI/3Too/62W2Rho55Qt9pf3dGbfOOkgjFjVPs5o6kC7qw7UP7qz9QmF/5bLTzsfrY2wyYx/qXbSQ2sHI36DKjcKCKbs69O1q+2cGVE+80zVyqBGs6GOJNb9FG8jCzii2NBWa0f+rvTIwy2rz6+WjHydqYWwPIbG18rUE+Ls72E41H0suJeIdjRGq8UwWGXWOCnkL/9DJKDFhfm/oACfriNxGQLehWUZV1/2dFEw5twKoTlhTfuzrsv4LTbZaGTqF3kAiViqfvwGrHf8do5xwHNg+5WMPd8o7tNkDxH40Nr1htRmmjbw4gt7TG3SXFz6hRy/3WuWu7uEaRkJCQ+H4gfqqAoAv1cyT0YYJBc3Hh8sAPkPyn44jplFr3oGD34w78igvEoaYi+S9ugRtFibhLcY+kSXsYGKbCuAAX+4LoUxqXZ6BEuFFqiUmHxyIAWA1sCC6+mMBltpslQoXUJKaopuuyuXeAJR1waBNPUhoAGkz32kl1gpf4+hGf89ji/Eg3+LkfH9GJkoj0nIsvUChE+UsAWMcRV1IXYoFBFIo3fGnJJhIvZLpy/JPBj28II970PUdf/jcvf5AIJA+wHrH1Q9s9W8f7K329YiQpEyMiTpBGg0khqvc9EY1aOCbdUMSp47iAO96oqTrzhVIyhiWdZCmUCf34ghpSJg0uV8SZl+JXwXfrI6sVpYXWv0LD5veovnGKSuxo7IBiFrNM1T0hOex98EVWx4gaQuH17ZDGyER5zLwbOhw7uZuegYUb63KKyYnGJxbWN/hUQVF31NT4kyW6iULHip9aKh433w7poyf3BG+veeIdXI3Kmc78QpFX8/WZ2KP6dug/BWi8sG0JCQmJ7wPkuUjfX4hPqQdfQS+sLHwoisBcP+TjgvyuTHz1/d8B8MKW/dRd8+R+XhISEhISjUHuyfv9BabIdaW88YMYsWa3d8l/1aQYKR9JXyQkJCQkDgrJYCQkJCQkJCSaHiSDkZCQkJCQkGh6kAxGQkJCQkJCoulBMhgJCQkJCQmJpgfJYCQkJCQkJCSaHiSDkZCQkJCQkGh6kAxGQkJCQkJCoulBMhgJCQkJCQmJpgfJYCQkJCQkJCSaHhIYjFHI1EM7YlhCQlF4ZLvC5ea5EhISEhJHB3EGw3JnskAXRULi0MB3/1pRJIORkJCQkDg6SGAwzFBYQJGQOFSoioSEhISExFFC0nswmmkV9d+mcLZnRQc7qicWckctXtIZv5pZoZa9dtXsy6vcXeBYmsKUnMLy3LYlpZsLw5WZju1FNc2wCvvtQD10jQBTsluV1xzI5baaJMjSFa7ogWhhv+1WyDywvo0dpVuMjEirPjtwfeWuZkJQdsuKvPYHyra2CpVnQRBTeUGnfRkF1XtXorUaWogSyM1qVVm5sxnnzBPrFVZU7myOQiHIjhj717YVgvSMSGGfHbWlORU7mqNtuW1Ks4sqkGJQdadmfy76hRryO+7PbFa1b3V7K6xDkKo5LXvvRFV7VnZwoihhvqDsovKKHS00M2pmhWtLcpJ0HYwU9t1RV55Vvq2lUEtms+qCznsrdraoPZAjeoQOZrWo3L+2XbTOEIJa9NwFVbh9jAtSDSu3TRnqQYk3QLa6d1V7MWqtB23VzSgqhJTdyzu5A1QqelRXlgUNM8Zz25Vkt6rAz5HaAI2IYbcdtokUwhV0M1pnqobdesBWSKNBjGpMc4r6b2eqA+lM4zu+7K5ISEhISEgcPSRNo7sfu6x8e4vyHS06jV+DIKcQEbH7nLiwFjSiuAAcAjH7mN+8gGvajdiIsIpgZgQj/U6bh5KhF36M8Ea1MERKCocjL39XD1hU4JbgyqIB2zSd1h26TFolBHWdugJ/RQwedeW7KHEsNbNFJS6AoBn3P4sShHxEcbd1fODZc1Ay5IJP9GCUmq6RFNCFWQ89jXa6Jc6kW17qMHodGiZ6JFjFpJtf6jjGKxxx2fvgXuAHBZ32imtm/f5vlcXNWvUiooA+ugyjBQTV7MvtNm05OoXytkM2o+S4e/6OpkJKdmE5/kXJqCveFYoSgsb/7LXOE1bjlkBOqFXvnSjBf0IKenTsnc/jlvz2JWASonDMdW9U7Gre9+T5+KtQFBqPa6bd8YIQBH5mZEZQMuHnr6qu6oSgsT9+q+uUFWAV+HmQq5bqfXlgZqLaYRd9WLWnAIVl21oyhYcrM8rcHuGaXrMWucPOxRBAM7ppieZBVsV2ugysCLLaDNpCY7StRZ8TF0AtaEzZllYoAaHsdfwiVKtISEhISEgcPSQxmLVvDK3ZnxeqyATVUNwURv8zvug8cdXwS98fcv6niK9dJq9856Zza0tyN37Yf9xP3kCcG37J+wv+fExdac4XD8203byCqvIe05e66Qe3CtAXw0ZMHfeT12NcRNnw3kCwonBVRkHnfbggs3nV5o/7opIDG1tX78mHoI5j1759w3koWf/uIDviZoM4++KhWah20d8mU0wV4EqoMtPNClDNaM+8R2Yk9ggBHtRq3qPHJRYi02PVmVrA8kuitQEroqOdCN6RmiASPxDU4/gly14YCyaBML/q5ZHQzMd3ndpm0FYjMwymgqQImjf3DzMdRxWChv3ow4VPTouLDlhjrn0ThEm0rWjg1k9+ewpu2TKntx2Op74i1UGkQFSXgSFrsvyFcRD06T0ntx+xEcmhKb98sXhRF5Sse2dwMK9WCBpx6fuLn50obkchklJQJogXsRNX5VbYwCAiqxSuyETaCVmWWrdHYFdfPTWV1GarS56biGrn/H42VE2i0fHqYG1pNgbXihhmdqjjuLVobV1Z9sr/jIZaUCdEkKCy7A3vD5T8RUJCQkLi6CL919RYphE/LP3nBET0rXN6IxyKZAMw4eevLP3nePEzCvufORdLS1hXWvfWEMQ5BGzkUUrfGSxWlDDFRyZj1UujEPmm3fGvLZ/1ETdmNKsGH0LNirsy0mHMunYjN1ghY+3rw3AlSnrP/iqYX4OVqdWvDI/WeS/ooBCrMytfGil+zWpRNfa6N9782QWgIPgVax/I4iR2JL/DAURuvzvAkucmTLrpZZCD16+9SJS8/8szR1z2HgRt+qi/f1lm8+pdX3UNV2Ui07N9fo+WPXftX9cWDaZclKIgxUI5J83et6o9/orFGizT1JVmi5YLIIcx/9EZIPF33ykAABAASURBVED9Tpm/4sUxKOlx3BIwAxAF8CHRYHQWGZSSTUXgYYnNRooLq1egbtvn9swpKqvc3azj6HVIfuBPOUXlkJKyPoXrxV8F0PKBZ30ergmueskTRAovqKnY2TxFUNuhm70bOWvVZyeWxkrWt94yh8Yor03JsIs/AHfZuaA7FpK4S9TA3mY++LeXL7tMiS3SSUhISEhIHBWkvoyJNEZum9L969p4qwRcif8Qw5wHToxUZ4ifMcVf+eLoRX+duuXTPr1mf6UHIzPue3bP8k6IhcG8GiMjjBDebvgmECBcifQDj70ogzC87s2hLXsWK+7iDngAKsF0f+JNr4gL1r4xDCVgRZNuftkXvfbNoSAfmc1q0M6c1mX71rad+/BMMBKRn3ARj6zB3NqeMxcd2NAasRnrPrTmlRHpd8qXH915GiU5Rm6ga/JrRl7x3vxHj0NOpVmXvf690371r72r2qPX4GHr3xlU0HnvsXf9Y+fCbo5FnC9cHVz8zKRFf51iR3UE9UBubb9T5+9b265Vnx3ZrSrEctWOL7uDkFlhvai/t7iz4b1B6NGa14dhOQnX4Mp2wzYt+fsE/ACd+6JRW+sBW7Fk40S1lS+N6jV7EVavXNFaIKcOS2l7VranHrWs9Dkl/lqXwNKgxq8g6LXhM+57zi+ceMMrOxd0SxxH1Na6/7aSja0VyksZSM+geVhpQntQgpU1/Lrk2UnNu+1hmndbix6737v1B5K+SEhISEgcdSQxGM2wCzrtB+dAROT1oxSnJAf+inUfx6a/YoKO7IiqO+6vDAHVieqf3ndy9T6sNWRhpUa8TIq/aia954F8jIjuEITVEPyViIUbPt2gyFEhUx3uZlMghXNiSP5LLeAfuAAJjC6TVzCmDLvoo12LuiDr88Ufjm/WdU/9vkVD5ooXR9fszwlVZGHlCLWhqj3ua7/gT31OXIhrCjrun//IcSAiu5d1HHnZe+LGogFb5/zuBGoVdRK9Yts+7/3Rb06nl165gtuRHUECBnehy2gJerr0n1j9yQGNiJIgUg44llgbEsA11EF0xX3jGCVYvln6j/Goav3bg3vN+kpxE1rgQ0Mu+OSLh2fRe7uuaKxkfXjHGbRCx0lRWD+q2Z+LRaIoKY0WjMSLR/4b0yCRittIV5me6pp3273omcmkVRdCEJa95j12HBqA2zGs1K+oxlQigShEhRgL+ldzhCkg+4VkD1amFAkJCQkJiaONpFWkwn7bh5z/yZ4VHdsN37jsn+NFJEYME1+44Nft83p2mbQKc/RITeCz+0+k1ymendj92GVIgYCyYNIPUlLlrrMolKjIAL9BImH+Y8f1PflLEJ1gbp14ayS3bUnHcWtR+4Z3B3H3DQwEUaxGcUv9+O5TQRp2LeraeeKqnMKKSK358V2nUnVM6TplBZZCwBJW/t9osKJP7jm51/GLjcwI0gabP+6ruC+F9DlpAdhM7YGczZ/0Qxiu3NVccckEroEgCsxRrd9p89Hyz383G3/at6Zdp/FrcluXIbp/cPuZouVF/XYg+RH/ikpRuk5dgfhdvT9388f9cO8nd58CAgQehgUgqAJXeoI0p2ZfruIKQuoit10pfhZv4WARquOYtXntSsE83r3lbJAMpJdQbWaz6lBlxuJnJivuW7oTrn+1Ylfz/qfP3fZFL1SOCnset0Qz7dItrdBxXxBYBXgMVnZAmNDZ/mfMRYULn5pGX3UFoz2obZYVNt+6/nzRfiScaHT8Hql83E9fr9pd0P+0edu/7FGysQireHltS/CXsm2t9q1pq1AiZ1S/0+aBn4HbCcJa2G9b8eLOxJkkJCQkJCSONticOXNOP/10/KS2uMzI70AzeIUSDyH3JVDFDf+IrN7rtO5HK1ogilyLN6GnD5QiiJogK4kvqIor3QQMfRIs7kLwo1yI+6kLbsEUPxx7LQMRFyX02ml1ML0gyi5EIYvew3WDKFqFa1AYrgqK2IxEgpkVUtxXWZGuEK9ueFeaJB311xeE/BBKUIP/ygh+tSNa/HbGXdHRSE1QfIDN3B7hP9KSE89jiSshGtkX9Nr9eoiheTFBlitIjQty2y9a67bT8ZfDoE8UokSIDlVm+gtwiYLcHtn0KRPj4Spvac/MDrkMxkgUhCyOXwMUgjW+REFocCC7Dr/6n8SDcULbKEcGS6w9uR98cf8ze6f4NoWHFAkJCQkJiaOBOINhzX/IzE6KhMShwdlzt8IjioSEhISExNFAPGvCS/4mP5GVkJCQkJCQaBKQZ1NLSEhISEhIND1IBiMhISEhISHR9CAZjISEhISEhETTg2QwEhISEhISEk0PksFISEhISEhIND1IBiMhISEhISHR9CAZjISEhISEhETTg2QwEhISEhISEk0PksFISEhISEhIND1IBiMhISEhISHR9CAZjISEhISEhETTg2QwEhISEhISEk0Pqv8T0xTNVPQMxchS9AB+p19RWB8oZKpy1MGYogfpv2/SGC3wNW8/ItIFVIP+OyzR6tdinrjrsASll66S0hJ/PSwNpNzuFX7dHvl1Cos9UhDPwrcNUp128MvIPBKUg59Zoz0lZWoHEdT4qNW3barTcEtYmisbaU8jgmjUgt5/mnHUXAp5gEMYBQkJie8h4m5DD7AOE7UBPzT6nKV3nKrBK+W2V1v2U4X7850UfjAyWF7HJOqjCk6T1pExz4HiX3Ks7jXiZ58JUeUJ9zbo8pIFwZV3mqZNvMuMBxvXd6uJBIs1GieY0mGCZmazFE6G9iR2Oe2NcHyDLjG6HKcbmay+oMQeiXqYr4dkZeLXYB4bcZ3RkKCUHpH+s1mznqqvTE/6weI3ahh8hWHmML9JSfcmCmJKvEcJo6bEIhbsxO+UHmQt+iYYA0siuKIGllAtBqvLsToVsrggREeytERFqan1qFqDg4Lbx/zCjFsUS7orqTta+sIURTXvpfoW7lsdS6g2pSWiTtUvrK+6eoLwa5tRnu010kcUjv2Ficv8X7PbMKanSkk0eNVUioZqiTUUDUsWBBPKZAXdGnyEmftkTXkg4HNNPGuw9kGXGvEuMI+MDrrMYHps3LXUp0DPYM16qHG9JRgD7p36YACC8N/In8ee4nQGn+gr6isq1Xv4VpTyUDdgVDC83HZHjvxKSEh8h4hP7qJ1fOsHdvUebkeUsg0Od6gQnq7nqTqe883v2aFSjhIzj3U9TitZ54i74AXAePBvtFbZ9KZlhVIFFHRVHUtpN0bdu8QpGqqufdGywkqL3mrhEJXbyp7FTul6p/N0bduHNuQqrjOFyytd5zXAB1xSnzN1/NWqUzZCUJ1iR5VNb9vtJ8SddUYB6zqTfq3YxnfNtSEXbrHbTB3/rn7BakgFyDl1maFXbHGKF3gic9qzdmO14vlO+RYn7S2BXNbjZK1FPzVSbYuSFEF6JgsWKFU7OYJru9Ha9s9sBB50vNNUat7GN+xoDSkThWh/+WbeUNvMLBKEH6p38+2f2k5UyeuswuPntGVlGx3IQgk1uA0LVyiR6gbrIeW0YOhjuIyjkVlFrHK7dzE8eNkmR+FKr9PIGGr28W0fkSBMiztP18MVPK8jW/MvS4wOyNPs5wIvnRzi7t3oZreZGm5JlII+7lvuHFjtIOy1GanBbAoHq+h7inkEmzMMULicQ1DXGbqRreAuNAN15nehsIcIt/tLp2wzFXY+RstsxdCGze/YaFKa7jEFIbloSFwQpLcerhV0ZWtetOwwGRW30B519yKnzXBVFCJz03WmjivRwbjOc9nAi42PfhoWv/Y6VUdLcDGNWi2HoPzOauuR6o5P7apd1BI8HWAMBT0YTBSqQ6GmKx2maKEypXkPtvb/qDH1BYEFdpullQ5QQ2VcFOJBAzskQW965gFktWKb37VDbpdh/IWDtRa9qE4aIJP4Nx49aAajufOLmMHP0qHS4gVed9qN0zBGFVtJkDBOI4sek4qt3Fdd7zOobf6Thco3vWV3mhZ3DjBjDOKBVfHHQRg8nh0B2CSkZ7ZkO+bYHSZpq5/3ngL0sWqH23iVLA1tQHtQPwShELdAEH7YvdDBg7DlPTutwbcbq8IbwKJgIXAaGNZmPch4dn5uV+7g7Sdq1Peo1yph25mFrOMkDT5HeCpipb1JOjS2d6lTspaME894bgdWtgHNa+zBkZCQ+N4iYZLCFS6eZfwQ81SDL9M3v22DKBzzkDcdi1RRhGs1kG6Eoxx1g7nuPxZcMLwPAl59AYgZQ6/RN7xhT/mdue4la9azwYzmlELALetftbufiDmRsm+Z02oAVYg1rOP+FChbX4++gCf9QF/rCoJf63deLGORcBlmmRPuMnHBmn+TFxY56q7H61s+sDe8ZvX/oa42kIkZ/2sTwSmQx0C2cBc8IBz6+lcsOF8wjLS3QAlrX7T3r3AgDlENgjofo4P/bXjVwlQVzhGevVl36hF+7ukyg7xO6qTfkiAo6rjHTRJUyPqdb0AQHLQWTCMI7njsbQb1CFKqlYxmdE3FNge3wHejm04s7KLNysEA6TvmOBhiiB52tSGmragTBAVRYdLdASGobj/Pbs1c6WzQJTo0CUGjbjLFQkbLvuq7V4R5zOFbYL0f2h2nkGYRvxHAhl1rQNugp4gNiLiIna1Hahj3nXNsjIV3m0pEZ8RPDauWKkLs2fK+1aKPZ4qwgdE3mdDSxtfsfufrzKUmCFRo28bXrbG3Nbi6gxAIQYigPU7REXFz2qpQIJjK1AcCyDyBQw+8WIf+p/7ehCHNfCqIvvc8RSdBb9gYcX9q3u14bd5vI0JRsAHwCRL9pj30GspAZBcxEO71L1swQqgdgrLbqWauAmqOyxB3FTfe9ztHD+aR9Il3BUCJus12Bb1u9T1HFykKtBNhe+Nr1vqXLPQRFA2xXAiCZvxOTf9TYP9KR0RYPBT7ltq1JVyMHZKmQ640yjZyDBB6KnIYpMz37I5T47YOKl/8pYNBwXMqSmCxeITbjKAOo49grtAbPVmf2IMu9kTz5JiOLqx42lr8eHTSPSbYmG/w61+2u59AYzT4clIOuNqEX5uwT2RrXErEMTNpO8YTBMbQ7wIy+G2f2EOvIkF4JJHAw39jboFx2vUNHk8lhga/ovEiKwbvkdGciCDq6XUGWVTX4zXYKsrRyNwOKowQlG7wZcb61yyIzm3PhPQ2I7QhV7jGOVilKzuq0Rph28ghyRyMhESTxEEWn7/6QxS5GUQ4PzOMn33v5tjKyueiU+4PwK/B+2x5L02eA253wQNRJ4KQT/N4+CzUAFYx9feBqb8zMU+C+8PcqONkSnRjxrn6n5Zj169FwbyzaIgm7oIDrQ8rzJc/HcUFWKRAfgJykcFGMEaYpNlhC9bQexIf3xCBq0UCZswvyAv3Pl3HfH3q7wItB6i9Tk//dgYqR4/QEfSIBAVZQXeGwGBbyFrF0/tKbE1EcSfQn91GgkiZWDBRlR4n6QsfimDOvervmFKnmQWi2Z/fERn+EwOdGnHxSMAfAAAQAElEQVS9ITgEbnci9Cfc6E8dMde0Qo3NI0ELcIuQgtzVokejfc+mafeInxlIgyHsffqL8NCrSdDom0FWvHUx1L93qQ1BFNEd772oxDwKCuOhTqUwjBHE6gNmumBylM9XldXPRy03nRHTAzOzlH7n6nPvjAgGxhMYM1WjItsBDopR44J0ghaABaJtyAhCIel7yJUVz0TtsKdzcOuJd5s751LjYcPE0hz6wY7w1f8gO8TCB7I+IBZT7jenPGD2PlP3Frlcoi7qQcN2zXPA/CAaClz0SBTt6f9Do3AQmQeyO4id0OH4Xxlg1ahTGIPXAkUBIUDJxzeG0RjkV1xBAXAmFhtcDIT4F4J2fxUXtOD3UdEn2JI71tzvI0Y/ni9gSl0Jr9ju4BqfftGI2EmW4IrgQlD9UcMPoN0t+6sQjTmGlu7Jct+AYYMv19Fr/KCoCQYf4ZvfttAkPLN7vnLw65xfRUQqCM1LMg93WWfB7yPCbkWDcQHMCSz545vCKK9v8DCDfSvIVyDfCSXjFmSnQFNQAnex7EkyIJfcsC7TtUEX61hTRqIIvHn+fRE7hK7Z/S/wOBnGDmYMcWAtGILJ95h7l8Vs21YkJCSaIg7y/iR8SuOPd10p//TWCHxNl+NoNWTXvNSrifHYbsiPes4XQaLbsRru0k2KoHBtcGHI7SMVgUQFpoP1pYgJHH7AXeAi3WanS6dw5cAqakzzngzkYNU/oyKcsIO9IcgSXzZ0ffGc28nPOg4i2SGll0mQ65Q5r1858/kWKTMhVAsqozCuqO4P9YDI0ecHmJLaoXILKQTla70vKQBONu/uqFgJglysdATzacKKtDyiIAk6G5Nju67Uaj1MTQyHIjkv/kXcwmLB7oUNGoSnugj9AIbnVkExOClJzzmiEUzF63s6kFwr/voqQvjCB6OIf1i+xOx56V+i6aVHkwIzKkHQ8tNUxPwsKrdjdogLtn1sYypvixaKZdMMSqtEa72KEC8/uxW8G+tctPax/lWLJ5qHyxpTBPkNEIyBiCPWO+bYa170BPF0nUao9gXhGlruYUqb0dqbF4XtBjibEhsg9g0yCOJ1HBAO8WT1Oi3Nk4UMB1jaez+OQA6yazADQaR8ak5kxbVtak+j7oLGyElqPxas44ICSQYvHqgdnzo7v4hg4a/oNA1TFNyy6h8WhIKyYDF36RNEWzFkKA82o4mB4IVprct/AGFRqJlGLUqUmjG5iiQh0SSRGvf8oAXYeM7FA2/zxCRBIq3pMl3HbCy/M609B/PTCIBHQ2YC/o5mqIr7s3jZpRvL76LiPxFOsCyCpWssLtTuT/+WA/4Uqea4q+epmh2O/wUL5/QSqOtGseaFC9A2XMmYO4Fb7hQO1rDmRSvo6d5pQauQtMc1yB98cB1lGlY8YyH1kt9VRVXIKCgNgLs9EkD+A5N1VILZeamb/gEnQ6wFG2g9XEV+m/QQm6DjX6HYVf9Esl1HYqnPWbrjpOk13HFOO5bZgnQFTubrHCoNFlDlWIwTUaT1cEqkKw0DGZGavU48nCNybHSQvac8QZhCIBZ9MpqRIKwpiEl/oiUIIFHx1cPRBgOqo2CVBGsr9BZLN5bdRvWjuCICue39gHC++nlryFUG6ILfHjtudR4boEJXFmbb1NlurGIbz0n70mXCWFCMtOlfrHZ1maG3HqpiraF0g+O4DIYYVYyTYZ2iYouT34lqLujmBbFRNxhYGfE7Dg3DvHEBzDurNZkW0lfdT4J5UGGG+yrPB9dGus0iQWgkVj3clvNE1cE89q+KC/L5XN0BjvqLhqpYT8QKpidoGxdrl/gfiUmkT1KmED4JEJzM7b37cPH44KYMXF2J4gkq8jKRPDYczF2XCVdw18Y0K+HJMjKUlv00etM8XylZx8PlPFTOa/dxLOqhVZ7BD9ZgwO5Ac8f2NO8NB4+Nu5UwRomFXElJPaYYPBERRlaHX0MV/kUKVi2FMQQLqKBknTPsx8bm92ysWL1zBaglsjL2kCvwZKlYT1z4UDQmnfsqQkvevjjcaaqOIet/ns65ZDASEk0SbM6cOaeffrr/u0Zf9jIxB0XSHsGMln4MmpuGK73nnJIKbuJEER9HtGZicQF+MJFbxC92Vy5ANSJV3MxhWJZCbYF8xaUaSqSScgDuOwf61g9trCg10FJ6XxWCsHqN5gnpohBCQxUUM5CBxyo4vJWoFi4Vk0sEFczmxQsK9UFfeTC0jdoPB+0XmrmUA4hUKQ21Bw1GX9AjEU48QYZSXexdD5Jh5pCnRqSE6lAnIplIsGsButEXBA1btfF5fyIwK0V4ww/hStTDRTBAw0CP0GaoAjVTne434Z5O0gGz1WgtT8kTJBYmCaohZdLaQQaLVMZbBfVCt4mrSLCWQD4beo0x55cegzCyWCCX7kXboE8Mehg95fF7MfHVM4mMwroQVESsxbBCFWRg3DMYXJlYCP5KSypR2Bi9ck7rWcmfU4HA1b89kENDULOHw/x8O4RcaFLYISrBqKFtGEQMHP5F+8nmE8wYUR/iUALzpr4zahX6iPrRGBR6grJpOgCuAO3Ri1CZ8efFNw9P0G6PlIhC/Aszgz1ktmL0ynDEFVRHglAtjUUyg0HLaWHUtW30Wry+7RcK80gr3RNUzd11T0W8fS+0l9Oavm/CkIH0e4Xua+aO2xg3Rxi3Lsii5JOrOjRYNB56o0L3SujKfzRwAUYcdSY+L24hjX5KO5V0Bg9tB5uR3oQgyrXEnqxIpeJ3n9KlLN5OssM87xZFPK3ZTPRdAK2ihyhbCVd5Bi8hIdHkkMpgjgrG3W7Cc636u3VgtaNINB20H691mUGvte5e+N0NHKLR+F+biatmCJkNvh8jISEhIfFfiu8FgxE7OnD5VWNTg7cVRwPvdnyLclMWP7/zBkhISEhIHHV8L04VkNylieJoDRyXqToJCQmJ/3nIc5EkJCQkJCQkmh4kg5GQkJCQkJBoepAMRkJCQkJCQqLpQTIYCQkJCQkJiaYHyWAkJCQkJCQkmh4kg5GQkJCQkJBoepAMRkJCQkJCQqLpQTIYCQkJCQkJiaYHyWAkJCQkJCQkmh4kg5GQkJCQkJBoepAMRkJCQkJCQqLpIZnBMPesPiXhqLx6Jd5hfgln4qQvUWO3iBI1dgSgc6iC/JIjIAj/OQfv0UH6KAV97TFKKfkGgg7PDtWEgyd5gqDDsUNp8OkFSUhISBxtaBdddNGLL74ofinopuZ3Uc0cFshj4XLyW21GaJ2P0aPV5LasEF3TcYo29Cqz9gAPlytOlJxa66HatIcDNXt5zR7uWArTlILu6ohrDS2gVG7j3FZQW7CAdZ+t65kM16Cq/M5qbnuW1YoEhcrgFJWioWrHyVq0hvymVUuCOk3TBl1s1JXwSKUnqM1wbfpjgepdcUHNeqojrzc0k1VsdSAILc9swXqeYhiZrHo3CcrrqGYVsbyOzISgUhJUOFhtN1aDCM1USBwETdX6X2DUlfJIlSsIvR6lHfNQoLqY1+7zBDXvrY652YRbr9xOPTIylaxC1udMQ89guAyCctqxjOZqi96kPbQZgloNUKE9q07RM5RINVXbYZLW9wcG+otfhaB2Y7TJ9wbQ1Nr9riBVadFPHfdLEz9X7iBB0GFOW7XfuToEVe0iQdltWCCHFQ3RIAh3QVDLfio6ZYeo+9AV0H6C1us0PVROHfQEjdMm3GHW7FHqDniCWg5QJ/zaxJhW7SRBqqHkdVAHXqhrQUYlDnUQQtuP08xsTxCUAFl2RAnks7ArCJrscZIerlDsOgXlQvSYW8yavQq0DdEQ1GqQOukeE7rFwDkQpCv5ndRBlxp6UKnaQYIwZBivTlN0A4L2cYTMZj3U5j1VVWfBfBaqIDtsO0rrerwedgfIDnvKHPkzs3afEi6jQgwNlDD1dwGMY81u6qOqKfld1aFXkSAxasFmpLoux+lGFqvdQ4LiBo8elfkGr5HBcwVjl97gh2nH/KGewV+XxuCNFIMvZIHcwzf4nRyyfIMfVd/gTzWMjGSD78TM3EYN/vwkg4d6pz1ET5Zvh837pDP4s6BMz+AlJCQkjjrUxF/gv6bcb858OkD+0Z14lW1yBv5IH3OrEa70ziAu3+S0G6siIlohKoGPQ0zN78Tg5kQMQ+Tofbrebba+a64j/KMT5fD4I39u7ltmI4YBcNPHPByY8ZcAahPesGILH3y5MeEuM1TmCTqw0ukwmcKJVecKUpRgAclCrPUEqUr3WVrnYyHI9gRZHIRg+HXG3iWeINQ2/fHAsY8GytbHBG3jw641pv6eYpIQtH+F0/lYrfuJuhAESUaGktsBMcALlnDonadpHSaqe5c4jisayhn3K3PIVcaexRRIAETx458MTHvILF3rCQIFAbua/rhZsy/Wo1VOt1lan7Nigtx6CroxhBxfEIJN29FqyVouegT1jrrRQLzf85XDLSpBeJv9bHDy/eaB1d4YgdmANMx6JogYJqotWeP0PEUfcKEuxgiARMSkvM4xQUwBB0IQRXwSgjBqUEu/C4zdCz1BiHYnvhCceJeJZosegRmg1yf9OwiJYl5eus7pfaY+9EojGusRomargWqLPkzwXSizRR+1ZX8VpmWLHmnKoEv1Pj/Qi790HCGoTpn9XGDcr4z9K21HCNrLJ95tnvD3QOV2xxO00el3vj7yZ0ak2hOEcNt6uIoueH1kCrhIsx4sWs2FeTBd6X+eDj3smufZIfoOkxtzi7F/uScobvBbEg3eIIOvSDL49gkGLzhxqsHPjAuCwYPTw+D3Jhg8Smb8OdXg0c1Ugz9W9w0+kO8afCDJ4DslG/ykewLDr61n8I80ZvD7YPDTkwxeC5LBQ5xnHloDBn9l3OAlJCQkjjqScjAdJ2kI59s/djBTrCom7wZvjki8Y45Tu5eLKemoG024ufItHFfCl8HPdpmh5bQjJlQ836YSldwuJnxFQ9Ttn9iUNihi8NehCpp871tOMQlxeu8yBx4fU1VMxHEvJoWV20h0qJxH3YzF2NtMROuyDXz/KtdpMgU+F1NMNKP4S09QXmcVGY6iYeq2j0hQRgua8iLDgWC2dykJwpR67yJn72IHf8L8GNX2+YFRvtnZ+qGNWalIJIy91QyVKgfWOAj8Iqb2PsPIbqNGqjiFc1cQ5r6BHLVFX3Wb2yNMsiOVHDVg8r17kePOdLXdX9lgFZmtqLMoQRakbCPf/K7NLSaiFFRXV0KECYFfCOp3npHZnObKRFBsio6tBmjBPFbQlW3/lAQhC4Ir7TBv3kvdvYCiLLIgu750yjfz7EKG+iEIaildzze+bqmam/5RlBE/RXKCI/yUrvcEYRxFKgWFpEyVEgkQnd2a7ZhDgpAaQc4DfwLhKJ5ni0QIBghEAapAgyEIWRCoaP0rNlILtS4tG3qNCVoDLZVt9AQhyCFDAC4F/YseYayRbMNA7/jcFaQqyLXgStCanV9QSUEXFXERPC+3rYr6IQhRHOF88zs2cgzVrR8e/wAAEABJREFUe0jQkMsMtATtgbWIKDv8J4bCyXhgUUIQkiXoDnJIu9xqMWoZzRl4TOFAVfQxt72KUYaKcjuoqB+CYPAI59s/cTCgcYPfznd+Tu0RqZH6Bt81ncHrplKYaPBbXYPvHDf4fUuTDL4fDH6rs+1jB1Qp0oDBI79V3+CRDiGD/9A1+OYMbA+3F3QlthE3+CUO/uQZ/FlpDL6ulGhuisFjlpJq8P1iBp/rGnyIslbC4CUkJCSOOticOXNOP/108QvCGHLF8NeY6VphWvNGwqNlX7VsM7dD3tQW1AQJfORXEFbFrBpZ+m6z9E1v2ygRKWik05GXxiSbSmya0ukBSukjzqFyES/hYRVKXcQFIUjD51phL0RBULvxGsI2CRKiA0qPk/WNrycIMml9BFNS3OILQugtWRcXhJUIXIacOZW4gpp1V7FQkiio7WgNQTRRUPcT9M1v27hGrFCgpMNEDYHQE+T2EcEelMUXhHBr5igI7b4gECkE+ERBFGCWJQnC3H3Le0mCEIm3f+okKrNVfxWB1hOkKVgEgfaqdzu+IMQ5yE0UVDRU278ySRBWTxD2EgVh2QIRNFFQ4SANeTKMCK0raZiaE8Wp2hkTpGOxTAXfShRUOAi0gCcKQtoMnEAIQhjGiHSerm/9IMk80Ly9iz1B7qgxLLJUbI8rE3IRmJEkELkczaBlLxC1REFQ1M45SYLAsUAZEwVB4bsXJgpS8jqp5VvigsA4cTvY6uEZ/Gx901vJBj9aK55/MINnChZnGzP4cWhtwwbvjloag++JpF2ywQco63PkDb6vioScECQhISFx1JHEYCQkJCQkJCQkmgTk19QSEhISEhISTQ+SwUhISEhISEg0PUgGIyEhISEhIdH0IBmMhISEhISERNODZDASEhISEhISTQ9qyu9Mo88mk67Q6fPLRGgGFSaVBOjGROhBdxtyv1qVSry9zA9ZkFpfkElf+SYJCqQRxL6GIOMggrQUQayeIPXrCtKPniDtIIL0FEFaPUH6YQtSWAPmkSKofh+PlKDDNI/vtcGzo2bwEhISEkcXSQwmqxUrHKjmtleDzTxHld9Z7XO2ntmS+QGmeW91wt1mbgfVc7WMrpn9bLBZd1X4dLHB1+hbTFwpPKCRqQQLGG3P1UEVHhAVNu+lFnRVxSYZQF4n1us0PaMF0zM8QS36qONvN3Paq75Pz++invSvYH43VY0JymnLxv3KbNHXE4RGouW9ztBzO3klqB93teitQqIQlNuBdZtNgows5vdozM1mTtu4IDTshL8H87smCGrHJt1tokmij3DuqKHfeUZeZ08Q5OKawkFaZitPUE571nm6hgaY2TFBvdQRPzVz2rC4oG7qzL8GUYkvKLc9m/JAgFTnliDMZLRkA35koDGeoHwGEW1GallFMUFtWYfJGhpg5niCmvVQh15tZLeOC8LoTH88kNfJ6yNGAXo45uFA854xQe7OKIOvMAq6e4ICeXTmQ7vxtE2cGDX80HashqFEud/+QZcZ2UXMD4fNeqrTHg7kdYwLyuvIjns8gCZ55qHRnkPDfmxQiStInGLRcaqGjghB6FrRMHcfvPyYHXZV+//QyCxkfiSGMiffH0i0Q/Ru5lMJdqjRznIjrzdxpWeHWVRh1xl6bruYoFas1YBDM/j2yQb/XBqDb5HG4FmSwXdLMviep6Ya/LhDMfg7kg2+Oet9Zj2D73MQgx99U6rBzz5Mg5eQkJA46kjyRlxRJtxpHvuICSclPK9j8f7n6WN/aWqm5/7g49qM0LqfoGkBKqH96Yeq8HcIVCK6IJgNvMjoNEWzQt6Ekmls2kMmoiNq82euU+4zUciYL0gZ8CN94l1xQU6UNu/qfXpcUMv+KqIsIp8qBOlK33P19uPp7CERQVWdodpBFxtOlHt+limQMvl+U9RAfbSVIVfoU+4P+EHXiShgAHT2UJCJWwp6MMQkiPMEudvGgzSIHcOEoAm/Mfudr5Mg4fSZMv2xANqfKGj4jw2wBF+QHVG6TNdARzxBCkX33E6s9TBVTJpRVfcT9aIhqj8Xx+x/7K1m3x/odiSmOqYc/0Rg3O0GRkv0Ea0a+TNjxp8DfkCC6rrP1odcERcETgC9tRurCvWiqi7H6egg2JVIbEDiqBuMXqfqdtibi6MXs54JjLnFpO32hSCujLnFmPl0gFoSM4+ep+jDfxIXFMynHeE6TtE8QSrpFrQGkVUIwr/DrzW6n6Bb4Zh5qMrxTwVANcRGusIQx//KmPEXEuQpM8r7nKWPvtEUxgAg8BcOUrvMiJmHqrQbQ8cm0La8njEoMLkux8XtEP069rHAsGsNsRecK0fBkB37aGMGjz+RwZ+YbPBt0xh8NI3BK0kG/2CSwQ+8ONXg26cYfD8y+OYpBj8uyeAn32sO/FE9g7/vIAaPAUoy+O4s5zANXkJCQuKoI4nBYMq15V173Us25o6iBJ5u73Jn9wLHz0t3nanV7HU3J43tLA5vjtiMeaFXwum4mYrtiG2eqwvkKVves4u/tNuO8UoQTTe9Za9/1ca0T5R0mEi7oe+YY2P+KtDzNK2q2N1wPSYovzODS23Wjfkl4Qo6FajX6booMbKU7Z/YexbZ7Sd4ggq6sg2v2hvfsCFRlLQbqxUvcLZ+YAVyYoJO1ap2OLUHOI9Vi8k0Ooh0iOJ1SEG4Ra8Rd0UJ5r675tv7ljrQjxCNeLb+JXvzOxbuFde0HaXtnOdsfMvCdFyU9DhRK99C+/T7gloNUq06jijFY6oj7R3gXaZ7ghA59i6x6eSmY7wStGrNi9bW922ENyG69TBtx+fOuv9YNO120W2WVrrBKd8SF9RmJB2SgFSHX4LoGyrjHSap3unEdGwTP7DGQcgXl2S1ZmtesLZ9bIMoiFsKB6v4dfXzFnIbogQ0qGStU7Imvsk8NB8q59CPODkJ/wdyGES3He0Jwr9lmzia122mJkrQ7HX/Z2Hoi4Z6ohFKt3xgo5swLVHS6Vh9/ypn7zLHZ2mdj9HqSjhjim91SBJYtRz0wm9M1Q5evtkB+RC/ItGy8XVr51wbsVnchcHaXN/glyUZPLhgqsG3S2PwlYkGnxsz+LFJBr8h0eAnaHtSDB52uItOW/SR35XOecj3DZ67Bl+cZPA7PiWD75Bs8JsOZvCV25MNvs/BDD7gGvyyuMFLSEhIHHUk7cmLeCC8szgiWHEnoIjE+1Y4dKJerATLNBtfs+kwv1jJkCuNZU9GxXbpijuH636yvvFVS+zCTkfHGbSRfPECWxwLR8fjFTJM5uicW+6VtB5O+9NHq+Oie5xCO51Ha+OCsPqw5E9xQagBa0/rX7bE5ugkSKeTpenou5ggpNnNLAaX7QtqNVgt28ijVXFBiFIImYmChlxlLHsiSRByAGtftLxIxmhuitkwIpA4WQYlwTyGIEpH98UEtehH28ZHEgQhZ7D9EydREFZhVvwtSnvnx0owOV79QpKgjpM0UAdfEJYDsA5Sui4uCCsUCH7hqni1nY7Rdn3hRGriJQMuMlb9I0kQ1mVQQqoTgjTQAn3L+5YvCCwHayV0hKTjCcKKBmwjUhnvEVIsu79MEoSZ+tp/W9G6uCAkCVY8mySoywwdbM9JMA8QAgRIXxCWRSAlVBoXBG3vWZwkCMs9619KEjT4MmP5X6NWgqBus/SNbyYJajUQ9cTtMLstnSqQaPCwn/0HNfhk84CgHifrGw7T4IuGayVrnCSDPxlqOZjBn069TjL40RjrZIPPZpXbGjN4rCtt/RoGP17b8VnMDiUkJCSONlJPFaBJraokHj/rL1U0VoIZoKPwhMkZfDod/+uXMDrSz0ms9tsTpCmJTvbrC+KNik4niKX0UaXLDiK6niBUy1P6qLvV8kZ7xI6EMpMFfaejJgU1NYOXkJCQOLpI/ZqaHJadXFLvFLc0JXZqiZNSwlNLvkVB1rciiB+CIP5t9Eg5Qj06FNEp8em7HDUpqKkZvISEhMTRhdwPRkJCQkJCQqLpQTIYCQkJCQkJiaYHyWAkJCQkJCQkmh4kg5GQkJCQkJBoepAMRkJCQkJCQqLpIWlHOyOLFQ6hzf4Ded5u6Pih33l6VmF8S/KM5rQNaFZRbDd0RhuFnfh8kPZCjW0sGyxg4243aVd7sQ2rSSW9z9AzWzCx36uRSft/tOitBvPjgnqfSYL8PfghaMJvUgWd8lKCIJWqnXhXgiCDSvqeS7vC+4IKuqutBqoo9zbLz2U9Tk4W1IyNvS1BkFty0r+C2UVJgqbcb8b3e3UFDbjIyGzl7dyPe3M7sDYjNF+QmcO6Hq+RoNhm/2j/qBtSBc1+jgTpCYKOeThAgmLbsKJk8OVGli8oSBvsth9Hxwj4gjpNI0HomieogA2/zsBl/m5pEHT8kwESFIwJasamP5YqaNiPDdTjC0JJp6l0MIInKJu1H58sKJ8NuZJuMTLjyqRqfUHuqJHomCBhHiOvjwuCkt3N/l1BYtSy6diE3Pbu8QXCPPLZwIuNJDtsxqY9GMhKFjT72VQ7HHMLKdwzj4C32X9Gi5ggGPxg2uw/kH+YBv9CqqDxv0pv8CzR4PsczOB/nc7giw5i8P1SDL6bWjgo2eBPqmfwtybZodejgxn8wB/FDV5CQkLiqCOJwWS2oB3fx99h0pYk7j4QiCI9T9FH/MzgtrcvRPPeatFQrddputglDO648zFaXkfWergmPrZUVWXAhXrHyXSejvggU8+AxzT6X6ibuUx8xglnjRgG3sC8zUVpY194/FE3mk5MEJgHwlifs2KCFEXU2XaMxl1BiA0INu3GaTntPEFakI2+yeh/nu5vPgu3ixKEMbhdUZLdhvU9Wx9zq+lvdJHfTW03VkNV/r5niNOos/3EmCBV6fMD2mQ9r5PquO3XTGp/3x/oqF/0CJFp3G3myJ8biF6eoNas/wXGuF+Z8T2Fu7AOk9QBFxqeIEVpO1rN60RHAnnbkam0XxmRyG6qKEHkABdBYbC5Jwhdm3CHOfynBpEet2YEJ4SWCXfGz+7L70ycZtAlhrfvmUK7BTbroXae7o0RRq3nSXqrASpG0xOkK0OvNhDqEHSFIBCjSb81h15jEEUQm+e2Ii416V7TP7AQje9ynDbkKsOOep1E4xGnu87SvS9vVaX7LK15L7Vl/5ggTUElXWdSTPUEZTM0fvAVhpFFG5C4dsjQGIRqisFiy+MOrNssjQ4EiAlqOYCIKRrs778HDpTflRiJZ4eaMuhivfOxGgKzMA/QLBDrgRfrFMs9OyT1gnzAaOMGf3I6gz89weCnaWhPisF3gHG2iRv8mF94Bi8EgSKkNfjRNyUb/CgNlpZq8GPrG7waN/gbjX7nGUkGf7OBamE5DRk8rAuVJBp8h/HEF9MYfOcEg/+Z0fssPSNm8BISEhJHHUkMBn62fAsvWedgSuofT1izh1fv5qrhH31Hm8TDgfqn1GK2akcp6njnsChKtEYJlXM6us8tQVBHtdU7eW47r1r42XJ3a/mM2Lkpm5QAABAASURBVIl6cOiQUrXT0WMH3zTrxsKVtJu7t/uWO5tEzAjG2gZYISVcwel4QiHIUCq386pinhvbJB6evWwDL9vo0LTbLYFDr9rFK7Y6/tF9JKiCW3Xxk3iDzeiQGsqdxErwa7iKF3TzKkG8RyXVeziom7gAsapkvVO+ycFs2BNUxNAdlPiJECS3QmVKpJr7gjJa0g7IlMDwj/zlSrSaQ8miFqaS/mv2UoknKJthgMo3O3SEpAtQgcodTul6hxiACwSeulKOTvmCMOFGB+nAndgYoWsYJsQtfxzrDvDa/Ty/iyquwbAeWO1UbOVZsTMEILFim1Oy2jFj+9OD0uEu2t0/JgjjGK3lNE1nXndgORimnDZxQaEyjrtof323BJmA0nUOBi67tVcCJo0BOrCG+0dI5nZQ0bbafdxPAGCIaX9epviq04PMDkMbnjHQHvyVCtoGZuAJCiqwhKqdHI0UJWDS5Ztdgy+IG3z13oMZfHY6gy9LMnjojQy+fbLBr081eAxcqsFHGjZ47hu8Jxo0pXIHDN5JNfhNDiW03BIy+OIkg8+HoPI0Bk+ptRSD7xozeI1OM4Ap5nb0LVVCQkLiKEO76KKLXnzxRfFLqIRXF/PdC+3a/d7uVfCP3GKb3rDtCBcl5IVbsFV/tzClFhNBhB+EvaVPWDxWgtiDqLzuJdqAHDM2OOUDqyig7l7oUCVcQXyt2sH3LnVok3W3WhACXLb5LdsKxQXBd69+nja59wStR5BgS/4UF1SCIJfD1rzoCYLbPbCaziXYNdcTBCJFsXA1iRMzzupd3KpVtrxDm8QLQWUbEJLZmn9RtaIEXARsY+mfLR4TXbKWozFrXqC922nDXIv6aNcpOz7zBCH2lG8EVeLgaqIE8SlSpWx530agFdWCzSBar33R9gWR6jqpS59MEkTq/YfXI/xXsppavu0jh67hRIBK1vHKbRyBSggCvwEx2vahjT+JPlZscTSDrftPgqD1DibuK572Rg1RCJWA+qx81vIEcRKEf7e8Z/Mo/Qo1Qm81u4lJCEEgEGAe2z520C8hqHyLwzS2/mUbbfMFZbdRV/wtQdBaYgzL/+YJEqOGdMKmt+gulGA49q8m8rRvecw8DhBp2/mFHSr1VAfmpHC24TXbicQFYWWN2u/b4VoilMuesrgvaC1H8gB3eYJCZIegGnsXO467WX7c4PfFDR4/HDGDXxCzw7J0Bh+uZ/B5h2DwuWzNv2MGH3ENvibV4DGUlYdv8EtSDL6ArXk+2eBDyo5PPUESEhISRx2ppwpISEhISEhISHz/Id/Kk5CQkJCQkGh6kAxGQkJCQkJCoulBMhgJCQkJCQmJpgfJYCQkJCQkJCSaHiSDkZCQkJCQkGh6kAxGQkJCQkJCoulBMhgJCQkJCQmJpgfJYCQkJCQkJCSaHiSDkZCQkJCQkGh6kAxGQkJCQkJCoulBMhgJCQkJCQmJpgfJYCQkJCQkJCSaHiSDkZCQkJCQkGh6kAxGQkJCQkJCoulBMhgJCQkJCQmJpgfJYCQkJCQkJCSaHiSDkZCQkJCQkGh6UJWjBFVX9GByiaFogaQSzVQ6TdOU7wf0DIV9C21Bl9VGaSSEdp2pTbzLDOYz5ZsJKhqiNvJXiOh1qq5KTishISEh0RRw2Aym+2zdyGKNxDlVUwL5DP8ZmV7Ix7/4OZDHWEwauEuLvmqznqpfiAt6n6lntmBmjhenQV/MbFb8pUM1qHQL/gvkMl86iwnCf7g4LRCY6YI8RmzJrRhERNySJCiHoZzqZOkFgT1MvieQUZBeELgXbkEX/DpFIWrAf/HGmO5lCYVmLpv1TDCjuSc9Tc06iW7ZT132lGVHuFCvkcnQvHrSkwrr6wHKLFnHk5SZR2Mk+sgdZcHvo/ldvOEQ/JJGDXV+I+IkISEhISHxreCwZ9y7F9qT7jYXPxYt3+rY4dS/IvLldVKHX2fgZyukfH5HJFrLzSw26kYD8XL+vZGqYs5tpd04rd+5up7Bavfx96+lWvr/0OgwSesyXasrUT64LiyqmnCXuXeJs/QvUYTVQZcapeudbjN1BNS5d0dwY15HdfhPSBDi7qe3RvYudlIbg+zFDF1kcXbNt1c/b2mGMvhyo6CrSpkPTXnzojDCf15ndehVxoFVzopnoo5FLSnb6HQ/UQebmXdPpGonxw9oSbMebOLd5pI/R/csShWkB9nwa42MFgxcZ+6dkdr9HA3OKmKjrjetEJ97dzRcQdQBJKPLDK3tKC1ax7/4NTSjTPyNmdmcTfqtuf1Te8UzVn1tQ0UT7jTzO7H8zuont0SsMAf3GnubicZDCTV7OZiHHmCjbjBAhiAUCq8r5QpPrSe7SB19i7HxdWvjGzYUixr2rXDaj9WgTNyCBjtRBY3kCT0a8wsD0knQbyM1e0iQhISEhITE9wdJDAbhSmRNHFsBz1BcGkGTcq44jldSs59/dlsktz0bfZOJ4JdSHQgBIt87lxEFQfxz46sC+oL5fbSGd5utI4hatrL1A7tiG8csf/8KLzCCEoGU7PjMrtnnhVEE+Dm3RXqcQi1EGxD+QTK2vh8OFrCep+krn42Ovtl490oSdNK/gmXref2+oTE7v7A3vWWpJht2FTESZBTAPxY/Gs1uo2Y0p2sKB2po2Ke3RMxcWkb55KYIEg+gSh/+JAyu0Pcc/auHida8d3V42oOBT24OW3X15VByBS385JYweMCQKw30xchgrQZoH98YZhobd7vx8Q2kKC1ImkQh1EtpmFpibyf8PfjBdZFwZZr2A5Eq/v41YRCsRY9FUTnu6neejtYiHzPoEmPZk1HbofwKRg2FYEuZLRm6yetVVrHNmfPLSOvhlGBxU2Js+yf22n9buB6MasPrVpoeuXVC0IAfGiuejdoRRUJCQkJC4vuDJAaDlZ1WA1Uwld0LHeQhEAiRF8luzRA7N79nh0opMCKVMvAivXI7//L+aP3qEODfuTyM9SDQFyQ8lj4ZxQ/IeXSdqXmJAa58bVTv5o7t/Ywmrf2PNfLntKiz8u+WHU1TrxVWWvZnzXtpYGbNeqsgGWBFrQao7cdrCPar/mEhAxHIxzVq0TC6ftsnXu3VxdyxlMNCpJqj70T43F+xKmSHOLJQRiYHXfAvqz1AhUC4/OsoAnQQtA8pHPQokaZEqtE1+h1ZmUOphzucrmz02miNJ8iR2RcJCQkJie8fkhjM/pUO8hwU17gXILd9ZNOcHj/Fwlj/C/RFj7gz8nTxD2kPZDVW/5Pif0471rKvemCNU/ylvfktO1TmVnPkwmGz7uqBlVQd2EPaCzIKWOsR2tI/RZH8aDPaewsXzajawcF4aFmEK2J9ZNc824lQl9Wv+65uViEDU0HGQugNVAkpHPflX1a16xuwtmSA/dSVUQbFDnP1W37FGYtiQlBD7xhJSEhISEgcRSQxGMTylGBbv+SrP0SJ3zRARLil7Ftun/QifWWEnMRbPwqB6yx+PDr1wQBiPApfPSsk1iMqtzvH/CGQ2YLtmm9jjQmJHyz3zHqGblz+dHTz2zaoAJIoSJaIZmCdRQj1C1f90+o4Sdv4poW0UOEgDTwppTHhKl61nYvGYN0K+RsE/bxOKhgYSib91sQiVMlap2Ibm/1MkOlKzW7+/o/DkUqPvdkhJb5mxBXQMqz42GHljQtD9V8ACpUrxz8VAKt4/TzkXigjsvkde9bfgmBXYqlLKKT+Wsy7V4WP/2sAt6DatEtUaEy40mOQ6DiWz2Y+HUSy5/VzQyJRhMZYdYdBkiArUqX4TbLC8Xs7UspN/fgGajAWsKhHOvXIiSoSEhISEhLfK7A5c+acfvrpypGDeM1CoYUejoAN2oHlG8zjVYMKEdrF+zReoc6QDkGApMs0BQtPVBJBjoRIA30mw+mlHOSBkN1JLMTtUx8KzLs7AhHDrzMWPhSt3Z8mikOEFqAkkqjTzGJtR6v7Vjj4oaA7A8lQxFfcBiVLHIuWeLREQeiFFa8KXcD6C1qbssaU0ZwNuJBSU6gkWuM1A7er9J5xnAbhVx57nciHkA5AaHqiwOgCUhH31CtamygosZ1pMewaY/0rFpYIN75hQ3W4RXAp/IBqvRFh9J4NjVqUPoAadp0B9SYKkpCQkJCQ+P7gyO/+gXCI6XtSiUPLH0ooXWFCigc3WnZSiR+VOY9nL0Qh2NDHPw/3PZeC/9y7o3b4/9m7Dvg6iqN/e+2pS+69994LtnHBgAGbFiAJofdeQw0QIHQIJYUeekIICYQOBgzGuBsX3HuXu2V16b1r3392790rek+WjAP2x87PIdJpb2fL3M5/Z3ZnUmtZvCUuIUd/9YAAupyko4Wr3vVrd33o4AWvJHFPWVU8wQSyfa6b1B28nlRDSoDipgMuAXkJlptaRqkWAnzpeDwdf1b4yKfsIwY58MdZVd7W6U5SjyRJkiRJkqRDhw6+DUaSJEmSJEmSJOl/TT9ZTN66EPwd7JBu4I9EquZf2P4hRIPJavsruck05UeLX0fdkbHyJEmSJEnSgVL9teLB0zrJCpUlV65nsJbDD5WsAux/o24Z28+QQtO3PEIbcj2FBFR+AOmZrFHPtNOtZ9BxorZjtR8NMmY3ZVmNJYSRJEmSJEkHSPXWVy2GaAflem2DTmqjHgncu52qZzZKUGlWlVc4y1EODTrqj2ZSIqeDQhNfC5k5tSlyQIrmA9Tv/mxVF/+gIyl2pbdnedq77FaVMu9PVrP+qvpjIRjMdahAIhhJkiRJknSAVO+TvCUb3JPfzPjs8jDFcKtO/quqU/6dia9QhkbHUj4+v9qqpPBuE54JZRSwj86ntzxH6Xqq3v9S3chkVUXef0+v9lxl1O/N1qPUgVcZ1XhyBtVrZLOT/xla96mz8FlLNZRBV1Pg/4FX0NHdj84LU7KCKCMjW5l+j7V1ZjLWAeDoeLze51zq46p37GX/tIG9ht1kNh+oUug5TXn7BGKU2Zid8GJo09fOohcp7u2Ay4zdy9wh13FG54fDJR4Kn/qfjMyG7BfvZMx8yNo6PZkRrCMDr9BbDtM8j7etgi5+4+GkV0PVJd7nV0XEdR7U0Ga01uc8PVzqTb6SHlK1jdip/w6t/8yZ91SKA72o5MQ3Qnix/bHaJxeGK3d7GJaT/h5KYJTHhtxgAHzEP0yiBp3Vo58yF71gr/mABmH0febupW43Hu/4w3NoUhRxIynq2THz2BG3Go17Up0fi1k7SIF8wH3EHWbTvurcx62qvSLZgjLptQw4sIR4oDtdT9G6nExtW/SCtX6yA9YZDdjEl0N7V7oz7rNE7D5JkiRJkvQzpwQEA11iZFEqABg/CJ14POVhiO4z21U+XoEl4JNLws0HqQ27qgueSVa6MBjAVjHlxghqcMJ0/djI8oZcb856iMBB9zP0Zf+w7Cpl3cd28XpXM5S9K/3IsLMfjXTfqG/5xqnc41flRLzJV4SFJqOEiyFWvt378NywmaP0/I2+5DVr3GMmfsVfgQB2p7IuuLYcOfPJAAAQAElEQVQCq8PnV4XhQOl1lk6pCbIZ8AewQm4rBliAMlClua0ZGpzZSBl6gznnsYgWoqh3glGf8ymrAAYEan7co+a3d0VEhqMkAsQB1MArYNHrN/r3L1kYt/bjNTzB6A26Sp/9KA2UalLgOyrG/CvQABwnvhb6/OqwCPdXkwBHPjo3DLS36EU7UuaJrAKCUc9f64tfobYB3oXyFBoKT8loSPF5a1LpZheD2WwgueQYP1Wzbba7+r0wXmw3LlVWAY5EBSPK4fCGdVAQDDDlsJspt1SkTOlyokaALIv1u1j/5CKax66nUixEtA2YEqzRr2E3GkAwmKxWR2iYIyNHGXGn8c3vZIIDSZIkSZKUiGDg1oGTCLpqyzRn7ypSWVBvOS0Zducr3rZFHDkoUTzMasKWvp7iFi9KfnFdBFoWhav3Kes/taGimvRVq4pId0KBidAjToSi1noZseu7gEd2JYVOCaKPAPEAA8Vf9927wsWvgDKck1I4yxVZG1f/10kd0o0X7HyiDl3YoIv/FrqDt7Djpwh4jCAF/Fl5bQlSlBX6WhrGHjDSQr6PAwOCdqIxkQoeqCYVVe7ygDBEmmhUC7MTsA6eoL95bWOOmX3r3Pir5ugsOo6hsMOpq0UzfNbllOgglK9kFNBldWFDCo7mAPaJalPCF8W/Co7B94IeFa2lYIXxGQ+SCOYxwUg5eGeAgGhhKyrfRs3YtcT1eFKn7OYMRil0h+aaMyrdQqwDnx2sMg26qIA1mLWyrdIAI0mSJEmSiBIQzI75blLiZTgdkl4YeacBSz4QQ8pUf3A6QMsufQPAhcLqN+mt7l3lFa1yl/3DFpt4N84DI/I1urYXC9emkx3IESHjalVVKJDXlu1b7Tq2t2dZcpg4QbDxdDhGW/5PG0yzm5FXiBBDlVK504MnorqYylSXUMonoRc9ez/aUc+grIloXk12MLoA26FHIt+CU015HPEEFoV09pVYO03CPTXjx9QkVI72C0Zog3ewtblmMIAM1xZQNcrI9QJG3ESX4D2EKYuAXRwCA0YUya5rEmouK/QyGjKUz2nBSjZRsUgp2ZZ8kJSqR5iszVOdXYtJgAIQJkmSJEmSfuZU73MwX91Umw1fBOQdcz/BBSinr26l0x5z/miNecCEUwb02eVhR+S43uGNud+EX2DHd+6iFyirAAw/Yx82gTZWvGVv+oo0VZAim0e08/WoeAg8NPeP1sAr9I1THGCmpv3UJOylcEsDTCNHPWZCDYvkRIAIzQaqaz+y8WTU3Qb6sn2uA8vTsX8xRZOm3R0JUj55Nv2L1kX2pPGPm1DeU24M2zUQDGwJqAQN++auCPjC17Z7iYsn4TJl+t3+iLmpoM+M+yLwT4EpvCSunTYun2gSLBNL/24TI1eZxhmJTu1Xr7O4a9IU0S4KLwg2udF3mdJ6lKqZxoz7eSZtk/mMfh8Jmt2kNyte72d1ENTtF/rKd+z4iIJH3GZ+c0ckkjLXZhXkJwxHUoNODG8BtcC2tOA5++gnaY6+vTviuqI7Ce0E0FF1T8wRoM9nV6QxWEmSJEmSpJ8THa4R7WCqOeYvoU8vJmU26BoDtqKSjfvfncNh0aCzWjjDgUui0wnaktfqmYE6DWU2Yr3P1ec9eehmD+r+S71wpgMPztqP6nS3C2aSwdcY0++VJ04kSZIkSdIhSgc/q8CPQ9jNf35VeOwjtC+ffq9l1+1+CrwbHSewLieZ+GHuEwcNcMAwU7zukPZubJ/n9rvQmP1oXRGJU02+P0WSJEmSJEk6VOkwziogwsgq3MlS95syqkGRZ+NzAx2UliiK4h3CGl8cyKW8knVrpAiY6x0qsXgkSZIkSZKkZDpcbTBKLDdk/Wj/mRQPqCWHOLn1dJcd+j2SJEmSJEk/c0qIwIqdenZz1vVkvWFX9YAv0DJNaTlURSV6Jj9Ayu8EdTyOYpTpGfVI7mPmUEua9lNVQ9Sr5LenavPasOCKLypsM0oTv+K/nU7QUKDrKXqPX+paKEWdsNl0nqSjTLdf6N1OS4ve8G6nibHQw2hzswHE2sylC70pqaCj2v0Mqhn/RB/R7IJOqpFd2ziCEUZGNBXtbztWoyFiSkYBQ4U1y2NImw+q6wii/Z2O/2lyMqAXrdKkg0A3MUQthmosTdOMLKVhF1WUbHWEVnvKBTBqPTJ9HxmNcC0il1LgiW9i48lu97+B+qhZRARIR5QPK83f0TUhb016qfSt1dpNzVAkSZIk6f8ZJSx7GQ1Y/0uMwtlO+6N8zQGFDSURoAEsuFgKsVzWsiBiJc1szFDJUX8MGVkMrzQbqBav87bNdgZfa7I6q9QxD5mopKCDmttKRZ3ZTVm3X2h40uNXeqbIp6Mqvc8xupyiBYBm6wwXBQpnOWiwZrKUbSuc6aDMjgW8j8FzLUFPQIENvMKgu9OKPwgth2mFc5zjXwipQUYFRqMR6NfGPdmu7zn32Y7QhZkN2ZF3G2ZubX1s0lst3eS1HU28UVuPM/ReZxlo/MRXQ/hTzfIYz44TCJxBzWucOwWGUf3uq9FJwUPMmpnH+l7oP8KU4V2CR1qs8ahEADLyxxmkLKnaNCkkRZ1CGFBb/MP4LBP0JJPi+wEC1mQk2omR7HCMlg4LArlCYERVnSdqIvqfZiTIYYxRHutyss9IxGMkyBLtlJnNhv3WRIW+hKh+H4NZg8APuJQEvl28wGex+PQL4DvmfhM9iv8KwDodpgH34E8oSe3X+PCGlPisFOLLCuVSrMWAkZij4HVwOfmtDPTRH2Hmt190EPLZlX8RzYeoI+4wfRxPo81owKPCKVB7qAELZq0mI0mSJEk6HClBWUGvLHzeqi7yFr5IMVix4uuZbPwToWE3mWItxp44sxE7+skQDCrplj/4aNZ94qCSOY9GGnRm0CK9zzb2rXWri729q1y1zgjmi2vCFTu9TVOd4bca4NX3AuO7P1Mc+qVv2LCyUAlPWfuhHUQQcSwKIlexy6ve5zXuoTqRVLd5qylQW+UeCgS86MWYM6nPeUa8Gi5e79Y8JWPxYHFM9bUfBqfT8Xqwcae4JmVeNa88iHmz8j/7OUhiZDK6Is6iCp6r2Ibd1AXPWl6aYC+YiPGPh47+U6jraboIqCMMBhiiwdcYomE0a0+G+l2oi+MsqBNTdsyfTUwlxQPkmKDDMfrRT4VyWjIRohdwc+CVxjF/DgW6MImO+J0JdIUC0PrH/CkEfczhCzHCiz5E0BTATfACIBCs0a92YzUwymunCr2Laara7Sn1OfdMN8i6qGA0+FpDoDRUldWU5BAWLJEaEw0AF/QR/9WjNq2j/2S2G6/hYX4HVcCX0feHqIDpx+hrf4y24DkS+EUv+kGHgVCPetQcfF0MoWPQYIE75i8hgCHBqMUQ7ZinQo16qCnhOLgM/S0JE1igJCOkxbqdrqMesCYxYxxLZdCXdcTthg9ANWLktz+TidfxMz43PITJEL9qutL9dB1TD7ERbzlhBd/I0tfsnfNdgWWBhqmSP2FkfOHsd5HR+1z92L+Ejn4iJBiNe8RnVEs8Q0mSJEk69CkBwax614ZlYuDVBgwA5MtowDpP0qb8Nrz4FYsSEjElqzFrNVL74towEAlsIekqxUo66FoDy3ewlyUDwy/1A8ga2LALW/9pDAec+u+MYNmFysHynaTosdkdcp0x7fcRJ33QEGzKR95l7lwU22fvWZZw7qN0i5dwiBX7+0xl7EMmQFUQMhhUsjn2VvFGr9MJsKDorYb56Z3Rtvi4KSmIKT1+rZdudpv2VUWOQ/SI7AFjtZINXrqDxtDcU2+LTL4iDE+TqgqDB69MV/LaqKgztzWDXv/y+vDaDx2dGz+AzzBln14S/uqmSJO+Krdt6JW7vc+uCDcfrDUjPx2cVmz1e84nF4fXfGDntEih2Bp2ZTsXOcv+YcNtMfnK8JDrjdzWascTtCk3hFf/1waI4Rkotca9VIxS+TaKqAvWHY/XI2UKykOiWgyq//RzgqGizWhitPyfNuQQktm0j9p8EJfDdR70PRnJhmqfXU59nH53pOupJJkYQPy6ZZrz6WXhfWtcQC4gsNmP0ND1ucAQtrTViQKv8DtuGF6RcUIQGr9zIeWmmPlghADZUWTzm3x1OLcVa5PKgQWMmNeaifnNakRtwxwBA319SwQNHnCZgVmDO7LLifRlzXvSomym8JC2U7+4jtoP7kc9Ro2DYH92GaWbmHxlZPlbNr4guCl3L3HRTZidGnROGEyRKwqAEgAdlaC1jbr5KAdoGN8vWIs4OhCSr27xGR391MHI0SpJkiRJPxEloBA7rKz4t40tLIwuu5dEYDlvM0aDjZopsdOv6z6xsY0u2ej1OV+DPktZKTTxd09ZR95rbpnGhCbGKyvesqHPlHo1LpNSWK/9OIYm3j29Oil/dU2qKqr970qb0eo3dyQAhO1z04aEg7qCVt69zJ3/jDXidnPhC5YIig+Is3uxG5x4hY4sXkf7YLjhts119nsSFtqloKPqhL3R99HOHuqwaA1lT4QrCtUCpihpDoCUbfWAompxxmU3V+Epw7CXFXp2JZ3hhQIDF6jAtR852+eSGaz1KPXrWylOHUpC9xetcTC/pZtrazSqgiuwUQ8WJFHKakLRCCEzGPB247QFT1v464q3bcdWoGjJT6QrbUYRYOp2OqG6tR8e+IXzLd84YBQupmNP85+2YKZa8z7J4Z4Vrl1F+Ra2zXF6n6M36aPC5rd9XoqOAFjAsQVnH5CBqvljGwg8rCYQ+P1ahtAL+BMzCpQuJ1GPNn1V18ta+9ZgLijpBLCLQhia2/mqlepShdJbevig3LZjNLQQKCRw98QTmc0maM0HUa5NsBYRipMIQ1G9j417zMQUA+LAZlmzDGYZY9j5JM5I2mAkSZJ0OFMCpIABA4sjOUHEfrTaW/KqvXelS/FwowsmFj631uj7wrUBLbvobxbsAXtXkoKBDSPp3hAdbjApJVDalmUqsNvPe8qyqjwRvBW7bYr7kl7PYt8PD8uUm8Jues0CWJbfVt0wOaGE2JGnNtsw2rvPfCACHb/wOdKd5ducWDcrPZHcx3+d+feQ90soBh3/7d2W61A25j7n6kVrKFERXXhWak0X4JHZqSYHaGUjm36AGlN1phmkL8U5VkzZ9D8QYoP6hCNm7hMRzIWYo1itqe4fMTqr4RcDU2qVFwv8j0rij4jir5SHPMQ8x8N4qjwhqFVBNgDKgeV6tVwB8xlVki4XchJ/ZEThp1ZjR684I80kOeTHd5hIOT7vTxbwU25L1nZsCqAMSAfQMOtBEiclisgDga/jrFHS00pv4XP2fnskyMjxz6yIuQhGGH1kGhMX+9FxiDcgIIAXLHAA6LD21ayKBrNSmfWwRbnH8RFEUDl3NvF8pXCHbZ7mmHkUp3HaXREtxIbdlOqoGlNaj9B2L3e3zXNgZxr/REiRJEmSpMOWEtb6nBYqNrJY5ha/bGGVhKMhu6k3+BpyEACFzHqYqAW8eAAAEABJREFUtGCLwWrL4VrJJnfq7an9NFiO4WCCUWHjFAfWCACOGfdFBl5lAH/A3RAs+nltVcpNnT5s2vBbTCyyw24xygu9RS9Yi1604NqHwwVWChgVFI6BRvzOLGivDr3RnP1oBC3ECr72YxuOgFqo4/EaGpbkoxl0lQFFG/w64g4T+GnwdeR0QLXT7gzDBZbXXoUloHBWFPowpfOJ2op/kUECxozOJ+pwbWDQlr9pCw8UfBntx2ttR9OhotJNNSCJJ5Ic8UMznrd3NZQxC7xOlNIylXYUCRoVDhfwLv4bLvVyWqmjfk96khSkpxStcpv113qfY4bLYK3xM1X1vYDC9uPfynds9Gjm/eRqofDEs531k21o2QC9QbkG+A/+Dgw4ylBrwyJzEyVFonvs3CTTuKeKaara531wVrXHjyXBaNdquAZDEQpgHDAvXaI3fTZ8ERs9mLX6X2osfNYSvPiREXXzN/QLIMKO+S4QicI9IALMNequdp6kh0u8jy8M48mGyXbrUVrrkVr5ds/iYwjn19DfGlDpcFxaceENi1a7R9xmovHznopA/fe7xBCnZOASQi/iBT5AxjDtJB2iwixDGAjCPm/N/6sFd6HwOm2d4UCWkuYI3CGEo35P7YdPR9xjz27Ght5k4pWlr9OBG8wagAiGDn91qEPUbIBLTFDFLi9SGqsNbqahNxqYdLQffrSeZxq5bcjftfxfNgYZAg9ZhUt36Ru2S6knPFh0ht9MVj0UCgDTrkUuvG/gtelrZ986d8CldG6pco8Xn2RUkiRJkg47SohoR5csQuQ+xwornmB3q2UwTfeTJHc9RRdLNpb4dECBb/opsTPWR7F8012MDNooQwP55yXp5rO+fZ4DDZSuZbBMiPOhWL5FCmt+F4ZBYwl1i2phUFG4LwBqALzoUKqeNs+z3yODjAhJ+CDpYUYBz9FokRUKD+kQZQbd3aAE0dEy/CFlcBQqVtzvgCpFH0UBI4vbqxxqW824NUmvo6d0RjVqgcBYeW6KIC50npqr2PjXfUYuBdINXhcXqeywP1YYKAwX6eZqL3hd2FcwvCLTtSiJjgSpK8Xp1/gmKdxeAmVJ3MP+YV5ua4kKDN24YRQwMMyP8vAb70KoMHFCZvAz2kNorNo/9ewzCvsGniQ5bNyDbtTDcZmCkcd7FKEehQrImEG4MBydJnAPCashPQRGoXnkCAY142FNgRdz4WfoDMTDJHnGQ5vzEnXG9yhZxkw6a+Up/ozArNLtdH3ZG4QUA/FIqFPMERd4amp17BSU6CYXDI/nS/dtNpEKOqqFn1Wdz3KiHHq8fLx0UUnDfwjjDQQ+iZEkSZIkHXZUj5i8WDfbjtO2fOv88Ihw4sruAcSjk/QzpPx20PSseMPhGmUP0KTDsdrK/xycJFySJEmSJElQPY7WYj9X96OLtZPc+UmqO5Vsijt9cxgSDDwSvkiSJEnSQacaF1zZ/o40srh/8Q/rS+yA3jqM6P99B39WVPtsHvBcH15Ccog3tb6DKT9PSZIOc0pAMAWd1A7HaO3GabmtydcO67c4aEJxdQeo4tIv/ooy+OeH94g+zGpSj/UA7vzWI7W2Y/w7wWYOyyg4oOWEKTkt2AGEFkWPmvatU3gSlGzS50ACmTTpqbYdrdWeVeAnJyOLZTf7f7WQG1kkkMpBJT1TaXOkFh/Pxsz1Pw2Fu0Q7HK1huusrh0lfQX0JrweSmd18P1/BAYtxfA3oJmX5+Cki+VL0AR6WMB1RgpGRWm0pJmqUb3+U1rCLyg5w+CVJkvTTU8KSULbFrS7yKnZ4lTxSXEZDNunVkMnP/Q25niKJNR+k7VzoFs6kf7uXufj48deeZxo7vnMHX2eIWBf7JawdnSfqe5a7qKo7Dyxr5gI8pXh3xB3mfur06ErFAaRQxio84PLaUsVMei1E4edFycsOJKlM0VrXzKFr5LXT8S+E6otyzDxGCYMOBulZdLks3V+hI0m//u8RDoGAYzV2MBjpmRT+Lt1fIcmdJ2msnqoccli0igQ+eGJXeeJ0ucKzZhbOpgCP9dWFnY7Xi9e7KaPX1IU0kw26UoQoVpr0UtVahRRiTEEp0xO+dCHwqXmFlHGPmIWzXDAVIYN/ZMKUtRuv1TLCfS+gwN87F9R1LYAje/t3bqdEYfjRBF6SJEkHhRL2U3SPo5pWZIef1VU1Zf1kp9VItXCGq+rcGKPTZdHg5i30AdbQeX+K4MXv/mR1P11b/Ar5+xmPNgvff8ozv3oGy2hAN5VQrGE3upWKhQn2npF3moAjS161xAnfI24zmg9UR95p7Fvnff83C28NucEQSm7ukxQVA0tP+6M1qKuZ91OAE2yU+19Cd4qwOS7d4i57k7iLoDJAY/OetMT1Y0AuoDHH8gAv0tGI35k5LdmIO82tM5zNX1OWpc4TtWYDaPmc80fiBY3b90IjqzFDS+zq1BAKo0S3fuJy3Ay80jD46v/dny1x+QWM8tqykXcY2+a4q9+nuyrY5rYYwnM77KMCGJaBXEthZBa/bGGcoat6/kaH4QR9pyvBNVg36KRWFVFqBSDFQVcbc5+wYCEr3eL1+CXdI9sxn26SU/j5sVrrEdraj20tRNt3GGMGX0uMqovp7jrKYGp6n0234jHCsx6MuA7FHRl6g+G5GP9Iupto6E6fc6mefevc5f+0waj1KA22qCWvW+XbPUjU0BvNks1uQXsVCGDBsxZGqaCj2ud8Pb8dpUdAjyh6UBYV8xlVE04FkG01XG05TIt/GE8i1lz78drGL+0g4wEmWuEXsjDgYIS29bvIKOjImg8kRqJtGASUoZv/c1LHIYQcYszR8b2raQoEXOj+S33p6zZUpiKCxPAYgwECQwMwa2Y2F48qL2W1Pc+ky/atR6lVe71ZD9F3AjMk5mvHArqhLWILNeunlm31ALV3LHQ2fukkxSui6/F+Sih+f4qRbLc/RkPzwHHeU6kFnsIEXGOIrGGBHB5xe1TgpzvrPnFQbcfjtOYDtPnPWBF+aQsf7Kp3aHx2LfYP8vtfVpQRJiivHdu9BBCHspV9/5IlpLdxLxXdxKKBuYbMQKh6nEGfBEoKgYcYt4TAv0C5HVJmUIcYD7uJ8qnRisHRhpBDTOv8v1pCDjHasL7kd2DYekHggbFox8ULo3lO2Otxpr70DcpAAvTfqCsDdhGzJsZNUMOuaq+z9bzWMYGXJEnSIU77sQjvXuzCOhIfJBQbRxHRrnofNjGOavLLt4lrNP5sVaQ9fClyzmEdjE9F1O4oDSAjRHkMdHHsccEz9pH3qguesar2UoHmg1Usi3qIEuz1vUDH4oWHW6fDzsEYhVj1sChj6fnqpnCkDMqMgs1geer5a10EDu5znr7oRXode2XUmdGoNjMGCrQeFcJ/saqK/oRL6aGRzVM8zna6nEhXwauLsK/VFz5nB9vxWiizEVvxls2TELHjXwy99yuCadAQLYaG5nNGFMH2SIqUigb3OVdf/b4DHHbMX0Lf3AGA6EEdahkMPwAZoCPQUtgQp2bUWLGwrO8jRi0pxYEF52BuGw/tbzVCg/LGrAErYH3HE0CH4g3UeCzxi1+x8ArUfG4rtXiDW7LRpVeO0ESYFqAKABoxmLC6LXnF8mpgCOgA4Ay8pfAr7ugRGpDTnHrU5SR909dO6Wav5XB17Uf2+k8cMMpvqxatccsKiRFg1obPfUa9zjIEI/wgQhNBAiEY0++lIC55eGt1Qt8BjJoP1jIaUo8AnUVkPIAMvAt8ltFAadRN3bXYhXERBaCbgyjPwH+LXyWp6HuRni4uM+Qwr43K58h/AuACcJZRkHL4ecroU/SNXzj4BPpfqi981kp5527NBw508+ZvXIrJy7MKACWjeVD5EAPgFUbxmRiAJh6ShbIOR5lRIXr3ze0RkbBiyWuWkcGAXEngG7JWHKtlN1OBvfDZYq6Pfdr88ByCRWhkm6jA4/OEHQJ6HVPQ/2J95b8dCEP1Xi9/PMvvoGEGC2c6Ii02TTQjKIZdB4x52U3Zbo6lyOMs2pOFodBmP2LhIbzM2Fo06R0VDx4OET01uMD3Pkdf874jEGFSj7pwRvhwjvqjycWDoTBewRN8y0teI1wCdAKMhU1L1R4apkbdGa0VlHOUDbvZmPVwBFhw6RtUIWyiOS3RvBTfTskmF+MQCLwkSZIOfdoPgoFuXvO+S3HKowWDrWptd6E9ijCm1IdQHpYDqD0Y+QWCwe4Qu65wGbUB6+m22Q7WO6zLWAexU1T43hebP4v2uP7qjnW2ZCMVFpYJaH2ovdajPBGXFoo/lEcx9IhRtVe5K61OgB0C6idSSlFQoVDBaMu3VKPYuaIqKP6KnfQ6JQGu27EAlIdCgp2JQy7/YRiMyn1GUNLdz6C80yLi+/b5bskm5csbwmMfNLdMczaQRiSOGPZwMZWvKqrH9Zzl/6AY/NA92K3u/N7peqo25SYKog9N0HIoGTaWvmYNud5s0IXBsPTlDXRVDDv+cIkHNACtBgyRmcuAMlsMpXMDQIdLXklmgWEHcIQWCS6acfVDqUA7TNCAEgCJoP+AXEVE/JzoaRVihHGoBCYmc0VmQzIkAOjwIDGMzB6cCmc5osuYnWTWPIv1t/cQvoHwdDhG46EFrf6XGk37qmgAoI/CTYzVglERMQLugWNozAMm2gkLRDrfAclhOUTRD0okYvZg658UNTggmNl6nUVppxSubhc+mzr2AGYTsNgq9zDIGLrGvUjpouZdS9xxD5lAMKLYwucskY5UqRthy4HC2BtkNuQxciDwq6MCzyUWeJHk8C6SwwAVYVgicQLf81c63MtdTyWX3NYZbvEG2qUAtKE7EACYWzA1GLEqDneMnBT3AQKC3IrGoyRQLIyLgV2WBP50nXzKXOB3LnD3rU1+HeYWmOiqimx8ZQTZXcUsoPjFLYaoKs8BTghGIfNMhC8XFKOP0Rg27acNvEyHxSUJ7NZCkEMuHr7AS5Ik6dCnBPXL+KJAQdY1JXBPwFq7+r82tjLiV6xHMS+SSUFaSYXzJSz+s8eC5dmpo+OTrdhThI3EdfxVVNXotA1WpSTjrar6Ydy6nabvmO9+cW04lM+6/aJOqAFVwSD/fTQHNX6lqHeMszbYfg9DiNEIklEHhJEB+pl8eTioNm0NPMkA/kFfNuyiQh8AHGDJPvYvoRSMGEUY+/J6PzsPj9VLunbyVeGcFipMUNtmu0Iv8nd4iDn0yE22dQndLIY36KN/SILHaRWx8jQeQI9yYvMRHvNACA4y2AOa9VcDRBi8S4wc0mHrPuYxiFPlPRAhAUkYPL8ZHo/kO/mKsN8jV6klGTKLygwYrXrHXv1ulFFdFJBHKpb6yPvOeAbpUXeb85+2Fj7nwQQVjzKFAGAEMB3APV/fQp64YbcYP1BpkRcJHlFGYfdKNniwBYrnbt2QPAVOpE+A4++6tURMpWb40+o3Q/WnXny/fjzGOIFv3JP8thAznoLDTOqCGChsJKbckCDeeMPy7lMAABAASURBVJciIkZ8h6nn+J8w0/2fRSp7zjrNl+X54sGijScsGPYILnsxRsnDwiNWC0Ykq4zGEx7Jjdxc5ykpDL3oHSAsLItfXBcGSqPjbl50oDy/koBUNZpQIqiHRQXePayv8EuS9LOgBCiA7XiXkzRsVbGR3bPUXxShhPaucN1UEVxQEiZi7HSxb4Pyg5dEPMeicOTd5oz7IinD42KrDUfGoGsMLBOkEfkyAXd4qxEqeE29PcZp6wyn97k6Fr5V79owrnSaqJHHSE3UCl7yj14cI1gvwEg8/e4vFhBA034KnpBZu2ltB/ZWv2fDV4X2rHjbDjSK+H/sxafcSHkSxEq96EU7XXR21WTwXi1/04GBGmUoycAYsmHEe+XgUhGMsJv8+tbIgMsM4VyDSwUeFmxSxV0hLMFbv/VnBN1v2kcF1Cjd4qGdSYeNygu9rr/QKWagRmZ8QX3OM8AUxht+LECBZ4oYhWi9FhkPdixw4A5QePReeBl87eCR/wU6r3w7RTSp2OWJwYRemf/nZC8SZhMGmL4X6uJaWfF6atv0eyL9LzOEuQJzsXdVwmzFV5DXng26ysAErfiXXbLBFYxQJ2ZNaLtatAnkcOaDkQGXUh+hwKqLFd4jFw4Uhbt11n8WU4/ZzRnmDkB8zXsO9Hq/i3QIA91JYT9AYTHyoMG7AU8cJhqNGXi1f2YLHpBarJW+xHo03RAVmIsi5cpXN9cpXBIYfXOnL4e7l7gYBHyGjXqq9GW5ysavyFZaucdrGooKPBckGH66nKi1O4qLR9yZ3DXv+3K4+FUblr+BlxsC9a771MHnT6m7zqdD93uWuyIyNZ4LRlumuSLLBIwlTfoQWCSDVnz3OEFoYYDpf7Fh5tGvqAeTAvgIhOEL/BcOepHURxjnVr5DjMC6UQ8yy2Gdga3Il0ObxCPGJfpD+Tav4wQsFLRWaBlUDJUPuto/9QxDoD9pqtJ0gNbtNA/fuP8RQeC7qo17+AL/w0N3SpIk6X9KCTF5xdlAxlWU2Mp70d0VxZK3/L1dkuoS+zZ66Mb+JOwr6XSCsEwo0X1k/MZIPPGLidORnl+teEUkfInl7ok2SeylxB4x/mGwIxTt8evk7GrPNeizVvwBEQ/97SZTAk9QzQFJqETlBdy4lvBqAxAW30dP7BGDcRDtZ8mMAu6iTM0zrTFGVIgOHS99g6z3sTliPiOR19BvHos+saMJBBIZCZOSP5hpTAvBVFJ3onMR9EjUKQaTpCsQmGh7vGB4ExkFI18LCUa19yiekeJFJYFnEaLT6+nnMYl78GkERPZIxzctxItH7V9BILFKMHRebFhSfm4JNSROUFYjBhgqMnwF31GSwB+IHLopRC7pE/ZHWwym4l8FSDFuekK1wXQoiR9+0ij5H77qz1HCR23HiimBjKlxa4XHjcosVglNk+OPAFnjorOm7O/LkiRJ0qFGCTaYpEUkQAnB85R6q+4P98souZiTsIakXOACRgkV2qkZ1awzbQudmlu7mLKhVb4O3gHPiXslzQKd1J6kcUvZ2tq5JzHCimzxTXOS4eoAGHn7wxBKqqlMZpSyZGJ7ajKqy4X5uvQomZFSJ6rJvWY348NM11U83P3UuV8PVBIjmDytqv2MwwHKYY0eJdUjcqrXrDOJknvk1aGPNT/hVF1IbkzSKylF10sODl7HiZMkSdIhQj9FdCpJPyLR4dZ37AMImSPpsCO7ioIRKJIkSZL08yCJYP6/k6c4YUXSz4FcaT+QJEnSz4mS7yLpISVUwKwKukR6YG5geJozGjLNVKr2eOL8AVzdlHNA5U+sul610DOoHrtKoZha3IQQymNGDh1FpFBdDnei6xQHrKqIfgVfcBFubDwv35YiQBaeZzZmgc++bGuaE7i8mGi/36MCpmXQKULXSm2EN3Mp7ogoX7GdbmPSjdbGDA2jt9KdGtEpTowogJbj5+p9ngjpxhirGWYGdRpZrOZ14loqF7e+f2TSDMXIZdWp7gBjMLObM7rYXJQ61JsWwuvUdyFIFC4lfQ9Ug6SCyqQvkO5OnJJG4MEXdcYPMp16qZsnq76EmjMasVou9tNRmDR+H3RNpPLAN2JV1PZliXMhEt9IkiTp/xklXHzEaj7sJjOvrdrvYj04BanqsdN24kgvXYlMH94bf+10vIZKxjwYoovQmpLXXm3UU81ro/a7yGB1NvqMfTiESjqfqOlZTFweHniVgSeDrzL0kN+Y7qfpw281NH7JALyymzEUyG+rdjlRT3lxVzNZbksqU9BJHf9E7Epz/NlAhd84PeHFUFADut/j1zqqHftgKD4KX/wgtBurNeqmoua8Nj6K6nWWjl8bdqV/Shpq2E1t1INCzfK20QUutBwDeNSjoXZHpRhi4KQBVxgUCcOIxmMNjvrGnX4Vs4bCx/7V7yN+TbpfzUQl0QOPdJBT3MFOvG4aP0QkCVwYggD2SeIRPAnlU9TUmowUPk0YyQGXG+ni6GTks04T/QEZynNZBFKXglEegwAENft9ZH6nAIb6nGcAegbdjG+8kkbg9UwG5BeUoXj8V1OA3fivIL5HyQOVOBFKfPv15PYbOWzcI2bAqOYdePwVchhImj+YvHV4Pv5x+kZ6n61jPFn0IDO/Ox0TTjS7zZEahCHgXpORJEmSJB2OlKBGuv6CLjJU7va2zfb3m1jN+5yr003pt22sm1C32C/2+KW+c5G7dUbqPSm21xTAm0wRbpNeavF6D3ro82vCtPluRmqgjncUv7yenB97V7Jxj5pfXhceeqM55zEKOV+81u19rrHwOaplz0q3eTStD3wlIlQaGHU7TXMiKTakVqW3YwE9B85AbcHztmMo0m4QKR9bW7fGucXt850hNxiqyZRqqgEaosVgbfs8P74f2O1aQlFfg1dEggVYU8Y9Gvr86tSOnMwGZOnJaRHVlyplJcxvR5FqlTRECQ0uMoxMtMctnOUYmSynFSta5UIhdZygr/1IMGW9z9VjJhBGSaCgtKwqZenrNgYBQ9R8IF1fX/6mjelWTYqsWr1XKejMyrd7q9+xnRpz1OVkHaavBp1USAIKz/8rXXIm8ThPhykrCGCY3ZR1O11He3zOKmXQhAZd+bZdzgcH04RBS4nP0hHwhJHNAIthT1r1rh087PErPYjiiukYdCXdubUqlSWv0QVmdGrQVUbrURpsYyvesku3UPg1tBzmtO/QeC68XU/VFzxnQaRjAp/hC/y+dX7N/S812o/XzGxl3zq66U1fQXe1/dEaulyyMYWMATZ1OFanAeFJM/atcbUQaz6QQLymUxRmYekhRufp8WLW/xK6dm7ze/WUpoBRJqOWw7VBV3uFs9zN3zj4dtCdZv3VhS/40fQjZdTy7XMcNJKu1Vg02u3Gaa6rFM50d8wn4ex4nNZpot5mNCWaEJGs+14IQEaMIAx1CSctSZIkSYcmJezCVr1jD7vJ6HCMBj0qclP3v1Rf8rq9Y4FLKodR2IxBVxvfv2yZubHY4TWJ0u6M0fpdYgTJ8KB3YcY4gDSw0DciYImgX7yTYUTzGUEJ7VniJhnYoaWGXGd8c2eklsMf2I+O/L25c2HsTfg14gts+tpJQjAAIlAwACJW3IofH1c+XKaMvMMc/4SZ3z4hgy7TWCwMXQ3CmJRs8pr0VTMaiNuuFEYFSoiS4ERSvwWluPyf9sLnrSY9iZGepRR04CmrNKXdOMofDtU++DpjyasWdLaRTVvtvhfo3//N+u4vFpBll5M1PIEOxhQvfNZCp3Jbw+VHQQJLNrnQcPtWu9ktUhhhup5Ck4cJPfJeE9xhYgFYgTAseRWK3G09kmJvABf2Opt4ZTWlTBQUZ6WrCtCD8r3OgUXqADPmoUeYU+j1PStcEfAebe53MSXfwVQCRZGR7Jc6wAH6uOq/tgh4CCQ9/2lr91JKWVBW6Imkfes/c4DRUZuwpQEPDfttTOAVfhh2+Vt2fMaJRc9bRavdRS/YK/9DkewbdKboguhR54l6QccUnwDwCvCNwo0xDTqR+QS4pO+FOsAiPpy+5+kiHyqsPviyIGmUSZspTfup+Cvaj8k96jFqHFxClFKjyFv4nL3lWweC3bgXBRNC+4+8x8xOjGaEKVB4lFtYOlHJohesNkf6crjuM2fD5w7GSoB+2BeX/cMmRm/aR//JVCRJkiTpsKXEzI5hZdpdEWgFbOlmPxLJaMjajqaE9SJe6uapDtbE2Y9SSLRts91R9wAEpIYJWHxhpAGCEfkgFX7GcO2H9dt5K3w723yQn0hF0Efnh6GVY4xqmCqgNsKl+4migcV9xh8i8RgFdoX4AkkRLLRMQiFQflAtk68MY5cvylDQsCiX7XOdnQuxSybjx6IXfFyl0SmN1AkWMJKwlOS3ZxNfCaGbwAGizvWf2zCrAKUFQfeTaM9S1670eAhbHn2DxXuR6CfUKYwQQBuYKQzFyredia9kgOPkq8Jr3qetfJ/z9W/uoBGAYms5VNs01SE4uNylMWFKyhzR2N9vm+M27qGKdJLwWeS2Yav+Y9vVXvEG5cTXzXdPd9qM1gAaAB3WT3aEusVoAC11/6WOoSjZ4JVuPpCzGGjPor9RBs2yLcroe02o81bDtXlPEUjd9JXTchglMgT4hrGh99kUMG2lmE0eBNZz/GAweohSV6JtlKIyi8CNUkPg/chDiZIjwoeI/wL3dD9DB4LpMklXyablFa93a7Y2GEBGRHMNIwpmDQOS05ImCRuAbXNg8/MqdlC6CXDcs8wFioXXD22rjB7roZY7fsASCMmQ641QARMh4Ao6q3uWJbNG7zZ945z0jwxxkGv+X3hgGKrBE+MAAhqDj2/iyxnAvlaZIkmSJEmHLyWf5FV4zFmxQ3Vtb/ZjFjwCFE0kLoJc7e5z8sSH6FzktDvDjbqxvavoHC4qpLQ+8WkHuEe/lnCllD3uVH3XIhd6Ai/iv9jdohKoorSvmEq/iwzsOGsJW4Ltb3YzdfPXCS4wlYfeclK6xZgy6vfmzAci4RJv6m2RFkP8xG88WDvzeMBeMVww7KuGJ6K8i8Y06a3qWQzgRkk1Sj1/o39wdhh2F2Cyfhfq5NrgSjdseXr66PueS+NZ8xAJwJMI9UuHgtXoPz88l/fppWE0uNURqpnH1rxv86wCzItLZeiliszB81AqwmEh9Cj9i/aGyqtxh4FE2HiNuYxyUIshxRNgPppll3ImKGlIyIzIOG1H/NFL7F3CqSOwBjh2Ix4/X0J2Dji5IKifXhLOakawW0kxbkrRWm/Wg75xLhYoLxD4OliIPJ6+AD1yqnlarvB+XDAUI1hN3X5CN5o4DUM2GIgKEAzaH2qgjLk/lWnE5YN5RdgfpSpfSETOL5hwNk8jl2L30zRUAg8a5eVO1aNG3VRYHIlRgXLUYyFFkiRJkg5bStCEzQdqmY1ofaTjFJ4Cw0PrESyjQBXxVUW2ObgkoCoyGrFpd6aOfQ5N2fUUvbqYzkwsepFOS8z5Y6TDsbpjUQalQE3mtaPGSvjhAAAQAElEQVTcbLUc+Oh4rJ7VmMENASdC4SxKb9TzTKN8m5vbWl36Om0uoQA6HqtlNqT8vRu+ICsCrBpARcEJhpTUuLdaVuhaVQkP4Q2hSKZRW0/HCRpUGiwK6z+z0f5v747AhwJ7fsPO1KNoPylt4Yp/8awIntL9V3R4Aipj5/e+AQbOIDR4yzSn7Thtw+TUZ4Yo1hxlAmIVuzA4LPAcuZHUN1+osBhAfkca8wKDELbUHY+n1IkhHs4fs9PzN0bFDhcjI44cwXGAHTk/Dc1EaLuZ91vdTteqdnv5HdTFL1t0USU6mcJKIUhVlWb96YRQzJ7hUAGR8Kh4ndf1F1rDLgzDDtsYpfP80O5znlG6yc1rqzqcEQwb3c8wKndRpqWilbDW+FOT3YxSJWNwgiCqLYf50BC2ioodnnDEUI5PPiTAsrmtHTiMPrsiDO7rJ9t9LzBKNpAwuBaVQPPgjoHhClaiirirPZW7vA5Ha3ZY2Trd+e5PVsvhmsisvvFzgm/NB2iZjWkwg+wWCsdqjpUATeBwhDAANMCUsuBpSn9dsZ16hBGomTgQsAbWLMwIPgTYL4UFDo5C6pHn2+2A73NbssyGmpHNorsFgjutRqo5LZgw8gnCmLQbqwH8wfL05Y2RridrVfuobTsXuFYFhcyHrMJnV7LRE8gVlaMSfFlwtAU4vrzQw2hjYIvW0P0vvIUymAJK4i1JkiRJhy0lZBUQl3Up+Uj0EKgeUrDVo4jpFiVuBTSB557Ce4eVdGcAhX8ExvDqfZ44EEp3LrKYnkFZWgKNhU0nluBa0AZdyebXRkTOWIUnqjUylUiFJ6wC4rawwtM1Yy0WSQ+gpGtflykZUI1YnFrIZyQIyAnwCL+iKpQUPYLVPVzsBS+KhyggeoT+whkB5Ve1x+cOa4chjCJxD5NGKXgdwAsQBD+LxmOsKA+llarxvJ3xr4MvJdB2CM0Erxv8Ahd+FWOFgcLgoPHUozChTJ3PEVQpflX5zRRREi8CSAUmCrQqqFOEWqd6qul1aHQhMChMV5EVfxzwJ96YBEZocKRcEem16d57Y+bPWsAogzPi1STJIUCJGqJ0NqgWljDBCPoeZcSIiQGhe/IsNmu8Xl8UMZJirGge+aSgZjysKfCCO57EWwcx7KIYjWe1Xyf9WpH6K8BYAVYqij8jgJLwPS170wawCC5++3VqvE4OWYTAi6YG3EU3yQbJOyVYK+Qq9Tzb/zbBBehEODTxjZg5Ch+W2ENUSyVD1GA8BNIVX3Q8I0mSJEk67CgBweynqKp0nqhj++vUKfFcbYTFNLeVWvMMgSRJNalhFzryU9PacbgQ3ENdT9UWvyzjsUiSJEnSwaR6xOTFxg5uAuVgEPkgJHyRVDeqxdV4WBCMkRK+SJIkSdJBJ5lVQJIkSZIkSZJ0+FECgjFz6B4vOdEryEdOpzEsce+DXyaqip4A4LcqnGp+PCV61CBS7tlVdeXqnz+IHguAs5/OqB5QTjo4/u1qr74R3/0eVdax5IGceQzl0bHi4CTKoUnidMsPdwseOvS/6BHqpIs/rhKkGiCJjab7xixnNmTiyEu95DDpK6gvxZ/X2e9XcMBiHF9DZmNmV/IMBj96otCkc2M1SZwrwnKUMpdFivImefcs3h1PmoMlSTo8KeFidGYT1uEYrd04LZRHv2Y1YUfeawKdYI0+9ukQYwr+1LSf2rgH/SvoRGcbjUzW80y9SR+17wUGnTGsA2HtaDFEaz5IRVUiEhqUfdM+Ka5odz9d32+dVKD+yzKW43GP1naVdPB1FCBVlBz78IEE/sptTSNjZO3nku7AK31GdSd0uVGPgxMQHs0Tt35SEl0I76PW5ZrxDyQIWPOBKjsYjPRMJiLapWakKy2G1ptR9zP0lkNJ4GOPPAIN/o8uxZob9ltDrWfAxuaDKCxyk94HOJVAJOMfF/k1FDRPM2orzAW+NjEefG1tcghJ6HOega8eK4D2U1zBxpR1/6VeSxwHiHHL4WqTnnUdTMwaRr7vhQlhNjGGP47AS5Ik6aBQwlpfssE1s2n/Wr6dQIFm0AWiBp0pMwCWS4UvZBu+cII7O1A8A6/SFzxj21Xe7iVuj1/pIpQ+lgAopF2L3JR7NeiYRt3VpW+QyWXYTea22RRv1MhhHSdokXIKOS820O3Hax2P00T+RZTButlmtCZ0z+ZvHGw9GY/a3qAz2/A5vYICrYbThVXsj6uLlR3zKa4uHrYbq3kevULV8r9SvBAGg5OSjgDj0Jiyzd7eVW7JRheDgMUul4eY2/Q11QN90HI4RZoX1abcw+1Z7gLEBFl4MHSAa+Lq7JZvHWH+EYwqdnhFa1wMIBZojExeG1Y4yxXXdjBWrUfSohypUDAI6FFOC9bqCK2gI8tvy+gOeQ3W2U0Z3fqp9ARHtLBhVzVc7AEvFq32Sre44tptwy5qfnu6hauFmLhz1OZIYgRLW+EsBwYG1IM+Nu7J0HFxWR3j0HaMBo7+YKaizEasBc/zULnb27HApbi0nVW0dvt3briEshm0HatV76PrOXTDeQYxws4ePWrWX81q6viMQlSMGE3zhQ2gLb+dmteWxT+MJzDK76A27MJKt1L4XRHJRgSGQX+34BWL9twYTKDnzEbOxs8doPeCjmpBe34FfY0H4U8ZBRGqEaK49iOnep//BFPQbKC6fZ4/9Gjw5qkOysTnMxJzTXzTiAc+ENS8b40bXKGHBRTNQ/uLVlMEJohoXmsWLoVUxz2M73I0xxOL2mMg25hrCjAtRikq8OLDEQJPYQKO1EQSpa2Jcli2hQQecouqGvdUc1qxwhkUjQkdzGjI9q5wt8/n9xCjAXuAZsSX5UZIUEMFlE6VMOIQDSIkZi27hdqwMyXyxFzjvznNKXQN/lS2zasp8CmXC8EIncW2SoywkEOa1m99OWwziuZo22zXqfZEDjURuxmEccC4YbS3zXVFkyBvpZvpEhxa3iwON/sC3ysm8JIkSTrEaT9bltXvOU37q/HhxWCYyW5G/6APRDQtMl8nrtFYE6CB0m2YRPSwJBU46Cpj5/duuNTDiiae7FhIUVt2LnCxdKI89sF7lrlYYfet8/pd5K/cZYVwdTGBrvDDsJuNqiIP9WQ2Ii741+UkHWobq3/PX+sibNrga4gRIFq6oLegnYtc7Kd3LHRKt/DbvzzgGN7au9KFrhXB8hUKb+odeY+p1c1AU9BJBVxADfvWeie87O92dy6kRXznQqdkEwVnw9hCu6Da8U+YZi6Dmjnu+RB+RceBEcUFXeCAXYtdPER7Uo5wfgfSJWJABvJUQVBgQ2+iXgMRQhWJJNitj9TwZPhthoh9B45QXagWOk9gtXCZt3ORg9EGEhVZEjHsNJhr/BQTycToCvGI3xEj/EM3xQ3nzidSj0beZcLSBrSE8ccPNNclXkF7jpkqvF0LneL17i7eI4xn7/N8Rh0n+NtuANzR95tU8yK3+cBk7iKLdedJ1KOBVxgi2+W4h0OiR/DRCKHCGOL1kk0uegTBxxS3GKTuWeECvvS9QE/3KUACAbaAxjB3optAFaWbvPx2qeUHqAJoDL3bt8YbfouZLoElBhbIFdWK7BaY7qP/RB1EU0XGafwPUjfh6RAeNuik1sXAY2YzCCSGERLS/bSYwOMJsIUQeNSPj6hopVu81pvwrG9OwbBA2ITAkxxClw/T9q32jn3aBK5S+GFkzCPqNLP9nQxADxqGmmFoxNCZeXTpXfyp11l+n808Nu5h6tS+dS6AbEYBG3iVLx4xgR9N4nHU4yTwNXsEowhWEjHvnU/UFS6HAy4n8SjZ7OFjEZKwe6kbLqY5oo5w0IknYq0YfquJGcHmSpQEl2b9Uw+lL/BrfYGXJEnSoU/7OcmLhXjzVBculUBZQuuIrSq29UVrU/tvUGDu4/U71TLnjxEs6JEyZcLTJoVHU8ifHd7nVe3zxOGDZW/aUAwwZYfyFbHo03mdci9CWze/GeWFHlYurD5i/wRNCdzTbiypUphDUAO2/ltnUv7FSCn23GmdT7AfQEtVF1HmPIom4ijL3yLbUg5PnwT3AQzyIluTSDpYS7TZgIpWuSg5+j6s1LGAs5V7vHCJUrVXQXuwVx51twkA0bQvxeNvNVLd+AUFYRv6WwM7wvWf2WILjk1z1R4MlBefRXK/9M3tERghVvzLBqaZ83jkiNuMKTdREP2pt0VaDtU8W/ni2nC/iw14Q6BUUBija1dFGe2ksCLZjchSgq055RNoTXavJIuFqlLupKlgFMWm2CsDU0LnDbtJRe86HKut/Zg2zRun0PQIPa3wWMYYB9iNiJFLW2EorWb9aBDAaO3H/i2elf+2RZcrdyfvjkUyrG/vieD16X+IQLliyr66OdzzNwYMQpj02TyLJ+x2mFnImGAEIVn1nj3m/pCRDQMPxZJJOaDAxBB1qHA/FI1HkCtSztQ0Xhv0F3AN9gyoTPRRhOGpSahN1EyBEBlQpvr5VRRvF4Mz7iHzsyt8K9MnF1fjYcrEFClp45cORgkCltOSelRT4PGBCDmESUOLhrcmgS+JCfyY+01YuWC3wCi1GMKzdIWVb+6I5LZhbcZoaCHgFMyfmE0MAmBrLc6dhc9bYtZUwxtwmYHZCSxJMYHvo2KUIPDrPk6eWWAg+NogbCgAAYBtCVAVT2BBFHK48St6pZpPkPgvfl3/qQOD3JBrKcUEoJtSNyI53B0TeEmSJB36tP+7SJW7PKwCLYf7v26bF7Ph/2gecSgzmOXhXJhyYxg7uW6n1+kKFVahLd84IgPOwSWo9slXhev1Sl4btfUo9etbw/DXTHgm9cC5HEnEP9k219n+nYMlu9+FBlCUWKB9YvU5AFTrnpJyU/9K3zCZsh5Cb4motTVp5X/s1e/V71YwUMLn14QDE13KfXbyK4qy5n2bgh3/AMLeHUKyfa6z9DWrQRc12U7GW8FPzGjT7oqgv0fcZh5EpQV0i14rhwLV6BRUO9xSJIcZ7OgnU9sPIYc1xRuTCOdLQQcv2T7xA8atpsAnU6rKl//TWvdJWh8P4FSzgVpuS/bVTWHIG6w+/vMf1FJJkiQdipQABbAThWNYRBqt2O5/78Ar8Dd3PyOF6RX+79mPRIbeaGyf47YaoX33Z3+ziUUEu6uZD6ZOEI2tZ+lmt+1ocqIXzva38rAMG5m2nq1M+31sx1q+w8NeHDZ8GDDgtwKWAo6hgyO76rQWQd/vXuaKwxB4oXCGgxo6T1JhLQgVsHReAEHFG1wMhVOt7FubfIoBu7Svb410OVkPczwBhJHuThMUJ+xG2+e52GdjxwnXVavhGjxQetzxZDg1ABooEeNS9+tbwnCCiIx98KHgrZG/N2GJwXhS2oHoDGDEsLlHv1AAro2kfEbYScNS0rAz/FYsyIKJ6QBAadJHnfukhU5N/V0Ebrvd8DX8ShcpomB9gX7Kba1hIni+CE8wwiYedn6MJDxx2HD7J0scZetMp2YGxGX/sMEIDVa4eQnuP9hFKm7OWAAAEABJREFUyG3HbWYY0upiJR3BJACnALbRmGuIjc/IVQpnOvu9KgIjx4z7I0OuN3Z853Y5hTwI1KPuKmQ4q4nW7xI93iJo5tCxiTC3ScAIARsDhhdKPZ0Npk7EKL15037azgUOap77hAWHnYi0WzjHcfYHZjDOmJ2xD5trP4DxgH11S51uUkEOYdLoPFELl5GPEtYI6GpM1u4ldKAHg4Bxg1EhJvD8xA9MLPC9Qg4b9VDj02+VcIEnOVzifnl9uP+lRhH3msEXA5sEvIGtR2jiNBW+I8zLtjn+J1y8ngxa6Gwml0kjR2nQJcWXBSmFPQZIcQvPHYFPe9+aZIEv3548A9Ul3sYpNqql1FcnaotfsbB5wB6mFjkEZTYkCzFWpNajNLpQaSv71nOXk6IEAq9w7zD2FZB8jFVgGQoEHu5F9+DvfSRJknQwKSEmL7Qs+blVcmpgLQsupgpbMfQl/pp8oZHRKxSwnAd39//EyIODFTad7oFNmE518AQx4rytZlAlWJJEqiBBQADYRfHb3WTXDeXSbUmRahiVizLkxKkiRpS7IJsJU39wudRnxAluKVQi6hRParnFisaYOT5rLPRh7smKBfWnc4W+8RxKN92hPyAVkzdJHP6loy0qNZ7C2MdFlxeMMOYiRYBwT4Bv8JbCd8AUSJ4zCrhTloDyZIs3vZJDh13wnDJ1l3h9LzRg0qC8AdWKGBY8N3L80PKwQOB5wAjDi/EUjg9xTYwSLFjESPBVuMZNd2fVj4LPUQXNER0g9VP/iMwP+FW4BeOv0DM6SMEA0fBrJI4RJITSAPFZw8Pa7qVH5ZDyN/FUA0GP0Hgn7AkYQYxymcjPRfECQvSK2J4L8UhJeAXjFq/Pku9sA8E0ofOqYT6J6IiZz4StArow3VeAEfCcWCVCEvCrXemfaQ1kO22no5IgkgzAp9nrLH3p3+n7EV+WEgg8bwzUPw1LHneZ1SKHnj9KCk97GS/wEV6tSC7hH8ziTwCS0Fo1mtZUpNGgI9UsIT8DJZ3I5JPC05LQ+eI4gU+Z4iD2CXv8W3PJwGbWkENwdy0ut4y/ItYKh95Cm0WvFcW/Ay9ulVN2iyYYYWpJkO0kXuDlLWtJkg5xqkdWAUmHI2E57vUbffk/bVdGhf3/TtC+PX6tL3pBmg4kSZL0syAZk/f/O7l0fkXuJn8OBEMR/CyKJEmSJP08SCKY/+cES/uhHBT4f03wUHjc6/FzoP9PsZUlSZIkab+UcA8SbmmVh8lSDeXAifk1ULBL7r+GdznpSZ1apvO3dCUWKEw80ZTgNoQI6iV+jW88OeBT3fCklvBKRLSYtD1QE/jG9yhdoAiVh1Dzh47F2pZQT62MGOcifhbdTFFeU1idA7+Kyg8W0bAnDkjyVKZ8WHMw68BIlBfhTGohEfclHTHmxyYJhOHA5FCSJEmSJB2alKDisNb3+o1hZNMpvwXPWgfmeoDaGHApIaDqYm/Fv2zsC7Obse6n69gHF612N33l1PFARt8LKMy5XU2RYKwKOvTX/xIDus2qxBMLdgW6Yj1C63KyNu3OCIqh8T1/Y5jZpJwKOqnf3hUJlyZvvY0s1vM3uh4iNdbuKO3fk6pTss5vrx79lPnh2WFRg6bTVSmFTjUS65RXSzpN0hv3ZFY5/bzgOcu1lPZHaY26q46lrPvELt2c2giQ25p1OkHfMs3Zs9zVMpSj/hha+rq9fZ7T72KjvNCrGQUko4D1v0Sf9XCdPAVmDjvhpdB/z6hWDgYd+0zo61si4qA0QMbQG415T1rxm35V9Q/cxD8EaGjSh3JHrHrHrthZJ0tIZiM25EZjxh8szOOk10Lv/ao67UHpTFbQke1eklpMVcjhZUbbMRoGDX60sq1eTkvW7VSSw70rXIokKw8GSZIkSdLhTAkIpttp+pqP/KAjAr7omUqT3holDVhKgXGBRZxqCmZVsYOiaqasEQoMKhw/5LZkjXurxWsp2MaUm8KAIB2O5VlI6qY5yKPPb7Ic9aj55fXhwdca3/2VQBUUUp9zjYXPE4v4TC4AFktfsxS+Lx/7sOlYKZpnVXqLX7Z4vHZ164yYYsxrp1budIOrEB2O1ZK0JoDIkletSa9lQBc6Yf8iQ24rVlboX1jAw6WvO+Kat1CNG79yNk119BAb86CZLugFNWO6g3r2LFdEnS0GqyUb3Wb91PLC1HpbM1nzgSqUN1Ry6RbKeICfq/bSbYv8Duq+NSJ0OmvSW/Xc2Ai0HK4Bh9lhZfdSh8CfShHP8tuqu5a4kTIKgEZgK0xXM4A7965KcY8U7EJ5SriEDCQFHVXMPoZIMALO8+PVKnRrF38t2+JiZHiXCMFsn+uYuQwIBowadqc76llN2fY5FOkfuDO/nQrQjF5sm+1fnMaTht2YqjORnwuESjLyGcoD6olraKE81riXWr6NXgCiAui0qjy86ERIVgXKBMc9K9xFL1LWC/xavs2DZKLvnSellUMIfHZTNbMx1bltHt3hr9pNN4PQTkxW8UYXLFAb2EHAAJ6cQyPsiyRJkiT9DCnBuL/uY2f846HcVirF6We0mg/9rVm2lcwDImhpy6Ha2EdMqFjsqoNbysnk0cmDjAZs5O/NolWecAeAYGwg70Cdrffiqi2dYFCFh4JBZR73fIhQi7hcyRP0BNEgUFJcnuxzvjHzgdSWErxCl7dNNvg6I37v3v20hED13//NSkrRYmRStJKpt0WELiRiSutRWnyvj34qNPGlECCL6CNay2/2erU4ULqdpkHTN+6piqueCr+83aCTuvA5KyUCAzXtr1IsjbUuYBZldcjy8xBhbAdcSnjUyFJG32eWbHazWzDMIFR1j1/pJRsoyDqmEpYtPDGyWccJetFad/QfTH4JloK0ZjVjKAOoAbVdk++iF6zmg7RmAyhob9/z9dXv2loGG3mXAUaAIzCciGIjbjfBq9PxuhAP/A/4rGiN1/9SXTA68h4zry0rWuXC4ETwK4ONfcgEAkOPBl5pCPflhi+cXmfqI+4wdi5wMbBoD4aU2l/oBkHYgFdEfCBF3Lc6W4edr3idW11EAEXMNdAGZ+FLoIBHQMAFHVg6+6KRSQGXy7d7xRu8duM0CLxw22FaB16pq3ww4ZkqXu9W71VqSSEpSZIkSZL+15SgXSPl3meXVTfozPqcpzMeEx1Omd7nGh2O1sY/QUcSoCa/uilSucdb94lz5L1pD5JA9zbtq1I+o+gRSigMiltVzwOV2LK3H6/xIPc+Lfu7HcMWXhTixBHj+W7g7KjFBdakF1v/qR0fhu67P1vxVgcRSMOvUKPg67A9AMZ1PVWLnSxxlVXv2kGxTV87n1wU/uLaCLxU8Qd3YJOA8aZmGzC8epaS20aFp4MyT3HNjTYv+6eNHmGE07V/x3y3cjcPRa/5R398dhQGg3AnLGTznorAcrD1W1d0ZNciFwq+z7k6bDBLXqXAMAAHy/5hocyshyPwdlGUGo8yR6Jm2DDSpeABNmozShtwhcF0Gvn89gz19znPaD1ShbtKlJl2VwSVrHzHHnaTwXMNMuCzAZfpBR1UccoHbd7yLTFa9Dcrrw1Fk4PdqGIH9QjGPwH+nGpvzuPWp5eEhTULz2HyQfv7nm/AdOQPv0WJbKKjSUO96EWLshNUeMIyBwQ5/68RmGraH60Fb2FUm/ZTKftPGiSNUd3wuSNGuHAWBbMPznIxjQlG85+2KPx8OUUplCRJkiRJPxUlbyJhqIeCEVtbEJAKJcW1lQXP1vXUAKlVk9K7YFcN3wT23y6P8bVvnduoRwwwiQOetdyegFJv2lcDFqHsuB48IB5U4OapTmbDtGYcFMCmefcytxb4AvUGN8faj+uaeZbiC99jznyAjoDsaOq2HEbZnpP56n7EOUqynenrPDyENavTCVrKC66MTo0Yk68MU/bgDKXfhTr5yDzyhUFxZjdP20fPodBqNY/oMpWlPJtMUVM3uotfJlPQgEuNDV/Yu5emAJIJ8dniGhnMkcOZwnyCSYQrRxQAhisvJCfLgqdTiAfKD7vZmHIjvb/8TRs4eP3kNMNeI7wvHECBixC+Kpg9Fr9qw9nUamQoXQ2xgIpxfYfnCNCZx8cjzAc53PilA29pLSd5XdsPXkdmvAAj6bHj7enSTUuSJEmSpB+TEmwwnSbqcAfA/r99Hg8Mv9trO9aHMoFdYfwTJsp0PEH79p7U6AMl4aEAzhh5l7lnheuEvQXPWNiCZzSk7Xiw9Oe1U7EFV9ITfBMZDclyAwM+9tPfv2gPvpZY978M9gNbMMpoxIJYtwqBHtb9l3QwthYFA6OIkcOCkL6CBl9rxF+/ogTOqmLk8EsrnjL93kjHCZTVefT9phgZMXLkRIheO+p3kYG2wUNRVQTTEGeUT6eG13xgiyCkNYaJFLxI7BcpI6UICBKcLfXs1DoS4xAc0HG5AYhe1On0a1YTpaAzMYLnbsgNNFCtRqicDz9+xMcHdhdMKF6El63XWQZGb8TvTMqNxx1/sWqjrKHv4TkSfbQrPbi65jxmfXh2eOMXlEuzZINHKX8VfwQ8/i68UWDd/TR9zh/pvBGqqi7ifSznMYK5xQiGHJrHS43SLcSpYXcViC2zAYPMCFeg6CP9zFsFjyQFj+cnrOOxDvnpRFOjJf0hisZXbTdOBwwaeqMhUkNACGH0wjzmtUnrRQpeFwSLTkY++ci6nKj5jCwf1sTPhSRJkiRJ+vEpISavFiKzB/RW4Wx/bYadHE/0EGnKbXOdrqcQPmjQRS3f7pVsTK0EoKWgKnJaMJQXh1EADoBdsA+GHvLj4jOoW1XTFUCcdC2DtUPn+23YNnYu4ueIm7IGnVXYhACtFG6kaXUE6RX4g3YtpqTHaK2ewRLSH9YgaMGKHW5S/PKEh4yuOGEQ8CuqxX+hCwlvtWbbv3OC2Coi33XZVt/dg/427KJCjwpdC4I3J6eZH6c/eBgbJZVyskCF+4czGhJKgyIvWuUfxUVfaiY9gD7ObqaWbHLjuWM6clvQKVeUx+Dw12nWLB6cXiSdaTXCP8lLParyjyHnt1N3fu+f5G3YVRXphAAX7GpPdBMYC6giyEKFV4DPoMKh0emhx0/y9lV1k2oGtoOzBi+i46WbXbRN1WMlaYhaEkQ74cXQV7dEspvRuV1MGdiN+B0lrQTOEymQ4FwL8WO/dD63gwrTncjXDXQItxFeET1SuHBCqIKSxesoHxA9zGdwS+FhQSd1yPXGlN+G/e4YSpPeqpnN5TB9pH8wik/Q02q4hvEBF6Cl4vV0krdkg88oqaQkSZIkSfoxqR5ZBaD2gGDWfWzbP/j+BTRx+6P1tR/J+6w/L4K1bNKroXdPi+FHIBh4mr75nYzFJkmSJEmS6kf1y4t0sCKc0jlKJg8T/OxIXEyLD8QibvpId4wkSZIkSaov1e866MFKN08YSFrff34EzJp82FZiF0mSJEmSdECUgGDg2jey6JAjnYSopsvMsLi4Dr+yy++kiAAe4lioE6bb12H2tyAAABAASURBVBQ2hj+0Kr16RfcSGQDs+gSMBaOa10BSPqwvUU+9+uEzEfOeOl7uOalepPAnOo1kMCzwoSj8qrBzyGTfQxfoPOz/2JtHc2RJsCJJkiRJkg4mJdwGaj5QG3aTMey3RoPO9DyrCetxJqWVAdSY8EwIrp92Y7UBlxn9Ltbxr+upGgU1CdENpv6XGh2P02vPYpPM2FCO/lN9XmDKEbeZNW8R04Wmg5Hjps2RdU44JJqjKr3PNgZcpqtGavbtxqkj7zKACIMnfc7Vxz9hapmHUEoeI5O1P6Z+HT8AMnNYRgOZiEiSJEmSJB1MSkAEW2c44RK67iGutOgh1uOX+obJdHsFxgaFZ6KZ+2QkMCoATwy8ylj0gr260s5syHr9Rl/8Ct/OM7pOAgtNLaYRprH4nACwgsBo4fGgtDAJiNxMgime0J1hbiIiy4epiOxIeGRkUvYlxl1SdK06R1xupnfpvjQHWFrIvxAEY0nKEzywBuHF7fPEHdy4eniIv5SGGZTJaMjMXOX7l2w77GmUL5CsUIB0Rg4TjNZ+RHdt4lHd/KetYTcbInhdfEkKmmeQBSgpEDC4YExEKiL03aUb1xSEV9jAqG12CmeceEuUoetIEWKEARHRYoTFSHDnF9EV3UyNLcQ1dbyIqvCWOLAibmZhfMKlFM+NMSY6SBa4iGLSDHpiwMWsKdHMDxGeYSq+TvEQ3UfD6MI5H/mqvZ401UiSJEmSpLrQflIGz3vS6nS8Fp8PWdVJ81F+AJ4nGTYGaK8krQMFOfS3Rt0TXAND9L/EaDFYbTtGy22tCmPPuIdDzfqpzQaoQ38bi9TGdNb3AiOnJY90Qsl91F5n6SLgCtT2pNdDrUepeKvzJI18WyFKD9l8EFVCUYbT9FXLYM0HqwMv10WdnSfqzQeq+Nesv5oubDygVdM+FMWkaV8VXMw8BmMMbx7FpmN1OFyEMjDJiGTOqA3tFIo/njC2xz3nI6BmA7TMJgyMTvgbDQv4op0pewSjVMthKnrdYog65j4Tc9TzTP2I2w28hU71Ps8QIQcxIHgy/BYz3TRhVE9+M9TxOA3FBl9H0W5gZlM41hxxJ1XSqLs6/nFTzNGYB0xVpSQJI+8yBaN+F1G9KJbZmHWYoBV0UkWdJ74R6jSR6mwzCnNNKHbwtbyS/uroP5i1JAyXJEmSJEmS4mk/yraqyIO1A4AgeNL/Ev+VslTJkwVhk/3t3fW4H5vdgkHPNfAouP6Ay81/T6TTMV/fGsaOP6OAdT8j1khofdiEKEYIPwRavM4tWsVcxzdEVGz3YPmgFJIT/AbDDFDQQV37sb3pq7Rbe1gLdiyg8MHi18o9XpPeKmAZJdZOc7IH9o8t3zoNu6qbpzmwnRxAdHk0fsd8t/3R+oYv7JZDKeoJONblRby1aaoD2AGIANDg1OhW8Qa3cjfr8SvdzKOEiOLhjD9EMBSwk7U6QtMylDH3m1/dFIH9Y88Kt+XQtF4kjD8GAT+AY8pkSbMfs4rXUyqlwdf4OAjzTlFeGjIRCxEsyrZSBsTAlIUhXf4m1Ym2aSaZcEIFVD9QLNomDTCSJEmSJKmOtD9zgUcx0LqcZMLdIGjRi7YT4brWVdjBS2wHXLJ9PoGPBc9aifyjxBRs07Oaeiv/bacuUOMpFPDiVywo+6E3mOU73KWv2W4tCjIaaLVwlrNtjgNrwVGPhWCCAiCopfwB36gCyNs2zxl1t7l9HsXpX/Ja3Q/TesF/UlJGAzbkemP2IxaQSpsg96SXspYfTF49n9cgJ+wVznAnPBvCgEy5IXzonHGWJEmSJEmHOCX4IcwcCqBu5pBHJjgei03zqndtcY9GiWaNEYc28N8Fz1hDrjOwQR94hbHmAx8gkBfpRv/AR03CthtaNqMg9qRqj9duvAYLAZ4HjGrS7qXulBsj/S7WaymT0DeD0lLCirP0DYuyKdXhJfhlup+moxmhXGXu45HOJ9XplKsI7Y9ByG7KOp+kB1kD0QAzmxlZsZKwOhg5SpB6EDhj3KNmySbXrk6h8x2LDhJRtc3YyDsNkXCx5XANv2KakuLfB5TTnC1/y4Zho/UINeXZarR21iNWvwtp1sY+ZKp1c9zQ3bQQNSarCWs+UDsop6ep2jBlmc5rTdXCk6jKZM+SJEmSJKlupF144YX//ve/xS95bdXclszMV8PFlKwHOtIqpzOz1fu80i3evnWeU62E98Wdh/VIsVXsII/A2o8dFPN1KqOTs+XbUp+cBUpoPUKD52jxy7YI947C279z4ETIacGggPetpxvI4RKuoT3gGwXcUSzMcxRvn+einQA9glGsJDmAlNLN9BxKGg9B1cVK416w3LDtc116Jb3NACUrd9OhYDh00JLs5qRTV/3HruWmsVVBr1BSIRe+EqVJXxWNX/2+jY4LRm6EuFdsV4JcBPBYFXRUi9f6AwVQ0u0XxoKnbSfVrXKMHkxTLYdRigYYaar38dyKbVQ8B6M176duW7jUg1EntzVD+V2L3X1rvaCd1M19HpqH9mBaG/VUV7xlV+5W0uVhqNjtFa+PZRfH6w27qQAxGz53SjZ7HmWH9vM+VvKSqJMyIfA34H8MIu6jnZT7KRwrqXAAh4d05ukoHYhqzXtOfju2Z7krHUmSJEmSJKkuVL+YvJIOFlGCw9FaKJdy9IRLvDpGZAnlw1DBkyb+fyEYqPqcbwC4AMqECtjaD21XppqQJEmSJEl1IGm1/2kICrtopQujBV14rrPOhrPpu7/8vzoqghFY/IqVkU9XrGGe8Q7O8RxJkiRJkvT/nySC+WnIdZTyHfVW184Pzql5CBJcWuVVErmkJtjqZAoOSZIkSUpJqiJJkqRDlbqeqmt1jqskSZIkST8rSkAwWkhpP1477rlQzzPTxn/bL2kmXURCJU16q2LxDeWx8Y+bE54NFXRU1TqHsG8+UEUlAy4zRLQVuF2wmuNJpxM0nV+xYZqS15Zu04gbN/jv+CdCKIB/p/4nI4irG09GFjvmz1TghL+FfvlJRjrWmY3Yqf+O1aAayqCrqEdoUrqQa50mapNe49yfDYkLNegsfj3qj2ZGw7T3dvAnFMhuyuMdZyhHPxXKbU3hdFsOU9HNFOUL2LCb66rQ0P6T/5mh/BQUymej7kk9UpgmDMvwW9JeVctsyE76RwbKtBquZTVlB3zpCTOFSkbeeSBR8owsZdKr/j0uDCMqQVWNevwguA8pOuK2ejRFCPzga0jw8tsxfAUTXyYBG3mXyUPpKAdMEDmIN+ZIqT+1HqVBCGs+z2rM2o1Lllh8m6e8nZGyfDpCq9BHfG4HcCvtJxR4SZIk/SSUsE50OkHf9b075cawnsnEiQToG5HrkWLbM/oZCyse+mkdU5FrK4tfppgxBZ3Uht3U4g3e8FuNb++2UGGHY7SyQlep22WTskIPLQkVMCzZ3/4+0vcCY80H9obJdnYztfsZ+tK/0+GRlsM0KAZxe9m1lKm3hwkhMTbq94bnprqfHPG+viVMwXxbqPkdYgurwECBj4au9RpKgOEYd/p8dXPkhBdDn1wcFuFwRIB/uzJ6/cpTpt0VETekxG2a6iJqvxZi0NZTb08d369RV3XJK3bTfuqGLxywgVrqcqK+7B/2iDvM7/+W4nQMQJuewbDKo8E2P0ODV8S1dvpTiImweABDmCnovEANAJOpPDenSMBJCa2y6Jp3uJR+RWfxLp9fxapCzSmO5lCMYz77+BOYVvKLXeKhZ1M9frEsyrVkZCoCqgaMImWeyOKJpn51U2TwdUY6aIJ2rvvUXv2undmYtRyqrvvE8QJGDsmhqNOuit7n0v3sE4rIvWD5KQ7QTjAadlOMEeVbyGJaBt3eF+9C54n8FeJAEnokBB4NVnX/taMeMzGz+KsI/Sy+AupRuSeumEESRPYrNDJSQfGp8SRIWSqaRGWy2eJXYmeYBCOaPptf4IrmVY3/sloNV/HXr2+lPB5MpQmCRKkGA7r64GySQ+p7Fo02pgN8SYw9/3aYwvG6kGESZs0XGPz6zR0RSjEWhzdEj/BXStbBBwoCo/Ar9HROy1ICRrR5YOIVniDC86tlOrWfsl/RtT6//d/eExl6o8kSGPlfjWBUk9B3fGj9LtKVuJAENFAGFzlO4It66KZktEc1BV6SJEk/B0r44otWul1P0Za96YlcPFgQu5yk09odYltnOJW7vXZjtYKObN96F0vVmveclCAG+qC6xMPGC3hl2Zs2lh7YYOxqr8VgWslYnfdjFTt5Jh2TlkUsxFhSsdD3v9RY875tCOuIq6z90G451Az4YqH3NKXdeHX1+46TCjNAH+Af1rsOE7RV/4lpaez54iPpzX0ycvKbCZs5aJqGXdmyf0aj+VFPgDY0EbJW4ail11mGVe4t+ptfT3Qd92qJXtNqhLr8n3aLoSrPCeXfA2/cU/327khOi9RvFXRgPE6dl9NShUbEwt18sLrhcwdr96i7DWg79K7nmUbFLjerCQEdcXfdzOdnKQiLKesnO1D53U7ToMjz21ElKDPp9RBaYlV4mKyNXzqBtggItqvC2Q7YocDORQ76u2W62+0XWlWRh4doQKTUAzjoc45RutUtaE9GAgJ5GUr30zVITl5bdclrFlQ+ZT6v8mo/2MFRiOLt8mCGAYJBL2CNoExMGWzzVLq0j/ma92RE4aktGnalq/V9LzTKtnoVO11Axsqd3taZDsclsaPBUIS5rSgbg2tD8bN1n9iUQWKShmoBDmD6WvSCBWETAp+Rz0LReEUYrl7n6ItfsgHCeI8o3nHFDhe1Lfu7BcCHNgy8Uq/aq5RvpzHfscBt1l9d+oaN0W7ah27yb/oaGJPC8/Q623j/TII26BF2CyRLHkkOnxGl34VG8UYXrNd84H9Z2E40H0z5U60qQFUmkBYmcvKVYaDe7XMdgLxWR2hO2IP8rH7PHvpbc8FfLdfxhIUG5rqFz1sYq21zXLQcBsv5fyXhxGcSIFSRYr3nb/TybS5g/fJ/WnZY6foL3SoXyIDtXekWrXbxObcZreEr7jhB3/l9BB81ygCji8wei1+matuO0fB5AxjtWeaKqNmckT8BtPPJYL3O0su2uTA6rnjbgbDVnHqMhh13KAqzhvmFOGEiURvFbtaVjhM0zJGqMerRMxZAVbzAS5Ik6edDCYbxorXuohft3mfp3U6lsGxYEbDXcappAw0FpvCVd8nrMIQ46z5yRt+f1pANRTngcmP3ElcgIZ9T/d35WK3g1cKWMXhiZivB5gzKiSBL4jIIddK4By3utVzwyWlFyYwqdsXexMruxZWnaqPB4rBGo+UAFlCidnzgf09Z874TaOLN05xFL1oAAVhMY8YbjaziS19PZU3hpiy4Axr3UgFZ/Bh3rgIV0rg3qeR04YOL13sbvrSh8ygvFaO2+dYOynlJ23TYvTZOoTkKAgxCMVvl2N0qW6e7m79xMaoj7jRW/cdZ/5mz6l27wzE605iqKms/sgEXita4MEvUJDBChTsIUniEAAAQAElEQVQXucvetIBXmvZXG3RmhbNd/Ix6yOfCfAPShs+clRwdgtHwW00gUejdsi1u54kHuEEGVti1mBihU3DSgVHpFjfUgA280oB66/lrHV2Dzl7xto2WAGrHW9cCAgoHztjwOZUhYMcHbe1HwAp0wwuAgAS+Mdu3lhit/dgJjCjrP7NhJxt8rdFsACUIG3iVAWUPwwOsiT3O1IORB5ZFzRCA0s0exWYsIHtVs4Hq1umE9iCNm6a6gBqiTqDA8u0eGGHAMZXoUasRGrQ+EB5gOqw+ChfvVf+18e7g640GnVI4sIDVRt1trv/UXv8ph4+G8v0LFqwX2Dl0PE4HpJvzRwuyAfwEy+XGL22gt5qVoPF9zjNWvEUSBQzU7xL6Std9ZBev8zAyEG8gaYzt2EdMYL51nzrrPrNpcJmymjYwPKpQNya2JYAXG78gRkNuMFIy6vUbHROHoavYAQxaJ2EAhOo8SYfAY6wadFFVVcyIP2uA/vgVMrDxKwcFAoGXJEnSz4QS1hFumPW++6slHPbYqpZs9LCm4zm2faIM1uJaMk4TMVIPsx6K5LdnABP7otHboFqwGMVKqfSvFpwhUkaHcsnmjJUUmzlUi0VZ2LdTc+aZJqEya7mUi4W+SW918asJjAkueGnrPPIPoZkPRIDGsHfElnfzN7RQEn6K+HxQBhAHe0eo+VAuh4UOb0wmucDgy0jVPSzo5F1CZ4pWuf0u1DHsYpP9/d+s7OZp+4hxIL9PjfWfMf8h2oB66B/wlU3t3DLNgR0L43n8C6HPLgvjT+RRshJGyXVjYffi60QvxByRX8aiCuMzkyuuEgtAx+EUDAConxxbDj3BaGNHLnJok0ZMR4ymO14YSDw0FviJEhh51JKc5mz7dxR7kPwj1SQhgV8pNQdVES6weOpysrZpigOER/t+MYDcKEJdiJYEr3DEA8YddY+5c6GT0KOKWFUW545RglSs/cSBqbJoDWGvlE3ijGL5UJkSHSiHerptTiRgjYZ9/6INkyEZdaLvAlKI/N5JX5BLjiTW+2zDDnt7VxBg8lxGTbLS7x+YyIuOMY1rnsFaDFM3fu5UNWJ5rRkmwmfERx5ig39tj1R3LnThPAofqYl9EGQDDUjrx+HiEfRx64zaF5FoSzhMp91F8EF4St8L9JX/tgFDRd9J4B0aTCHwkiRJ+vlQwrYMhmIoXaxWxetpfYGVuNkAlYLV7vHCUd/2sJsMrB1Y4Ja+njowCfZJLYdrWBb7X2KUbvGwmK75wM5uRhoUjphAa1Kw/Oa1uZSMXDJcYzeP9Rf6FY4hqHwoG9hCoHWoBFc5jCsnscDBsjLuMXP5W3YtcV3NPFqUk6LQdj9Dj7c/0yrMOBRjtGKipy2GqHiI/Tcs6qIMmLY7ShO7T417Hyhlt8YPQPC6sX3sdbYOjBJzPMURPzxBG+7yHbTZxbDQSh0UdFMjKsIlcWU8ceaG+ccUCjpRa0o2eL3PMWDUgWkHw4VqMYyAX5hEwFB0Aev+ktdseDEwR30vMOAS8jkKFl6MBfQTKvGVhxv9K28bD0PsdTtNByNA1blPQLMpW751Bl5B4gEzANcrytK/w0emoZvgnpS6Mpg1hSuqpv39TAViKFDJ8JuNbXOpbbCWdTxBw3jC17PgGWIEfxZMLyUbCUnA7CFGJt3QCUaQww1fOLCO8LjGdFwD3j2gHzSseh/t41ESP7Qdq+mZxCjIejHsZjoqju0+xADaFwKJMvCdUY8q/BxVSTClvNAdeqM56Gpj1sORmDfTiwGsSJnScigxEjKDWmBk6neRAbGkb63MjzcNnwuGUcAsPvSkrWG0g0EUBk7IFfpOudx1jB5BJSA5uPAWPGcteNoKl/oCE4xGMpbi4o05gh2o97kGZBg+NVi58MOYB83lb9poCSw6HJZ5i1+289ur4N7nXDrjj61Fo+4qDV2R13yQSixcpespEAZGLsUvnGRGKnGHmaTzieR7wovpTtElz1q1t2eFSwewNF4JN1/BWEU1VCjC04pdVrzAS5Ik6edDCVkFYN2FSbn5IO37l2yF+2h2L/H6nq+3HqXBhL59HiVwXvO+jU0eTOVwrqesEQsN7L1wKMx9nJZRLJFlhR5WrnZjte/+bAU5irObq1gHK3elXcj6X0SJe1oMVvM7qLu+d8P7yBkBvYV1EGYhheOGQdcaVoXSqIeGBR2MUCGM9lAPtVDrERoQVdJeHIzKtkSPrzJl0DVGxTaKzb97KfQEKbmcFmqXU/T5f7HFoUvRzczGanmhsA+RaoG+wSgteNYSqqL90VpeK9Z8oIrxTDlWMHFRtgSemaFyF23f8SLsMVQ5o1OrAa/4scXfsGTTzzrDwKL7Be3VLifrMHdt/NLF6zCl7FrkApoo3LqDoQOmGXSVAT9Fo27qwuco4TZqhv4G/gCUodj/fH+MkgoHoFa5fxAVagPFoK0V7rPYu9L1PBbhmQSwTS9a6e5YSIzQEVJaHmVyIHVyLnAeT0OxxgMjfhRGh7EEU0/5FngvmmNa26lUoeP3C5rJP3zDGOaoxSBt0Qv2riUE0+DH3LXYw84bmmzdZ8QoUqpkNWU7vnP5iPlHTeH4EK9D11fwWDvQ0M0HqAWd1L3LaR4xxd1+YQDPkRzaZHOCugV4bdZfhQMCr9tRgYedDwYGzD4qgdmg7/mExWkSPYL1YNfzVzrGU9UYPgTGoR5NSnS6UAAyBt8rNSOAgwQ0GWpTuEFr91KvD/+ymg8k8QCK3bnAheun9UitQQfympH+rlIwR9/9xcJA4XXsLuBUhVll5oMRjAmGDuPZ4VgND+c9ZYnDyzBCYEBKt9LhHhJOxvAQ2w/GLSswzIjGhPKVNkdqu5fRkefqYuxP6CjMlmkuGKH8xi8deM2wD1n0vI2GVe2mBBHA6+CFlaFyN6UcAYCAwEO2V77t8FQeDNse4PgGnVVsIQKJxbS2Ha3tWUaGQ8Jnu8mXhKEjILI29bdPJ7corYeK3QKaB5za5xxqDGCZOL2bVuAZF/jFdbLuSJIk6f8BJWQVEF4DRUk46CfM72LzjW3W+s9s0rWektbOwbdcKjc7R70s9CseOra/I8SmdvA1Bpbd2rxIun/s1/P89nDPghLLaIidOjdZ+04TL7qtrHUFE4dUksokPVT5/RXRZfHQ3wImJlMUjQlqEJvpAKKpWrTauIcJTONfZ9wcFt3NM/GzV1vjg9fxg6r69pjg9aCk74iptUeMG5yCd2Mh1OLGUzRJPKRXNP9F8dyNGwcSoRqMGHdU+f3lE0eeGjeOkaoEaCap8bGHiYxi7fESXo8fOvKeRMXDb60am47Y0LmJ3FnyYMYLfHKP4hofN1U1HiYKZ/yXFRPvGk/IlGX7LjnxEblunGWlxpcVTKUQj9hoJHLnV/bi5ijdlyV8al4K7oHAi6ETg+bfCoz7qFMyYvwtN/0CEi8e/qLEUs1aeoGXJEnSz4HqkxeJ0bnUSKn3w9cI/1CCPHgnSZIkSZIkSTogqs/1EE8JTsP8QPJcGSddkiRJkiRJknTglIBg4NzRQrCN0Nk9xyJbruv4tx5gDaYnJr+yyw22ruVH9BIP7bDn1jnnIGqjQ6YqE2ch/eszB2SSETHB6msWoh7pihM5mCUPmMT1jR+Yk7ku7TwojGrWKYIKBjHKhONGGNjo9EYOg6iIUz51J3gKNIMOjkQqvANAu4HE1qkwPwZEhX9SWF3fr0A4s8RHd2BfwU/OSAT64x4iLiEHzygrAiy5kagcckYHIIeSJEk6lCnhLlLXk/UTXw+d9I9Q65F0HCazCWvWXxUq6thnQljo243TJr4amvQK/Rt1tylOgLY5Upv4SohK1i3iC0WPzWQTX86Y+HLIyOLOqTzWtE+KYBV6xv6jyDTtp7H6R3tHp8Y9Wlv0Kx6V1S859qH/bZwsPYNCm6T7K4uGQq6deEQ7c7+MUsbqiHKKRXGtO2EqT3wt44SXYgEAAR3aH60FdWKWj/lzqL7RgKApT/gbSciBJRWglAIv1HXWIJCDrzXYgXFKVye/a1avlAiTXsuoVwokPURpKPCNoOVtx2r/u2BuGMwJz4REyCI6hJt/0EYKLcdKcuq/QlgN1PoIHsSp9rwKE18KnfT3jNjVJMjhK6GjHq+3HEqSJOlQpoRlY8Xb9rQ7I1/dHKEooh7dfRjzkGnmMs2gS5Kk4bLZB2dVv3sa/Zt6WwS6qttpevl27/1fV2Nn03FCLH64fyE5FaHabqdrn1wU/vCc6gGXG1i59Eyy/YibpfHh4EbeZWbkMxaN2EYF+L9YGVXZtcgJTvMFBQLuwcP4VyiiRgYzs5W0g6IpJ76RQbdteWEjO5m1CL7i/5qqm0yLK6n5dfqvaLHAxOKhnkVYzT8BXYMRNFP/y3Qtw38rbY9MRomcWNoeqTzuOwXgT8UID3VTGXQN3SpnzD8+mTSYKbvZ+xz982vCH5xdHTQGu94NX/q7aUzNf8+ohrIJgvTvd+hEJU16q9N+H3n/N9XiTK7fmDjxCMYz/mGsvzpJbKyPLHrE2P9rgnjQ0OVGhyWu2qCPsVljCTKWDu1R3gN+A0szUw2mkpoRpWIwWNDOlAKf0EeDNejMGveincO4R0xAyRSMtNj8Bsdd69sjjE9eW9ZsIN2QH/8EGKUQjwNjBFF59/Tq4g3eJxdVO1byJ5xODlEMu6asJiyI5Rj/cQl679fV1cUUyFj8CuvOf0/nchgsUTXkMHnADyqilSRJ0v+C9nMOZs5jVpcTtVXvpjbvUkz3Luqqf9tYiUo3e0HQT3z/o+4xZ94XscOpWGaQghE5fYKMNti1tzlStasJRYkr1gOvMLA6D7jCKNngLvun3XKI1mqEKha+rdPdwtkUlLbtaA0QaurtkUgZXQ/GxmvrDHoOi/fCFyiGfaMeaqfjNaxfG6c4u5fS5VuYkZoNUFEmK100Gn6bGusj7CLb51KMVyzcaIZIJ7n6PbrLjW1onwt0rIa7lribvnJqus+yGpNqwZ+API56LPT51WFsXpv0UXmGIGXZP2wRD6PP+UZGAz4mPDRI+/EaNLeoYe2Hzt5VrpHLBl6uQ3lgd77oRbt6n1fQUe16ioaObJnm7lhI8V5Rc6vhZCrLbZN20e19npHZMDr4Gm3Zm/XzA72s+9TZs8yF+hx0tdFikDb4Wkprheb1+KWOQVB4hOKFz1sp/VN0M/YINauxUVXkiYj12U1pZEo2ecvfTO2sAkIacBmlndq3xlv3qZ2yWpgAu5ykQRhQ7Xd/otvpnU6gq+BwVC170xaHsRp0VjufRJdh8BC8qmuc0IJ0YQYp+JtHMWPsSopE/NVNEYhQ11P0NR/SrXIYDtsdRZeiG3Yl9W/msZ5n6mQ7UZTK3d6S16gLvc7S0alwCbF2be+IW038SYQt3vyNs31eCp9EdgsGYNeou5rdjH33FwveUlQrJtqqUBa9YGEngGpFJVV7vPj4ihAbtAq8agp8TUZVe5TB11Hwa2w80B1IUY9fpBz5PwAAEABJREFU62KiMSxg1P9SY/1nTvF6CsTc4Wi9aq+3/Tunx6/03JYsXEpy6EY8zLtVpZg59FbhLBcCX5NRpFTpd6Hecog69dYI5gVS3fPXRmYj+hN+Xfic1fcCY/NUCugMRvjEIuXKttlO99N0QB8h8PAyD7jUcB2fEcZNRIaMJ0BwGIDxqarcf73kFXqr56/0zMY8SVOYGOFbw2fSeZKObwGTPu9PFP4RjIQJqmxbWsFLInwIJIe6sneVt/4zG9ViUk79d2j9p/S9F63y1vGHkiRJOpRpPwimuohSrjToElONE54OiW1x8Xpv7hOkf2oeHoDKmX5vJG18zFR6dtMUZ8cCytdz9JPmxxcR8MFqhXUWuhNtQIVYeUs2uXltVCOHUjdjQSct/q1DmfkcvwlV+7z5T9OqI2LNZTRgUMNYwaEGep2tf3NHJLMhhSj97s8W1npgr9TN8xRU0ma0tvBZK1ziidCfi56narGS4q2KHZQ+F0snOtKoG+VZrNpT895z1GTCYk9WvWtX8yxCE54xP74w3O8iY8nrFOIC7exzvk5xOKY4e1d4WJGxyjfoyvauUqxyQgYDLqfRgKoIFbABl+kAlIzn9Nm1xDELWCiP9yiDjW6ZokcqN5Ms/ydnVMD6X05aBMqjaLWb04LMNgB5QDBAe9C1Q66j1DnieBOgZMOuFLMHCiOdsQHIAN1f9R87yKNUsctb8qotvJA1CbJ08puhWQ9zrNOcUaSWFSkQwNaZjhP2qvYqJZsJdGLMi9d5GybTrB33fAgGPzGemNmiVW66i/2YaAwafsjvoGLey+Ky7QgJzGjIGvdWMXTYqQ+72UA9GCvIWMUOb99ailaHXgM5rfqPA+Bi5LDR95tTbwuj2OJXCFRh1jpN1FIiGNQw/2m7+2mUNotCGDNv+Vt2wy402t3O0BW+v4euLdvqEqO4QH8FHVnjnqqI0VfQiW2diXmhxlDQ4VSEvwIctz9a5zecKXfmircszBpaC5iL9i/7uw0YVL6N9gxtxqjT7ohAsMs2eyUbKAvB8S+GPj6vGo1Z8hqJB6QLSCslghGMOh4vGBGoRdcA+8AIcghG+BU1l25xmUaBKL+9O9JyGOXDKt1CgaonvRp670xiRFEBbbrS2PcCvSaCUTjwoqCFitJisAacBNQCX/aWb1xIAkXi4UsKNgZoBvA9pU7jsX+ANRvw4R1+i1EXBAM5POWt0MwHiVFeG4ZVRcTwRL9EfjRKBCGPy0iSdMjTfpzPIrwVdnIwHQua8tvIl9eF8U/Al7QvWopXn3ORrsPzCTsxO7DIwij+cbM8bVsrdrqUM0isUVx1uU5CmFoR/F6gKpXn44WewMK68DkK1EuHJT1RprY74dR4nsvGv+/tiWjxflxasvE4VG3ZFkozFCmpaz9RoThIKPIMi0ORIhAZaiZvWgirv1q+3a2KLtYiUD0aAxs7ZQPgMX9Fj4B+RCQ3v3mWl/ogJKzlJqWPDhgxzghqD+4/MBJA0+MB4zELrmCkw4+jYfdcVujCHpNuKuPnSJCfzSBdigYeWIWGbqsItZd6DqKD758NV/XYOMSflvA7ZaU+m+klzlpNEg4Ff+h4Gezpd3yHwVfGPWzmtCSYA/+pkEzFjYFRzEXtB0IplkmEpkN8BZC6tmNU2DzKtns2P5gMeLRtlgOIBkb57fwuwZkIZ9D6yY44KrvybbucBp8cN0YmS8cIOn7D57YYcDACdgSj8m0U6tAjA5XXfLAG8yRwANCMy2cWcBPjD0zw9S3RVCGWUvtBWspBHVbWfWwH4YVaDKEelRfGGDXqQc64UL6y+r/+tyYYlW52v7whXPehE7MmeoQfFj1v46sH3IfpSEyZ6/ix+4R4YGUYfquBwQR6ruOJe6aKoNIkh9u/czHOQTcF91rSjEiSJOnQoQQEA5iC7RE/LRGzlGA3vPhlCztO8Su2gzypPU9/aCsbJtudT4DhGhpR2zE/CNeldD5RU9PYd6ARsaXDK1jvoK3FUgWzMJ7A6r7uk4R1FC2hJgG+nENZAyMVSvNBah1Pm0YqsAV0scJa5X6maKy52KGCUU5LShpc++vwJoTyWOBKDwgjAKsDnqNmeDRSLnQYHAAUMAKX3FZ+DX3Poz427MaERWTzNDKz4wmPwU83vODmgBkG1WIwkw6WZuTTFhNrK+wlokfhYhpnaLisZgyVZDaiwwo1W4KVunCm0/2XxIg8Jvze0LBb4FywUQ/PJ5xQPsQZaSEG8wPUEsrAr6H8MEJtECq6KgVZesmGLPlDV7dtLrbabY7U0H50cPm/DvAmFbQdOk45FyGrR5HZgO7BuYrIwghDFOO6EH3H8xkPRMY+SLbGXYvdPuSAY037qWs/TM+aBF5PFnhGVg1s94EX89qqqBYWtfz2NJiUP6sBOVLBaMQd/uFSaOWPLwjD6Yk2oKkth5MvBm/NfCACC2JQJ1xgCcdRvQTIjo4IRg14ignUOf8vVu9z9RG384QYnoL/wsuD8YdjCK6xWgj+2SRGhA98RgwIBozwiQkHHLdT2v0uNsY+aMKrhTLF61zAKcGoujg1C8wCpgMfmvCipiwAGxIqWfKqJYYlILQNggS5ym/Plr5hi4ziLM72R07qTCX+cDQcwYIR5PD7l22sP74cSrAiSdLhSQlZBbDiQHc26a1W7vKgNigypkPJYuBMyWrM4Iw3c2l758Xl0MGvZj4lKYSpBl5w/1AtU1oM0vYsd1OqKCx2WN2GXG/CUPz938iQAMtzxXZKboKN74q3YiH/YaIfdJXRYghVtX2uC4d9y6Fa4RwHK2nRaj93jJnNKnd64sp3TnMVOypx4hhdAIzYt9YdeoOJt1AJXE54cd8ab8h1Btb34g3ettlpVeiGzx2wxv4VZbKaMAHOKIezrqCpsDkDE7Qbq6HmbXPdmv5yjEyTPlrniRT7HE1FGWy18d/+FxsovO4z2mdjhPHfvhcYu5e5aCr6WDjTHcz7uPLfjogZL/oIINX1VDoNs2UaeX9Ej/BvK3oU5j263mjWj49STaeGp2AoYIuCdsEEUaaIpe62OT6jNe8To7Kt/hIOqAFQBUbbZjtoXu+zjRZDNRjtg/ScNQnICS6J+L0vLExGBgvqBDXrpzbrr8E3hL4Xb3AhYx0n6OAOF1K6dI/QNNB8wp+F/xbxWYPKWf2uLx4av/8cKU39OgYttzUrnMXzJHBbFyAsBgpbefCF+6lkI/lcIB6QQzzZPs+BTYjx9NrAN80HaLMejsAEVb3PK91MORnKd3oYfIwVPgTyfHkkDNCpkCLFF3g1XuDxhE7qTNTR921zHeBdDCwGEwOL8YclqcMErcPROhjNe8oSSCK/Lds81dm70u19rgF5q9ytYFrxjWDoYEH0ZYxRhiZxoosEvoVKMx4VeB4lmfU4gxhtneHuFe2h+MhkgBHX3cELg0lJA4ZqDbvR68AQeEJJlzSyoPhflqK0OkLdvTjGSGTGgA8UNiq41eww6/lrHZ/V1m9dDIhgRAeVoowwevtW+4zgrcN3BMCxb53H4/ky/EypElRl+E0m5rdpX428V15s1gwuAJg4cIQcNh+owW2EGRRoA8I56GoT3QSkwWjAWdxmlAbIAnHCNIn2F3RQWw2nagPbEirBZyLksGS9C4ze4RiSQ3QTbUZj8lpTLnFFkiRJhwnVJyavpB9ArUdoWLJFjiFJkiRJkiRJ0g+k+sTklfQDqGitG6mQ8EWSJEmSJEk6OCQRzI9EtWThliRJkiRJkiTVl37oIU1JkiT976igg6rJMLKSJEmSlIoSEIxm0sWT458PdTjmQEL1+zUaSv9LDVQSyvPvF+gU1c087vkQRbnV6lpPZiOGSnqdpYtw5gqjg8Z40mKIKgKKo4VmDhv6W0P8ioX+mD+HUOD4F0In/j0k4pIlEao69mkqc8JLoYmvpA3DjndRVXCBHL3ofbaOtzIbs3RRyduO1Sa9xrk/HxJ3PtFZ/HzUH00KZ5yWETvqcVM0Fb0YcYdpZFNU1uzmjG4J1SDU2e/iuio0tP/oJ/+3+RDSEeZl8DWp20lhSJ4P9b/ESHdVLZTPxDDmtPAjQR8YqZzRwCuNAwgkDzkZ94gfkR7DOPxWk+T5h0XTR39H3mnW4wVGZ6eOe8E8/sUQvx2mjH2ImjHsZoO+rB8AayAVx/OPUak/NR+opnwxo4C1HJYsseMeNevLSHw1+OrVOi8UAf2EAi9JkqSfhBJwSvOBWl4b9tUtkXCpn04PahVrCoWrV3jg+YzYjet0xMPFOqik0wlabmsVJXufY8x5zPr61kj307S6L0wth6uoZM8yt9vpuki1A9WOJ+DeaoQIJ650OVmDnhNgy/OUqbeFUeDrWyJ0n5Olvlo89dYIysx8wBJXHgRREsE4ldDjl0Z+O8qlIH4V6Qm/vj1y7F9DweVqClGTGWNiZCvT76Ga8U9clxh4hf7tPZH5f7FquY3cpLe6+CU//huwXW4rBqikZ7J0+hLTkdOcLuiKe6SMB5UJAtXrGbFiUHIZ+Sy3tV8JahPX18WGXjQeWkeAP5FwAECKrrZmp0aZok78I+4FPrAQDyk5X1AsxO9j5yn+ZfVERgqfpq9vi+Cv6SCyHlK2ziD5aTFUaztGZVFGZsCIy2F8egG6/5/pM4Ks+tjIJUbZcYxQUgxdMGt4RdymDsIHCIFHF3Jb+a/1vcBY+W8b7WnaTw24U4+iupKpMe54yNMUKPEDImLeg/XC56348aQwLQ1ZMNE0dHksQN54CvFWNTb19kh+B3SKQdTRjFX/cSa+GvLnMegRb1qSGIuvFf9EjwLx+ObOSPlOT0ssGcIgBD3SaFgyuTAE2QnQMBqrBrFtifjVl0OMSQO+VsThlen3WiWbvfjRiAZHUNKRXeXhQ6Ng0MGs8aFD84IyoiWhAlaLwEuSJOnnQAkbYahhcS1250LX47vYRj3Urifr4TIK4xEp89qNo1jvbUZrxRtcLOvismsSeQ6FyzSzWVURhePUQ6xpX/X7lz1go+p9St1NO+s+pmuNxRuV/pdpK9+2WwzS5vwx0mwABZDtcrK+eSrdvVz9ntOsv1+jH/tO9Rp0ptvgTiTFuRMeroqWVBjnN06JXZscdI2x4FkruBS9/F9W5xMT1DiUUCiPYrEE8X8VHpx+xb9sAfU8myLNVJcoOxc4AsGUbvXy2pLKL92c9gRMfnu2ba5r5qnBWgyMBVgz/d5IdovUazFAxtAbDbSnrNBb/IoFKwWMUhu+cERmR2g79K5pP63T8ZpVQeOPAc9vp/Y+V4eaQeUr3raLVrsog8ajwVunO1u+pTwMJ76esfkbJ6sxs8PK/L9amOskvkc/FQIubNhNXf+p3XK4tvwtu3STC3DWeSLFqkdLrCrSoG1Gaa1HaRXbPZFcBoy6nKhDigpnOZgyEVUvUrqfdNNoQ7jE2zDZhtFi/WQH1YIR6qku9ha/TJE/Bl1tzPuTJVII0bAXeX3Oo7vijXtSvoglr9iQT9ehSordGH0AABAASURBVIJQHzSDDRhsP2gSRBciynhslUbdKLvC3pUuppLpvsCjkQFGhy0QerFih1s406GkTqbS8XgdIr3jO2fDl3SbHRxh6SnZ4DXpo26b4+ADiZRTZDxUC8zR6zf6vKcofPPg64xm/dR3T6OAwpgXjGS3U3VKI2UrM+6nWWsxmGIZlG52Mbbiy6rY4YlghntXuFqIiR7h3+dXhZv218ALcKH/RbrBL5lDOGGPnP+0bTmewDEwHUGqO59Aof3RSJQXwZYgGE403YfoUfvxevPB6q7F7rpP6Np24x5q99NpZUDz5j9jVe728Dn3vUgHRKjY5e1cRKkDOh6ni08PGGXpa/Tl4JtqOVRzLO/7F/0YzcQo+Aw52m47jqIA7F7qrvvYtqtTTL0vHlECI6AZ2B0pvvA/7OL1LjrS41e0wUCFWKZWv2fHBL7Sk4kbJUn6WVECguFB+hksDcvfstZ/6mDtgD2AVIWmTHg29OE51fi1cLazZbqDFW3sQ6Evrw+nrBS6d9LrocmXh2HLEZmPsAC1HILVTakXgW/78dq0u2LBRobdZH51s8+UApJWJkejwpLX9WRt7pOWmz78GHrR80z9k4tjjRe5CAKC/ogP7EGp6TQKwf7h2eFY6BePUhcFr2yZ7gLi4GHPX+tL/0G8N0x2TvpHqLpY+ei8VEs1z/jYZoy24XOnQWfa7GL9BVNor9F/MOc9FclskhrBVO/zgOTQDFrWed7HYJcssjZCNQLAzXo4AvUGhUHOiFHq3MctF4pNZxQsVVdG3GnOfsSyKmxMcccJ+qapDtTA4ldsqJzmg9TMhhTMI4mAblf+x27UXS0rdAH+oCzXfUzFwAjK9aR/ZEA3dz5R3/iFAyQEd9uw3xpo0vBbSImu/dgJ5StdTtJRg1J/ymmlor/EyGQTX6b49EBv6OzIu8i21+tMffZjFgAHBnzVuzYAB3ygxTWi/WKght9swCpgV3vdTtP3rSMEs+Z9e7VHmQuH3QSsR7FeMClgpGcRI/Eihg6b/hP/nvHx+WECT1cZS9+w0U0zl1ImAVFRGupMtvFLe/X7NsAWMOXI35u7l5CoAJQADgpRRD0TnvbNEcC1sBXNeiTiIwlGya0AQYAR0c6jnwh9dkUYcr3wBbvTJP3E10L//VW4JuaDyWTsg+ZXN0Vgt+hwrLZvrfL93+y+F+pr3ncgiqgQXwF+KN3qLvung34BgyaFi1T4hwnwB6lb/5lNOSsuNxY8bZVs9NA2/BXiAVAI9Dn+CfOL6yLoPgyrAjgCNK+fbEOi+l+qC3tJySb3+5eJ0bhHKRFYTUb46LAt2TrdxXgOvtaY/ej+lwPMcu9zjUDgF7/kAmWu+JeFrx5/OvJeE2MOCAuM5Qv82Po7nyRJknTYUgKCAcJwi71PLq4+4jYTCAZrRJNepM8oF8zL/nIDBeDuVw0x5d1fVHecoJVs8sq3eyJzzcp37M6T9PgywiqQtg6eSQB6wuaJYzxYhZjy3q+qsxqzWl7BQoltYi1bfEpsO1qbeltC+HE3fTByrJjwI6z71IEqwvoIAIGdH2+PIjCH4Gvz8LUiTqgI24/C75xajSUeqGvmA5GazWh/jLb2A7vlERSgDBoIu0nUBuPHlzeEs5un7aNreQBY6QKYKhyfVRe5NJWW4lTTyGPzKqLxwl016yFL+JuCxvvVOjxGbao6RTHsmEUI/8DwBtBAoZktRfhTyNeWDfOJR0HfI2RH4V4bisCmUAQ4ZceC2kLwBoyiv8eiQqO1lH7BinlnULKgA1v7kdP9DB0TRKmFPLJ81CJOgCnQu1D2sWDTEe6a1BRNJ/+dkDeX2zw0WwksBHgF5qVPLgwf+Qfz61vCwJpBj6CMg/ojFWQvsR36QBY8Q8mJYNeBeWz95BSNQY9gzAukjvHE1EG1S14XiR6INeRhyg0R+BYBm4KBEqQajGeZiM0aPjTgpzEPmLB8UK6rSrKd0MRhLrLSjItKThkHH3UQppJi9nt9zjeASIC0wsXwN5HniIaOmsSD+luUFDOjIU0xTC+iSSIev5rGv0zikRUbOnxQSh1I5cm9IcaBZxMsYLvCaKNVwlMJOcRXGQi8JEmSfj6U4NSBRV3nGViwIigUvtODVtj0tbPhM2fTV/6K0+l4HRvNvPZs+3ep1yAsajADUAT3xhQF3wl7sE7D96HwZH5BMViksV1W0pORQ3kZYduHmsSqumO+2/oIylTQtJ+6b01qTYW1DAakpa/bbvrlEQgDJujKvQnausUQSiOXjqooHSP9gC1pzPyuKfAa+OcPMhS4t8TzQIkGx41remTE8wadVDG222a7eT/Yfw9DiDgEAH9HqyMoPmlOK6ZnEyO4peDBAaN5T1hDbqDMjltnuM0HkPJGybJtadU+QE9eOzXdWdrK3ZThAZYAYFzUD/W5d4XX7igdgKBxbxUqGbADOr5qL+3Xwb14Q3pGulLQMYERZKzTCTpFWObpRZv0JUahAjoiAxUIR1jzQRpMTVBaOxfUKTcBoBWaJ45TZHJphPhBINGwjV+5wosHkyGMTGAE3SxSSYM6Hk+JwfPakcBjcrfNdSKlCvxHeLEojRzCRDTid+bwm014A51UZspIuZLfUQ1EDvIBswdQ78avqFo/DTU/up4s8IxmBOZAWGvwZWF8RP7wvDYkfoAX8OjBkoqv1QkrdSH0CF4hYqSRnBStdPERjX8ytOh5Cy0xefZs4CEIDH28jNA/mpRRwFqPVGnovnREhm0QZoQynxuM0hekYoR1AKANBjy8CNRel+YBkZTvcMX5J4HasxqRtRI1oJviKE/FTi9e4CVJkvTzoYS9fMlGF4sXdN4X12ArTTgGVt+jnwxhdQAWmXwlLYpYwYESoJNWvJXWFNNquAaz/BfXRsS+bdnfrVF3m1hqYVsOFlbgG1QL82+6So76o4kFsc3oUOlm79t7IvBNNBugwZm18Dlr1yIeLZ5fNsGKedTjoSnXh7EJM/PYrIet2rOcwIMAd0mSkQYKcteSKOphVC1aPu5RE24y2BLgm8C2b/A1xlc38zPOUcpvr4oUMOgULNjwO0Bno4/4r+V4az6goYNh4+vbUlh4MLyUVYAnQcQ2d/M0F0aCIBK/XZk6Xj720xW7+Osef90ljZXdglijnRT33SP1uX6yc8yfQ0Wr3L0rySyxe5l73LMhKADo+ym/jaB5az+yOxxLt6ugYsu20aHO0k0+63ApmU+iI0HopGQj/Yy2QZNh70uA0lVgWivf5q7/1Dv6TyGove/+SumadyxwoEqPfTokwvajd+s+JfPPcc+RUK14G64Kf5AbdWejfm9+e28k8MpBPPatox9g8IDrEP+m3h6JlFL7K/d46z9x4AQBBpr7hCXSFQHdLn+LzuVsmsITI2zzDW/Q4gJ/CyroyEbfZ35zByGJZf+wRt8fyijgcxShYvCCnfAS5T/C+McE/qkQzHi7v/dV7La5biDw6BHYtRyqTXiGbpzBO7bqHTueuz9NVd7HF1ZD2SdYuWwvOBEFUAsXZPBlfXZ5eO9qF5Uc+2fIs1K6xfv27oiYbkoXsNvbNpvOKlVs9074W2j3Yve/Z1TTd+TBWmMBKgG5fn5VmJ9g8wCqAOnQgI7H6dxMSOnNOXeqNmgMBnbsI3AMhSFpW791GvdR8WXBI7Z1OiHRKTeGMSwohu8uuxmhdjAadrPZoANb8Dyd0YF1BxY1MXRwg6Jy1ING1hR4iPHYh80vuQcK3ijskTCYEMXCWe6iF9N6kQCGht/MZj8agYUJe5jxj9OwUB9t2k4AS4F1OoFXJEmS9LOhhKwCjF+aIJ9I1BhL1ygMSgHj8Qy9XU/RacFy+AHDNJ4XOhtoUD1YYkRGEmgv/Ip/UE7+FSdDGXaLOe8py0ofppbum2giO51/8FBUSymUbb9aYTFCAZGgmDz0qlK7kws98pTkNLxJD+l6hcq7zJNU0yHExB5x9uR9wJKqRNMCA4LA1RU4Wcg9wfeIKU8sJr1OQ8TbEJ+NuaZPJMjNG/86XUcyiLVrx16nDSuLjVXQI56A2n8dbcbAUj7wuHGj9N2OEnjHmB7XJBojXpIfpvFsX2Aoo28U9Ki8WsXPdM2P++h8HBgMcl6Q3EdYaEQS5pqMkhofPExiRO/yS1E09Ynt9KdJMHKUQDxIhLQEOVRN+DJ9H4QSFfh47qJH8QJPc817BI8eHvqNtxOyGdd8mCScsS8rKjOCEaYpXuDz26qlW1ziIj4ig5gGid+jXxYDZAmeiAkS4kFC5UY/DU0J8CJkRjQmmHSVt1YUSPllxbjzWRMCj3aQ74YzEifGkgQ+JSPqo+XVsoDoWTFGYtbw3+DLqovAS5Ik6edA9cmLxJPVlax33R+c+yxYbiRJkiRJkiRJkg6A6pNVwFPSHUCpL8l9kiRJkiRJkiTph1ACggls9fw+AjdBe9yQy2K+A6b5YdxEpArxFhmo7WTXTC0kjNIwwwhrORmfvdruJdVC1GBH8erp/g56dBBLHjD5Efl+GDgUNvzaoeFBYVSzTnHEMnAKJMwmo0u/dNzHrt8cCa+HqsYO5dS3VRiQus4av9n+k6NqcfQ78KzVleIaH3xWGG3R96S5oJIOucDEzS+al4Mn2OTrYQl1HmCPJEmSJKlulHAXqe1Y7cg/mKP/YDYboGExymjI8tupwg896FqKPoLnR95tHnkv/et3CZ3ywBLZtJ866m6zYWe1jtHqRBSTEb8zR95lioMdoVxW0CHFy8KpX2tdSqPuKqt/DAj0SLQ/bcVRoEYlL/7fxsnSM1iXk2ozhtEo7e+uEtMp9rGyP0bdTvuhjGrUScHyR8TFy9dDrMVgf0owfaPuMQdfU+/Q/ih/xK0m5KruIRCTXh98fV1ZotddT9XZwY3mypT6xsXHGGIka4lXm5IA8jqdoAcX6fFNjfq9mdtGFdyNbNawG/2N8ZNPrUfRd33Ebebo+6gYZqoenPbXo26/0Ef+PiGHxtDfGrxHMk6uJEmS/ieUoB82TnGWvmF//5JNF0c9irs14VkT/9UM1mIQxUbLa8Om/yEy9Tb6t+BZCysadFVOC/XbuyNN+6tBeNzaCessFrs5f7Rm3BcBjKCoITl0f7UmQfntJxmNRxdtDmD3jK1q8wG1tfbkf2YYOf4dzqb9D0iL1pmgtBp0SdtNNGDgVWmzCMUXa9pXrR1/aBkUwbaWGobcYGj1zFYO2PTdn63pd8eOZVqV3ra5/jYc2/Fvbo806aOqRv3UWOOe6tI3rG/uiBzY9p0kdnBdEQTQauMe6sFNcgo7R49f6/XC1hhDj9+KV+pDPCqxn1UAglSxw5t+b6TNkWqf80lmKAA/j1lA0equNDZ/QxfC8d2FS5S5T1pWVT3MYqit3yW1yeGKt+0t05z4fGSzHrbCZV59MZkkSZIk1ZESFyQvenUiurIBZ3Q5SVv1rhOoRvIrBdcreLqiOY/SBd1NXzmdJ2kiahnWU+wFZz0USXndgOdqoaAOWA1FZA5uWgp1AAAQAElEQVQQjD0DrzQqd3kzHrBEWPHjng8VtGeNnqNLkt/eS7c6x9xvimZAsZVv8yjK56/17mfoH5xdbVXQfeZj/2pW7aVIHqWbvJkP0QXarMZs3GMmpUO6PVK1h67m5rWlUJ50/zkdNmLKCS+Gspuy418IrZ9sr3ybAq2ibS2GkJaY8ttINQ8PA3SV1YQBuqElNSEU1AbU9uapDpZvCl58Q7jVcM3zvAGXG7sWu4uep9D4KNb+KK3XOfrW6RQ8UKW4auqoe3zLwVc3Rar2egBwx/7FzGmlthisfnkjdQGGsfGPU48wCBgu/JDbio2+36zdhNBmtNb3An3bbIr2AUY5LWkQxJ++vjlSucfD8+OeC+W2VmFR+/pWYt1unNbjVyQeOxe68SkX4glb+WYDVcgAyn92Ofl7gHHHPGSu/cCBPlOiAhPfNngWht9iFnRiM+6zSre4KavFnPb4pY52VhV5n15CF/sLOqoj7zJKNnoQSHF/rUEnFbAPLcRc42GkPFkZw84HY0PDbhTSbeqtBA5G/s74+rYIxKbzifr6T20IJ4Rq7MMmGFUX+9mvht1sQELw+vy/WjvmkzADFwLYbZ3uLnvTAiCDXWHfGq/TRMImAGflO1KAgPz26uj7DIhQh2M1tB+MspqycY9wObyNy6EHgWcQIczgzAcscUXf/6xE6iee3TNJ4JV0FB1eMc4Y0pX/tgddbQRP8BWgX9/cGfEzYHj+tTL8Q98hk8UbXJFGYNqdkYqdHsRg1N2+HAqBRw3jnzAhNq1HqJ9fgy/L63i8jpUBBQpnuotfsWK3ruLlsMYTIfBr3nfWf0ZZBVQeLrJko9vzN/qaDxxMii1D0kmSJKnOtJ8dd7jEwypv5sWeHPPnkPBzY90RuWkommfi6or1cdGLVrpTCClPYwBSfH51xMhURt5hQIPiyZfXURTUeU9Z0I6KS8csvr4lomdTBHesttj3g+nKd+xIeexCMn6Yfg/t2lsfSVZ0LZf1Oluf8QfKSgP9PfcJC4AAu20wMrMp3kzq9nnKF9eGYYNBA6qLPXHOZuV/7CWvKRkFStM+6vZ5zpgHQkKpA5ds+MKJD0AiSNzaFa0SDhTVpBj8YI1KAFOg/ODQ2TbHwRMosy4nMTTbsTzoWj2LEF6r4erajx0oZiiM/pfqi16wrXIPKG3ApYboEdDbgmcsnfIiaaiEQ6UUPQLK7HKivnMRMQK8gMr3+O1iDDJGErwAbla9S+r8i2siUHuoM1JGCm7PMveb30XQEgBTVUt9cWzG/ZGBlxuYhao9/giUb/egpFsdkdr4gEaOfyL03V8sp5pCwsB0sG9dChvLmvdtKOzK3V7ZVhdNAaTIac5o1nKUMQ+YIpcFRhVNwkO0LWUOLM8mIYRGRK9RQ1mhx6LCTuczGJkYgTBQA2UFv9OgQPVZZIYsXu/alWQXZDyAG15EmcxGytAbzDmPR1SdbZtjr/uUIvd3PEFb/HIKAyCajcHs+gtt5X8cfAVg1HmSLpra90Id3c8sYA06q0LgR0QFPnHalK4n6xQQL0IxXdR6HbhPPFIWyiVr0MwHU2NQkRx0z1L386kREyV/RUI15DqSMVho7Eq/Kkg45LDv+friV/HFecAk+Aq2zYbFhXX/ZZ3y2KPvlMxhrYuaMxphHEjSRLKkfWs9MbnycqIkSZLqRftZGgEssGGCsg8y8ZJhny/aKdWGT55S25YxFZXvcPnemgEwiScUDb1aETHRsUTir9iXA69kFDCxqmKldiOk9QObEEpiO0v7Tl5AD5Hyg5EAT8q2kLkCGjRSwcPne0otuz0Klh/x4+iLo83YKyv8vI7Co7nntiYTi8JN6064rj0t3eJRtkWN5bYknwV6WraNwmlU7PQPP4aLscpr4A7TVFkhz13Ag/27pMYoQByWe+hj0SMoeOpRiBqAMhS+rCIFU5SEAaC8kEKeVO7yw9vAiRAwEkn4iFElyniCEUX7yGAt+9HZJtg/0h3CxYDbYX+aBFGIjkjak5s0dK0o1Y7CbSTVxanL0eBXUQA9tBAksoSij4A8uS1jO3rIWC3xhES4P941llLMSaQZH17bjx8YBmDVCJVmNGCr37PxV4xP4WyKbxvEsAdh1jBc8Qc+klnbfL7QC55qAIyEAGP68BbjZshwmUjjEKs2sQoFhg1xwAWNWfr3A9ftjXup6z9zOp3AcWqaY9FAaZTMkh9YQYOn/i4M1jA9AjEveZ1Yu754UJtRgBn0GYojaPlt6+Z+U0W6clVI185Fsakv3UqmuJTSK0mSJEm1UMLSzldY/4fAAWSHvcUvW2Mf8SEMNujxUcWwqWrYVS3b6uW3Z9h/+39gSqOuatFaN+VNB2g71yZzAlZnAA7xDs8j4xnZtCFLblI2hWKDX3/1Ozb0ZZNeKlS4UgcCoz3LvA2f80Zwm7nQ2WCN7aY45lILQfFgNLDnTnoOzQrHClz+Qm2n9JRhRcbggBF6FIpasJr1U7fNdTMbsz3LKQIsTPcwCBVv8Bp0Yozf54KjBDYnu0ppOUxN2nZjECh5jaXsWuL6PRK5LavoT2AEpRgqSNESjK9IIr1vnVfQkTNSleG30g4Y78I1ZuYmdJBUrEo5IHudSdtxKLZGPX/oCREAF5KoakrqBD9j4UyHLGc8dm1dXoeQAPSUFbJQvoKhUw6IKHAfU4TUFXRgfthGj55AVcMhyBOQ0vBiVGEaOfpJSmUKkYYXCZIJuFlbKIGUAs/dUsCXPCN3gsBDDrOb+OKBeQneoOh/pn+9DvoeEw3MjZntc56x8DkfxDTqoe5bTTGZRMjEpHOyMPWh2gadWWU0O1jhbHfvKhdgrs2RGoQWKAR1ooOUEzTNWWd4wYh1JpWEOY3ywEeJ5DBM4tFhgrb0NQpS3BwfY1zUPrQ/fvUgU6jJQwK6SskGFyAeAq/Uvv+RJEmSpLpRgp7seore+xza9s153Nr0tYNVhnLdWQpWcGGEAJqJdxhBva34l93xOA22/dmPWkHuJKyp3X+pz34k4qRCMMBAq95xJr1G3qiPLwxju4ndKrzveAIkNPX2GCKY+5R1wt8oVD/8R8vftCe+hEWX9qaBScDjZgDfJBO93e0pPHguz7y44m0b1Yqn//1lNZxiW74l1pFSz6mubQ2dfGX4uOdDlEvh8lgmBFJFDoGGuU9Exj0aEnmIPr4gjGqTXgfrpv3U/pcZKBwc0cBOF6yhv+c+GUFr137kAKngycq3bQGwMIYimvuM+yKxHFKUs1ChvAFV4FW99O/2ia/7aPI99KjU2/ilP5gYw5odwfP1k51mA4gR2RU4o3lPckZMwRyZUSSHUYXCPoEz+uzy8OZvnONeCEGxr/+8thu3FJI10UDg1IiLmtGATjV9eHY1QMOshyIjfmc26Uuo6KubInDZpK7WiYXfxbjZ1S7aX7TShd9Kic5FLb4Vl/ImetGS8B8R/lv2JgkDerTqHWof5BD2RXqiKruXunSKVqMk1eKwM0QOAwIDDMx4KIPJ+v4lypxAYuNFuxntOEYQ/pdZD8cEHu8C9Ex8hSTtk0vCSQJfXeRtnUU9gm0sIemEpxz3bOj931Q7LtnJJr0aEueLIWMBp16/0SEeikPg4ISXMoAzYFzxok1qO0YDUkGB1e/RYXyMknAawmK3fZ4Ly8qaD+zjnw8BsU14hhhRqs5q3w8rQtxSbtQdnv/VKMqH54aDtqH76JEQj6KVHomHqlAigrj2T3g6BKdYADTRhgno0ZnVeAteUSHweL7lGwc+aAxFwF2SJEmS6kv1ickr6QdQm1HanhVu1V65WkuSJEmSJEkHgep5d1bSgVLZdk/es5AkSZIkSZIOFkkE8yNRyUZXRiaVJEmSJEmSDhb9b2O1SQqIznhKD5Kkg01MpdO1BzmgsCRJkiQdDpSAYFSdLuv2u9ho2lc94DVR5WHuUAkWVhETRTOVXmfp9CRLYXWGTKE8aknrUZrIriISCOBJg06quEOBqvRMhaKV6H7j+5xLXPpfYgy62kgZCVQLUWAYlBlwmTHg8rRR5/Fun/P04AI505Q2R1KPQvks3enRxr0oIh/K4J/oIzqLn9HxoJ4UjEJKr7N1nRdAp7qeqqNHjF/ibZzqBhDqbDeurnFewbf3OT+NjQ296DghdTsptOvFRvvxWi0h6jEU+e3VjAYHUy2jSWJ28I8GuT7QHRJYl3jTGQVMHO5WuHC2HqGlC5EcL10Yh+aD6pSRA3LYYkhCSTSs55n62IfNLifrftghnS4xBc2QJEmSpP/HlLBw5rZSu/5CX/O+TcFORFYgXRGXKgWJq5LQo5qZvkpG9gZUcsTtpPJREuq/cKaLJ/0vNeqeLGbIDQZeMbMJHGDVbtBRbT1SwxPAo7w2qmDU80yj7VgfweDX1e85KLD6PRHuM8UiDnCw+r9UZv1kJ799rIBIaRkQ6ux+uh5kjVFVasPaD+zjngsFF1BFKLBARRV0YBu+oJrX8DgiGLTe51L7t053oK3T9RHjvHOB22a0JtrQ4Rit11mGlqGc8HKoQecUOo0i3Y3QMB1mDg0s2iDSairRi6xBdzBHgIBBuiUjy79xHYwVCqMS8SvjV16hU6naUGrtLurEP7qLm83iH8aDRYwPeIE1oGfAiLBsMLxMWfOB3XK4VkvEfYz84GuM41+IQT/qci6jy+2GX2eAsIMbvIIRoRPBmfk9wosqv3UMFEITBDkEytT8jqN8fCB8cZ+Z+pgV16NsFn/J3+9RvCRwRhkN/WhGhK0zlKK1bqyRmt8FFMNDAA7N9EtqIUa3n5gYOiUe78Y+N4FxNRIYESNRtD+nBSvZ4O1b45Zvc8WsZTZmw282cprXhmAo2I8pQmMniLH4Cvzx5D1Cmw8g6ZgkSZIk/TiUoKxaj1SX/9MOl3or/mV7Lq2YWPcnvZJx5L2m0Bltx2hYIie+mtHjV3q6YBKUYeBrB5UsesHKawetw7qeopdsciPlFAqi7gvi9Hsjlbu9wjku4R6dIs0vec0Kl3gAKB2O5bV4/FpsVLO4FgXbqNrjRco84ImUASeAbKqLPRFCFz0Nng+6KiH1IPCWY6V4VyF1xYKRi08HyENyeWgA6sfQYfWHXqna61XuUWrJ2kiX1XmIuYA7etqklzbrwYjnpvY5ocDEVzImvhrqfTYZezC8mBTxfMQdBGFo1jIZygAEMJ6pEXoI5Se9GsJDKE6R5K/zifrEV+hCOOlsg+ocfos56bXQUY+FUtqZ8BzWixNfz4BpBFWhToIFnNGwm00BnrgNTwWvTidoIjs0wbIJOsoXdPQj3GCgqvd6tTvUSEPrJEhCc6Py0feZ1P5XM4CJUe2AK3wIgjphrEKTBl9ntjtKQ5lJr2UAABFrk3JBTOIdh91OsIZsQA4pPi9P5Y2SE1/OoGEJ+VocPYJVg0b45QzRYEzlCX8LdfuFD8jQNoBI1Nm0D/VIMAIkQq8DXIW+j3s0NPGlUPArzGyok3eBLkhPuTHSqBvj+I+Ne9RcO00W4gAAEABJREFU97EjphId7H2OoQlhYErLYRq440U8jH44jKMu1qwf9YjyS9t07XzXYtfll7LDxd6iF/eTJwyMsBlAteMfD6HxVLmfVon1vYC+tTEPhnr+Wp/IB7O2vYokSZIk/aSUgGAACJr2U4+4zWw+yM9N3W689vFF4blPWMNvpRQt2ERiv/jh2dXb57r902dsprxId5oNu6hBWAgsi91+odc3zzDaAD0RDzVOfosCYAjC8h0p9ZLCxVJS4muMb+9OnZJJEDbQI+80dn0fO1gL80m8TqWwY4mhyaCwj37K/OLacCwIm0cJg4Iie1e6LQZrHY7RYb+hAKyVSn4HFZomlKcAxqVsBor1+LVeXkiRY2C0UHjwDIA/SjNUpDhporBChX9ycfj9X1dD9wg/mnBCQbFRJQzs1FZHqB+eW73kNZtwhgYXnvHRudXv/bL6k4vC+R0oqB2U9N4V7nu/ri7ooLYYqqkGhfhb/JL17ml4y8LOvibfzMYUcX/eny0ov/fPrB58nZHfDlYxYvT9S9aI31ES6VZHaDBCfHBW9e4lLtlyNKXHGXrpZhdPUCd5VepCjERl1gORTy6q7nQ8yQxG8vuXbbQfvWjEMy1XbPcI5XCB7H2uDtSIcS7f7qFHn18d7nqqhsGBJ3H1u85/z6hGpzA7eCuvLRv5e8r/vG8dhZ7j6Sm0Ty8Nf3x+NSBskBwR/cJAvX9WdW5r8qUC7352eVj8VeUpGsAOIwDbCWYKzYBHct0nzntnVDcb4CewBKqYcmO4cLYvHhAD4G/UiZb89/RqCtBiE5QHAs5qQkHtwmUUsg8mInxZm6c6A67kKY0IPCmo88Nzqtd/ZguLIJqBks0HqruXUuXlOzxY7Nofo8EYKXImAGfvN06gkUkBJNHrr24KZzWmOIECaWHKdArhSDEYC2e5GPAvrwsDRSmSJEmSdEhSwnbbDiubvnS2fusAr2yf55AvYITapDct3kHs/G2zHYcHoGvYLS0eAbYAhhh6gwHNIYKF45UVb9mdJtbvWAaWfmidNe/H0MR/T6uGEaj2t6D+a6c2o9Vv7kgAOHtWuOmsAlBR0Nnbv3Pn/9UaeJWx9gOneAOP9+8qRWtib5Vs9kq32CJPHpSQVektf9PCz1A5JetTVI3nGNjybR6gAPQHFPOOhQ50277V7uxHIzz+eupuVu5yKSlmerWS1Zjis2FfDgsWgBS06eJXrGE3wcjEila50LV4F5hp6d/JzAaI2XIo1YViZdtr03x2JUWWg0hsnelPR2ZDVrSaAjRHyqhC9AKmr+X/smHqKF7vibx9Tfur+R3VzpNIRwIAKXUgAAtodxjegmQOGBPAFMAamLXWf07ZlVf+x4Z5AMCiy0nanMf8OIYUlS7KgXJTD9GAvOOntWSjO+1OmneR1xDgD66uXOGRjC+2yaWkzR79kCQVlMW6pwovGIZr31q384kE/loMVr/7CzEqnOmkFE4gBhRLSgSN0ctvxzpPMtAdRg5cxmNIKpV7vMbdY18WRhsPy7Z6AkYD5TTppU79XVgAdAz1tjnOhslqxU5XM+qRVwgCL2yKwFI1/5ok25IkSZJ0aFICpMD+Hs4XYZoGRSo8KLwdC1wnLhRvTku1dItLCYbKUq9wWOUzClh1kbfhSyezEave51aXUEh1kRcmIGz44NFIV4nCbd3YRgM32NWUhrpilwe9XrmTMg/Ylanf0nkweFhK3PS6Em3DJnv9ZwkloE7gXEiXNabNaG3R8xSPdcNkB7aE4g28myoloIafSKRb0rOoy6QaBfbwqP2LXrCxMx55RwpjFZ30HKXNe4rSeocKWN/zdCAYJapc90OpCqg6E1kFwmW8YXsogbaR6bfzuz9T+zELQ6435jwWqdhFcfQBcYBI7IiXrlqRGEE43fz/xTUPcweOImY8+c48wo7ZTSm5BHoEyxBmoWKHB7RBKZwcxUs/KQBVZj5nxNMrwrS25FULRo4jbqWhg81s1TtQ5DYQ7XHPh2B/4snGw0Ciwkbie1ji2u9YHkQlswHVGYvgnJjyECq8cJaz6l1HGC0S7rp7SsoBQRfQFwwdpBH+HbuKEEDFTpIfzH5OS5YygRQYCSFBeUFAlkxn4VKlag85ofBSdTGGTi3b5mLcRKrqhJbwH8Ad3iKAzuxmankhOTrFYSbKSZlRz6O7Xo0feEJ1PZTiuSRJkiQdmpSYFymkHHkvBZufeR+FVId6Lt3sjb7PpPS/lvfVTbTvw2I95LrQjvlOEN89iSilwBk6tqoLnrbIXO8pcx6FE8qAspzzeCRwjsBEj13j3pVpV8qxD5uwZh/1RxOAadbD1rK/W+3GaZ1u09d+ZC9/ixAW9CvwSm4bBrf917eECQrkM5gWavEfgbqdrq9+z07arfY5T1/wbOzR0U+FoP7R8a9upmpnPRyB26X5QG3Ri9a2eU7QTzgRVvyLWoLa4CLpOEGDopr5UESoagzmiDtNwK8Z96faGnt+0kqo+XCxtwtuF4MF9n+eQijFS+ia6J1HOZ5IN4dLPLiNjv2L7ro8PaFHtoGC9uq4x0JQctCRlP/SwWCGhNlmzuOUMxzIqespOmxLGK7NXzmAWUG0Pa6Vo13k978KZ5OLTWQ1gsIW+hg6uHijm9tKHfdoqGyLO/nKMBht+Nxu1l8bdpO+Y4ETqaDs0POftjpP0tuOIackhj0ww8APMvw2c9aDEZ8X3IV91c3f0F/7XqAvfd3mCRy8hc9b3X9JR8uH3miK06mzH/FnF1bAEbfrsx+jGlSmiByQCs8y4Voi+Xa430UGLIVgPfdJC+WTECpGe/2nzpH3mJSHyFW+vIG6gDI1/XfBQ8wsDFrtj9Ex1+gOvK7gPu2ucJ/zDQg8xDJIVcETbfrgCTKw7mN77IMhkSX0y+vDgGgYgXlPWXDiEPzyKNUzvK7j/xgCRoH9kguIYlUl4Cr8DHCzY54Ds1aDruqeZS7eBSSFp+mLayM27x3Qdu+z6Yzasr/bm75y0iGqYIohDGj2+CfoyA7Gn4x2DvGtWVKSJEmSDjVKyCpAhzpDlH8uMI3Qac0QHTl0eZJkqL2NX9KyCGWWLsJs9C4DE1l/FXERg9LIkcVFrMiosMev9A2fO9jRpmtZcFNGZMRVhJ8+xKAPhBankx88KyHsRgIK4AlPFq3UQnRm1ktel5MeAmyhF+CLmilTDL9sEt8jJXoDhbIy8R5QGshMxmFEbOjEfZOU+ZOTXge8oOx3nt94DGBgCUtuJwdM5FOIvs6PwlC+bjvsBa8Ta6aItII0mLl0sx0VokxCjyrpV/wJQydK4jmKCRAmrr3ENwmjRCUtn7sQGM/1AgAhTGuEzzgj0U4tJDIp+jKDatEeEqFwKkZ8HAJkQ4wiZGNAA3iyJKoWUBW9bjtWW/1funfmvx6h5gVTya/5KOLkMqE9l2pLwoWi/YKjOFNVF/FIlsOowCf1CA8JVXg1GPGvQNRJHIORDyqpjjFCgwMQI2bNDvMhcnyBx8g06cW2z3cD3Aw55ILkBdKVRDSV/PWA4gXecxInPbGkJEmSJB06VI+8SFhAWx6hYbNYd3d7OqJjmOp+oIYkSSkJkgPzGGxFMMBIEZIkSZKkny3V42itx88qKgeDfjgGkvSzJdgkkg5iS5IkSZKknyElIBi6VCmuQbiEVxiLnt9k/HCqF1eAPxf2bf+hm9pknYIYfyV69DB2wDPKpbZXgyalrFapcxtEVakK071Z5lv4f8h5Rv/quFePJiW0TfkxTlP+CIyEeAgPFP89FjEv9jDpFTWVeCgJU8xY3DRJkiRJkqSfHyUgmMa91aZ9VLi9d8x3i9e5FD1Mo/O88Lu3HqVt/pqOELYYrIozoRW7vI1fwhVP4TpaDFG3fOuUb6uTMoGfvuNxmgjkCvWz4m1baCndVJoP0bZOr83MY2RT/IyKnSkYwWffcqiGZih1IIpLdoS2ZVpyYfQXI9Cou2pVKes/s3+IkwKNyWnF1n/mpDwHUzvpWSyjoVK25X+unMEoqzGja8P/G6Jgyl0o0snGKU7VHuoOZrnbab7Ubfgi9UGopn1VkVQBorjy33ZwECSzEaO4hSX0SqgBaz9e27vCFZFRJEmSJEnSz40SYrrsXU53NXcucos30B0iEX3VzGOqzvqer9OFkd7quo+dle/Y+Ld5qgN9n92UdTpeW/OB3fd8g0cx2T/pmaSKRCWr3onpJ8fav5fKqvJEjJAU1YZYr9/U1Smm8qhuNZ9D47YdQ90BXDvxdYoAqxwobf+OsEt8xPq6E96KDwpyADTwSiOjYP+NB6MmfdIWA8psd1Ta5D51pNZH0HgOvdHwY6UwJVKurHqXZh/gOOUrzQdqQDwosPq/MfGAdB3711Ao3//1iFsNiGLjXmpeG5kDSJIkSZJ+jpSgxV2HX7jwYvcplv3Tbn+UBlsL03hIUH6tOrBMwOzR9wJj3lN0oHLRi1bnSdriV+jCBiz8/S81vn/ZSnneBdUGl24C0kLKuEdCUGkz7otAybUarhWvd0f8jgLITPt9RGy7sTUfcLmx8Hlr1/cuT9jExtzvR5j5+rawyEY06m4zsyHbt95d+KzlREhDj30oRCcn7ozY/PqxmUtv2dWemZOqbYp/K8eJeNPviXQ5SVv6hg2bU7fT9dYjtOl/iIRLvRaDNeA80STQmAfMeX+yupyoo3n4FcBu9Qc2j7tKXpL4LAqhAjb6XnPHQmfFW3RbWLRfuFTQvEgZj9N6Mt09XvyKlTKae5/zdBi6upysr/iX3f10XXSK6nmAejT93oi4EzTyLrP5QLKWwVj1ze8iMLTUZNTpBK3D0frSN8CIh7fPobahAKZg1iM0oU36UK5KINSup+hTbgyLGLKAIyiz7E1r29w6RTzDgKMwxOC7p6x2Y7WV/7GZSlY0QEMRSiclqSZNE4ZIhKJR+GWZ9kdr856yVI0JzxM6gkHe8LlzxO3G17ckH4tp1E0F60FXG/vWug27qPOfsUo3e/ltmUjnCbPN4lcteRhLkiRJkg5r2o/RomSD16ATqZyA+pxriGullbtdeAHo4qWVfBbB41H2a9FwTXqrgD68qLfkddpn49+shyOj7yMlyijqjFLQUfv27gjMAGMfNidfQXhn7yp3zh/9mPcASeMeMec8ZtEV4moRko5uln7/N9LirYarIk1dr7MAsEhT9b1QB6aBAwugBNWGGijjHwvV0nH0sWK3l9GQEvgBnexb426Y7HSaqEFzA7vAD7LiLQs6vmovqUMwgqNk2l0RqPneZ1Mg/JrR2/LbU7B/sM5ry4CHlv/DLujAZj0UAerSeCLD2Y9FOp2gl25xv73bQYHybSnUO/BE9T5l9qORfhdR5oSxD5rf3hPp9gsdfQRrDClUNYZ97hPWkOuMZf+w0DyFR9MPGA27yQBGhBevcjfFTe5yihYuoQmDRwbABXasvHYst6UKI1zRKheQCL42YDI6AuXRnMLHR2kXrzO2zwvX6QCK518Vbsc9PnxgKeY0dJkAAAaTSURBVLBhu3EaXoeJJWXwnu3zHIwVEAYFcFvhonyHY7U9S934rBT4a+eJGgwzsx5MgUT0LLKlAYMe/ZQ55abIEbcZsx6y+l1iYGScME2rIl1PkiRJknSY034QDPwgq993j/qjGaQeXPOhf2yltjMiniKik6Uj2FfWfkQ4yIvLy0gx0+L0GRxMdjXZLYIn4AhLg+vwFEKugp33iDsN2CS2THd2L3GNLAZsIZL2ic29yHoIBKaoftBS2F1KNlHyRSjOqqI6nTLRDFKfn11Ord00xWnYTYWXrcMxWvMB6r517p5l7vrPKC0feoRq1bSpoghGAPCJvI/Db9GX/cMuWk1ZqQEdYGAo2+YBBuHnL64lRhicpv1SeJEcW9k6g5IPAFUQO0phw1oOU9FHIBgWnUzMWqTci1TAX0PR6IvXua1HaugFHIKwfKCRABDQ65im9Z86LYdqGIh1n9gDLjWADrNbsOn3EibAEEVKPbvKC/N4ux5TgHVglQGmLOhYP8cNLC757dia911R7ZLXqI/Af/ntVIpeX4N2zHfxD4xG3mnCApfVhFH82QxW0J7BBiZiIoO2fOtixHJaMgxFUg0YorUf0hDtW+eRtYyfRof1bsDlOjAopEUe/5UkSZKkw530WLJlEXeLBy5T9Vj8LuxZl71hH/kH36sBw37Mi0RhxHiuAK4Q4p0CScG4kghmklpi2dWFKIBbNTl64G7IKGBwmtQM7wu1t3Wms/hl0sciNC3UJ+P5ZSjGWvrUQhoF8fNg58C7YEQB3MS5Y8UPtoaHWoaSLmJYQBRpTaN/IhQbz/VNfiXXIZgFQw5wXuEsN5Sr9D5PpxB2licYiaTHdSE49Va9S9FXlRoZCcCOUi67lIa6cJazfZ5r5CiAKdSjiJ8PkiCXSuyOezb01c3kYGraX01Kiy1i3MFX1WKQOvsRGsxRvzcCRhR1kKW9Hk+jnaWMf9xE5WLwAbPESXAv7vJafEQ7xkeMP2EilhrMTjvmO5rBsprEDnFD6iB7m6c5sCpNvX3/l6s9m1Am7E/AxG1Ha7B1OTJQmyRJkiQdzpRgg2lzpAaXBNTG0jesnQtcoWOgePatd8WFmiREAtUOP07vc/QGndVd37sixL4iclPfYc54IHXAMarETf08lsIm+NlNDqwu/gBFCAcHbCHi+cLnrOBirRdtJzbfcP2MuMMUT6f/IQILhB1W8ITOKac66CrehdNB4Un1YMOAHWjKjeEBlxnZzSipIcwwGJApvw3DqLBtjjv+CZMcK1mxhDikdAPtrilwuCx8zobuRGG0FkaXih3e5CtJ48KWg2op5dNOD+oZY/X1rZH+3BACq0nlnlTgiA9L0EHXpWMrsEKJPgJnwO8jCm6Z5gy6mvx9K9624ecSjIAaBVCAwwv4LLc1g7dIeJGW/9MefC31GmXWfuz3AVya9lFhv4FlCwUyG5ETCpAlq5m41kyM+l5orEp/JhfTdPwLIdi9ht5orJ/sbJ/rwCqGQcCfNn7p+EkimcL9RJQvgvIHhVivs3SYrDCS379sU/6ECo/nB/XMPDUcNbfA49Z8ELxd3oz7UqCnIAWSuLAtYuDCG9hsAFm2qos8mfdHkiRJkg53YjNmzDjttNP8X1g0MaGIB6P623o/pIfDn9QAH7HAJ0pMeacsGeOSMnBLfLSPKOukKC+x50piUBnxJOXrQRk38S2WOtdg/GGLGK+k4C68Wjqoyxmx+DaoCWHg40OhxOKgJLWNxQXXUaNPUsXX8YdOqcE9sY/x3YxFT6mVUcKwxMduYdGOK3FmobihSzubQVktaqILZIklDKY4FlO+w9u92PUSpyw53Et02JWag5nMNW6I3FjwmJoDJUmSJEmSDlNKsMEkKYNglafnTsKThLfq/DBWW+o/xGXMdVM8VBKrram6Ur/u1eBe6/67Tt0J7D1io6+kb6Gz/0r2yz2hwrgfYty9VCW9FC+mY5R6WBJbmHLi9nueNwkm1mQED9TGKXRY2K/Kq1VC4qx0tXJNHKKAqTS9SJIkSdL/F0o4ByNJ0o9PhF1kAmRJkiRJklRPkghGkiRJkiRJknT4ka6qPyj2qyRJkiRJkiRJ0o9P0gYjSZIkSZIkSTr8SNpgJEmSJEmSJEmHH0kEI0mSJEmSJEk6/EjXNE2RJEmSJEmSJEk6rEjaYCRJkiRJkiRJhx9JG4wkSZIkSZIk6fAjiWAkSZIkSZIkSYcfSQQjSZIkSZIkSTr8SCIYSZIkSZIkSdLhR/8HAAD//4cHB0kAAAAGSURBVAMAgVtN7RgC1OwAAAAASUVORK5CYII=&quot; alt=&quot;공식 Jenkins 문서 기준 initialAdminPassword 확인 실제 화면&quot; /&gt;
&lt;div style=&quot;margin-top: 10px; font-size: 14px; color: #475467; text-align: center;&quot;&gt;공식 Jenkins 문서 기준 initialAdminPassword 확인 실제 화면&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후에는 보통 아래 순서로 진행됩니다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;추천 플러그인 설치&lt;/li&gt;
&lt;li&gt;관리자 계정 생성&lt;/li&gt;
&lt;li&gt;Jenkins URL 확인&lt;/li&gt;
&lt;li&gt;Jenkins 시작&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기까지 끝나면 이제 Jenkins 메인 화면에서 실제 작업을 만들 수 있습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(239,68,68,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #7f1d1d; margin-bottom: 10px;&quot;&gt;이 단계에서 자주 하는 실수&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;초기 비밀번호 파일 경로를 잘못 보는 경우&lt;/li&gt;
&lt;li&gt;복사한 비밀번호 앞뒤 공백까지 같이 넣는 경우&lt;/li&gt;
&lt;li&gt;플러그인 설치가 끝나기 전에 브라우저를 닫는 경우&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;4. New Item으로 첫 Job 만들기&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;웹 설정이 끝났다면 이제 실제 작업을 하나 만들어야 합니다&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Jenkins에 들어왔다면 이제 대시보드에서 &lt;b&gt;New Item&lt;/b&gt;을 눌러 첫 작업을 만듭니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음에는 복잡한 파이프라인보다, 새 작업을 하나 만들고 빌드가 도는 흐름을 먼저 보는 것이 좋습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 26px;&quot;&gt;&lt;img style=&quot;width: 100%; border: 1px solid #dbeafe; border-radius: 18px; box-shadow: 0 12px 30px rgba(15,23,42,0.08);&quot; src=&quot;data:image/png;base64,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3RkVlfzjH/6kra0H53Nzi371y99mZCzbuefT7333ewH+XqmpyY8//sj6Dds++PD9119/BRrUEo5GrQ0MjHjqqW+/8eYboaHB33r66aamDu6rstJ8jXr8yf/35LvvvSsUin71q9/o53IPQ9pu27bxO9/55qpVa3fs+PiZZ560tbVtb+/+859fyMzK+PHzPwkO9vvPf95sa+tmzOtxq6qqrW2m/vyXvzzw4AOvvfLqD559btWqdYjqiuWr33nn9YMHT0wP/Imv33HXXY/ceuvWkyePfu1rD8fFhWk0E5WVjeagpgYGhu3sZIsWpePjieMHhUL+D3/0o7/+9YXxccU//vGSQqHSGwzPPfeLivJT3//+99/94G2VSvmvf/1Hq9UxBEEQBEEQxCVyOf5dkUj49xf/+t677/3x938RiqTpi1OXr1gSFxsOr+qHH+5OSkr59reegKvV0931sceeHBgYdHKyt/x2Qq05eHD/li2bt25dLRLZero519VVnTiR7+GxKSfnyIoVKx955HaJRGy5XiaT4l9XF0dv7/O8m1FRwfjjjhcvio2LSz99ujwkxA8f5W7ye+/dtGhRCo6Vikd+/etfDQyOeM/lHBUKbXEvJ2cHKHiZTIQzr7zyfmho+HM/+h58ut5e7t/9zrOdnR3+/qx72N1d/vOf/QAHsTGhZaWlgYHh9967RSwWesid8vKONzRUM8wKS8je3u7m8G24aEuldmlpqUeO5K5Zk6XRaktK6iOjwoOCvCurGn18vL/++O1eXp6Q1BKJ9Z///K+ysjonF4em5rYfP/dsamo8RgKPP/61f/3rlcamjpjoEIYgCIIgCIK4FC5H70LLpqXExUaHFRSWnDh+ori4JPdk4fef+ebixfHlFcW+voFvvvkeY36sDY7JGdt+9fePjI4pm5sb3n//I2hKjUarVE3093cOD481N7fddVfSxa8D7u7ur62t02jUw8MjdnZ2irmeOXN3dzaZJic02osMs7j4tJu771tvvc+YV/eOjo4oFBNTU+et7pVKxYikUqniVv3a2grDwqLnDxY5lp6e+bvf/XZ8XKXX66pr6u6793Y+nz/9GuSGp6cbJPLg0OCEWms0TObl5dXUQEYj0wampqzGaQM1giAIgiCIS+fy3zcBL++ypelLsha1tnY/++xzb775LvSu0aDv6W5Tq0O5ax566F4/P6/z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&quot; alt=&quot;공식 Jenkins 문서 기준 New Item 실제 화면&quot; /&gt;
&lt;div style=&quot;margin-top: 10px; font-size: 14px; color: #475467; text-align: center;&quot;&gt;공식 Jenkins 문서 기준 New Item 실제 화면&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기본 흐름은 아래처럼 보면 됩니다.&lt;/p&gt;
&lt;pre class=&quot;ada&quot;&gt;&lt;code&gt;Dashboard
 &amp;rarr; New Item
 &amp;rarr; 작업 이름 입력
 &amp;rarr; 프로젝트 타입 선택
 &amp;rarr; OK
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실무에서는 프로젝트 타입이 다양하지만, 초반에는 중요한 게 하나입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;새 작업을 만들고, 빌드를 실행해보고, 로그를 확인하는 흐름을 먼저 익히는 것&lt;/b&gt;입니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 24px; padding: 16px 18px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; color: #334155; font-size: 15px; line-height: 1.9;&quot;&gt;&lt;b&gt;여기서 체크할 포인트&lt;/b&gt;&lt;br /&gt;- Item name 입력&lt;br /&gt;- 원하는 작업 타입 선택&lt;br /&gt;- 생성 후 저장까지 마무리&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;5. Build Now 실행 후 Console Output 확인&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;설치가 끝났는지 판단하는 가장 중요한 단계입니다&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Job을 만들고 나면 좌측 메뉴 또는 작업 화면에서 &lt;b&gt;Build Now&lt;/b&gt;를 눌러 첫 빌드를 실행합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 바로 아래 순서로 결과를 확인합니다.&lt;/p&gt;
&lt;pre class=&quot;routeros&quot;&gt;&lt;code&gt;Build Now 클릭
 &amp;rarr; Build History 확인
 &amp;rarr; 방금 실행된 빌드 번호 클릭
 &amp;rarr; Console Output 열기
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;빌드가 정상이라면 Console Output의 마지막 부분에서 성공 메시지를 확인할 수 있습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 26px;&quot;&gt;&lt;img style=&quot;width: 100%; border: 1px solid #dbeafe; border-radius: 18px; box-shadow: 0 12px 30px rgba(15,23,42,0.08);&quot; src=&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA0gAAAHCCAIAAABaMX4bAAAQAElEQVR4nOydBYAU1R/HZ7vrYve6u4+jObq7GyRFFP4iBiB2oKKooAhIiiDdId1dB9fd3bld/9/uwnpccQeocP4+rsfsmzdv3szOvPd9v98Lanp6uouLC4EgCIIgCIK85FC1Wi2BIAiCIAiCvPygsEMQBEEQBGkloLBDEARBEARpJaCwQxAEQRAEaSVQdTodgSAIgiAIgrz8oMUOQRAEQRCklYAWOwRBEARBkFYCCjsEQRAEQZBWAlWv1xMIgiAIgiDIyw9a7BAEQRAEQVoJaLFDEARBEARpJaCwQxAEQRAEaSVQCQRBEARBEKRVgBY7BEEQBEGQVgJa7BAEQRAEQVoJaLFDEARBEARpJaDFDkEQBEEQpJWAwg5BEARBEKSVgMIOQRAEQRCklYDCDkEQBEEQpJWAwg5BEARBEKSVgMIOQRAEaRl6vV6j0ep0OKmCARKJoNGoJPjn2Xi5Jql4XterUmkIpIWQyWQqldzYT4DCDkEQBGkuWpBzOh38ffZ6vdUA+gTUCYViqGjhL9FyjHdVD/8TLw+gLeARoFIpxFOh1Wo1mpfpel8o4FFRqXRw8+EngB+izl4UdgiCIEizAP0BhjowtKCqqw/cHMJohWqR1jEJ5ZfR9mnItN4gRikGWiZn1WoNmnufHXgZ4S+VStS5/yjsEARBkCcDVbipIkFV1wQmeddMbWe+pS8p8CSAtRIuoUG7UWOgqnu+GO8/Ceyn5hAUdgjyMgH+i+yqgpTSrNjE+PXyE7V3jRR262wX7Cyx9+A6Mhh0AkGeK1gZNxO9kebIX7X6JVZ1tYELYTCaJexMN4dAnitgOSWIv9oSKOwQ5KWhqrp6fcrB6zmRicos+GpLs+zI9jPtSlflH6y4DB+LRN4A205TvIc6i2wIBHl+mAwzYKYhkCYx+ijJTxR2YLgiWgug1eByaLQnKwpTb0I0+j5fQFiDO9z8FYUdgrwcZOXkLo5bHVWVAttz7Uf08O7AJjMlNJFpb7VWVqAoS0pO/jx/646c09fLY75zfcPPx5tAkOeBSqXByrjZkDQaHZ3+BAuWcahEK7ml8Gw0Z+SHqU8ePkjPHbiltYU16cqVK+Hh4QSCIC8waZkZ799fHaPJDGC7/hCy0N7OtrGYNTXSFbe3Hii/RCNRfwv4MMDTB4tR5NlRKtUE0hIYDFoTe1tlPzMymdS00Q4uuTXZKV80zI/cs1rs5ApFdlaOqbtofZhMhp2dLXb3QZBnoaiidEX8H6Dqetq0XRb0uoDPbyIyl8tZ1GkGPYrxR/bJj1M2fM6ZG2Dn+V/Qdjk5OfciIsEf0a1rFz6fRyAIgvwneSZhl5GRtWHDltt3IrTahnuAsljMQYP6z541DbUdgjw1nz5Yf6nmwWBJl886vM6iMZ4Yn81iLQyeLKBy1qTv/yJm0zrLDyyYfOIZyMzKvnf3QUxsbFVVNYPBcHJ08A/wbd8ujE5/gd7rGzduzZv/LovFOvHnAT8/H+IZqKyqjrh79+69qKKiIrhGiUTcoWP74CB/JpNJIC2ksLAwPT2zTVgonUYjkBaiUCriYhMOHT6qkCvMgSNGDgsJDmSz2QSCNMTTCzvwlF++eu3uvfsffPCep4db/QjgTb916+6K738aOmSAk5MjgSBIy4lLSLxUEtGB7bvAZ0JzVJ0JFpM5O3BkdWXNtrJTCenJnX3DiKdCLlds3vz7ho2/VVVVwbapfwydTgOJM2XKxI8/Wky0Oq5evfHV198nJyfLZHKNxtCxjEqlcjjsHj26fbv8G4GARSAtobi49OjRPz083K2sLAmkJcDrduvWnT+Pn5o+fWptI/SqVb8UFxcPHNDvhWpZIS8OTzNHtgl45goLirp169K5U3uRSFQ/gpWVVefOHWxsxXEJSQSCIC1Hq9MtylhDIVEC7b3trZ8wylWlUt1MjUwrzTZNJsCgMzr7tGGTGa/GfvN0M9pXV9d89fUK+OTl5YOL08ZG4urq7OLiDDU0iSCFhAYRrY4rV64vXLgYjHUymczKygIu1s7OFlRyRUXlwYNHBg0ampKa1vzUFAr18uUrp0yZ/cGHn1dUVhLPm6ysnGnTXoP0jx3/k3hR0em0KpW6RTNcFBeXpKamwSctPQOePblcTjw/7t+Pmjv3zafo6aXX62QyVbfufXPz8oh/BJVKeeH85Q4dwtzcXOA5FAqF4BxTKBTOzg4Qfv9+ZHl5hUb7hAlTpFJpbm4e3MzMzKzKyqoXf6oR+LmzsrJr51MqkxUVFSckJs6ZM18qVRL/EitWrNy9d1/9cHgwamoUn3z6ZX5+ftMpaI1DgolmY1y472m6JD6fUbHXrt9c88v6OoEffrzY2cmRTmtWk0Kn0+fm5kdGRhUUFHC5XPCkGJ0pJI1Ww2Q0aqWokcqg9qLRnnJJEwR5wYHXQalSWdEFs1yHNR1TrVYfiD37ddrvASKPbT2+MHWqa8P3ChcFny69nV9Q2MR4i8b47bftW7Zsg5S7d+8ydcrEwEB/iURCEJSiovz4+MTOnTsSrYvKqqrPPvsa/M58Hm/KKxPHjh7m5ORcXlFx+9a9rb//ce/efVB1K1as+vqrz0QiYTPTfPAg6tz5C37+vm9IXxUKBMRzRalU3rl7r6SktHevLsSLSkv7d0JltnLlzzdv3QHvrWH+XpXGzt5myuSJ9vZ2xL8KiUT+hwexajS6/PyCTz5ZCvcwKzv71KmzOTm5hFHwCAT8P/88debM+Z69urVr22iniISEhAMHj5SXlcvkCr1O17NX96FDBr3gPQrS0zPmzX/7962/Ojo6mUIO7D+UkZk1ftwoNzdXrRaEXXMdF/8UJD2hdrC3B9N+0/Fu3LzN4XBDQwKJZgAvQlFx0elT56ZOndjSB+/5CLugoABwyNYJ9HBzU2uaO5AqJyfvxx9XOzk78Pl8aKZRqFRvb8+I+1HQKHnj9dmNHfXD9z8NGNCvffs2BIK0Rk6V3CpVV1qyhE2PBoAi4ELOndVZ+zV67asuw81TkHM4HB6PR5QS3yf98YPdu0RLgJL059XrwArYpk3o8m++gCLVvAvsWPAhWh3r12+Jio6BjVfnzFiw4A1Tk5LH44KkcHJ2/N//3oEq5+qV63fvRvTt24tAGgdu46WLV8D0MnrMCHPgvn2H0tLSwKk9c+Y0FqtRj7ZJB/bu1eOddxYoVUrwC23dtmP7HzsXvDnvv9nH0aSMT544U1paOufVGfb29uZd27b/ce7sRRuJjbu7a/0Dq6U10FAZMmTAK1Mn8fg8mVQGyoP2wvd09PT08PH2PHDgyIIF800h589fmjplvJeX15Il7xAvHvD7cDncV1+d8cSY4FgXiy2bKewg2cKi4l27902ZMqGlraOnd8XWRiK2btu2TZ0PNCman8LVa9e5PPb8eXNmzpgCP97oUcMYDEZJaWlyckoTR8XFJZSVlREI0kop0JUr9eqv7eY0HS29Iv/diFXl6qqfHRZ0d21rDjesM2MsERIVWUQL2bVzL/gfwRIwc8ZUV1eXpiODr23NL2snTJgeGtqlZ89BK1b8BE4i896bN295egb36DkQPGvbtu0aM2ZKmzbhkybNjIqJq51IRUXFzz+vHTRotH9A+zZh4UOHjv3ii29rRygvL1/105pBg0YFBnYYMWLCho1bwC1FPImiwuLl36yA1CDZ2bPnXblyozFvyMaNWwmjbJ00cWxtRwGFTG7XNnSsUaMUFZdAtsE/AqaUNm26ODh4ffnld+aY3bsPgJCpU1+FWweN1U6dely4eAnC4+MS2rfvDrt2/LEDvu7YscfTKxi8qAWFRd988wPcsfYdenz04adQc5uT+vDDzyF+u/bdIyOjTSEXL14NDunk7OL39dcr4Ov773/So+eA0hLDIUs/XAaRBw4cWVBQSPzbgO9144YtJSXFnbt04PK4ZmNDcEhAWNuQq1evHzp0uInDTT44hhE+jw/V/IRxo5MSk+GJgl0REVHTp88Jaxu+ZMlHYEwF55evX5v0jAw45Oatm336DI6KiiIMzZLMEaPGp6anvzpn3vff/wQ3avCQUYnJyXXOBU/U8uXftwnrMmDgiKtXb0L6JSUlb721KDCoHQTu33/YNO9aUVH5lCkzIWTx4n+tU+mOnXsWLVpoa/tXfwzI2MQJ44NDgu7ei6gfHzJ+5NBxLpczadIEBwcHAV9ga2trbW1tmsb2+xXfh4f3GTt2cmx8vCl+r96DNm/e0rVb35EjJ0RGR8vk8nffe//Ynw/Xtlm9eh3cRuIfAaTnkCH9Dhw4qjEahsBUmZmV1a5DO/g13T0CTHEuXbrUt9+Qzp17bfltG7yMq1au+vHHn01r1y5a9OH6DZvBQy2Tyb74/MtLl66Y7odUJl216pc2YZ2Dgtp/9dU34KGGyA8eRI4cNRF+2WnTXk1MTDTnYcuW37/99sdx46Z06dJ71aqf6wwPTUpKnj37DW+f4J69Bl68eBkeWChph40YV1hUlJScPHTomMWLP+rcpdeECa+UVZSbjwIj9Pr1mz/66MuQ0I7xCfHwA8HX3n0G9+039Oy585CZDz/8bNeuA3AR8Fi++uobh44cmzJ5ZnR0rLtH4NWr14iW8HyE3Z69+6EgrvM5f+Fi81Ngc9jp6ZlxcYlyuYJsJC+/AO4smJqHDx9fWVl9LyJy+oy5ffsPHzly4qHDR+FGb9r0O9jzvvr6u+XLf4Sf9vXX3zp+/BRh9NDPmvXGgwfRNTXSxYuWjho1acLEGWvWbCQQ5OWEQnrsPc2TFd8pjjVPglVRWTn03AKtXvee06Qe7TvXadu9YjHAivo0HsCoqFj4Cw5cV1fnJtqLUB7dvHmnV69Bn37+7cVLV6Boi42L//a7H8dPmAZFkjmOSq2GF3zsmKmLFn94+cq1nNzcs+cuDBs69sJFU7FL5GTnDhg46osvv42OiYUir7Ky8l7EA2jvmU9069aDceOnLVv23d1790vLyq7fuPXBB5+PHfdKbGxyE3k7efJsn75Dfly1NjEJoumP/3lq0uQZK1etqa/tcvMLoDyFjZBg//r2UbgDHTu1M21nZWaaBKVarYHrql3og9saQkzdnuCeMZkM0+LcIA3B8icQCphGSxWcHWJeunwVSjOQqpC3jIzMXzdsnTxldlpahikpjUZrSEqtNv/QxqMgQGWaXorFYvK4PJJxgU4GnQ6JQy3+IsxrQyZTIu4/mPPa7Pbt2kmsxeZwRweH7t27h4d3ycpqqo9a/UuwsBBqtRqFQglybeXKVVOmTti1e6tMJl+3bpOFhWVQYMCtm3ch2v59R9hs1v37BmF39vSZTh06sFksMLLCA7xt28bevXt89eVj7QRIcO3aTSwW++jRPVOnjv9lzbqi4mJoyfTr12vXrq3ffvPplt+2RkZGwm89e/arcPjuPb/7+/sT/xLwUlAoVLi35hCoJcECRzas1tpAtzlo092+c7djh/b17qf+66+/yS8o/u23ddOnT5096w2TlRoaFSUl2ckYswAAEABJREFU5du2b5owYczsWfPKykoD/P0uXbgKu+BljI6OGTpsIPFP0a17d7lcds8oWHf8sQfMt/CoE4bFLQxSLyLi/i9rNn6/4qvft62/eePWjZs3O3XpkpmVXVlZBXr09u07SYmJ1VVV8MPVyJSODwdukkDR+vn7btr0y+Ytv8bGJl25eq2qquq33/6YMmX82XPH3lu0wM7uL18/vGJgJnzn3TfXr//p7t37u/fsqZ09Nps9btyoI0f2vjp76ubNv2VlGZrNGmPe4LcAa9SAgX3/2LFFJBR8/90q81Ed2ofNnj3tiy8+vHvnsreX9x9/7Ll16/bGTb98+snSX1avB90yfvzoa9eupqSm/PzT6qDg4CGDBm3/Y7O/v1983P0uXToRLeH5uGJ79uzhYF933GtgkL9S+eT2tInOHdtHR0avXLnawtKiZ4+u4eGd7GxtoIFy7syFFSu+olIpLs7O7733llAoSE5K/Xn1Wnhep0+fArJv2rTJ/fr1NpWedbh58+blq7d27tjMYrOfrgcigrxogIzYk3RmQ8rB17xHvxk4AcwYP97+HcKDLDx7+HZo/jrcTQPvS0FBAWGYihKkSFP+r8zMrK+/+T45JRVsCVDYWVpaJCWl7Nlz4MGDqE8/W/bH9q1M5kPXj6kL/NSpE+HVTkpOOXXqbHV1zYoVqzp2bMdiMtf9uiEtLd3J0RGqbW8vTyhz4dI8PDwenSXzzQVvgTT09HAbPHiASCR6EBV95vQ5cG188eWytWtXQRlaP2/QUPzkky9LSkp79ew+ZswIqPVPnjq/Z8++tWs39O3TMzDwsUq6uKjItCEUiRp0V7m6uJs2ysvKm1OeiETCRYve/vnndTGxsbZ2tgsXzreytAD7ijkC3BA6nfb2wvngJouIiIQbEhHx4IMPPtu0eQ2b9eSxt6NHD3N0dPjqqxWVVVUjRgwaMKA/6NEW+Un+bo4e+5NBZzg7G3pKFZeUbNr02+jRw594VH2VQiJI8IuAQLl166aLq0uPHt2pFMqrr87atHkzWHnHjB155/a9/v37wEO4YMHrZ89dght76vSFd959y3T4qFGGkw4Y0Hf37v21ky0uLqquroR63d7OfvSokdev34qLi+verVtwcEBCfFJJaQWbzSkrq3gQ+QBsBJMmTwD1bG/rtGPnLuIloaK8glqvA3pVdfXmLTsuXjhlb28L79f58xfv3rkH4hh2DR8xxMXJydnR8ciR4zev3wIxAWZCaDempqTa2Fg7OvxzU1uAjAMP8uUrN/wDAk6fPrtq1fLae2/fvgePBBiwDZdTVR1x7/74cWPZTAZYW3NysvwD/Kg0BojRyqpqKC3tHtk4mQxmxw7twP6dk5MLWjc9NbVL504cDis2Jt7ayjokNMjQa6UW0Abp0L49YXjRhu/Zc3DSxInmXTY2EpVamZSYUlOjgBZiTY2s9oF0Br1nj26wMXHS2G+WrzSHg9Q26XIqlS6VyqAZzGQxjx7+U6fXQYsiIyvLy9sLMv/996sYDNaChQtA9hDGOZ/pdCqJ1LKC/fkIO2iM8gQPb4qDvZ25kG2+sBOLrd95+838gkJoiG/bthOU7OLFBm86eJJMl8flsopjSvbs3g8/ZGWFAbi5hLF516CqA5xcnOFGgqcD3vzevboTCPLyA480zdhFd0vSke56/zPyiCM118VMi2/bLXDkSerHP151o0JbwyVaPOWVqXqVKxRNjEmE5ikUsvfu3YeN+fNmT5s2FQweINeg3ASX6/XrtyOjIju0/8s1DA3ZD5a+C+3d/PxCKHehYZadk1NcXOLk6FBeXkUYhkPVCPjcsHahYisr4pFXDjhy5ERmZja0615//VWwKIChApyYYBw7fvwkWBZjYuK6hjfQojV0Ns/Ng7biG2/M7tIFbJmEs7MzOF/i4uIPHz5WR9hRqY8EqEze4IzrekL3KCalOYYxuMyBA/uDxgVhB9KtZ89udcavQASQudOnTYbLgXwa5Mips7du301KTAoJCX5i+mA9otOZNLoh28FB/iBciBcMe3u7d99ZCrau6upqUNhQxYI3sBnH1VV2UEODxmKxGBXl5UKBgGp0JvJ4bC6HCwobzDmHDx8Fl3dYm9DAwKBz5y6DvRBc4WFtQkpquba5PF4dOa5SqeFjagtBA0YkFKk1mszM3JUrV3bu0snDy9002KWirAwaEoyXcGIR8GJfuHDllVcm15YFICnAlMXjc01fvbxcwXJZ+yh4tq2trcrKK9zc3dxcXW/duFFWIXVxdf0nJ6MF8+S4ceOXf/sdODrdPdx8/fxq7wXTtY+3W+/ePQmDUam7lZUlmKvZHE5eXtHu3QcnTx539+6D6JiYrMw8fz8fc79MMPMv++pbR3uHTp07uLi4QiIcDmfu669dvnhx27YdGzdt/ujDJZ6envUzIxIJSkvLauWNuHPn/t69+3r17uHm7gKNscauwsLKSqVS1b4sc6sFfhAoQjp0aBfWxjBCoHevniCp4RkLCw3asGHza3NmC/h8uAnE0/J82vdrf1k3Yvg402fXzr3EUwHeWHd316lTJnz00ZKYmISysvLae48dP7Xjj53Dhg/69NOlErG4/jXXX6vOy8PjzOnD7du3+Xb5j+Cc1b3ww7wRpA50EhVKgEW568wh8JzPCxjX1SZUpVdPSvp8S/YxGpm2q/2XDao6oFRTqdFrWeSW9ToHqWFpYQEbNdU1lZXVjUUDzwjY3kyF1/CRI0xD86CZN2zoYChPobl8+9a92vHBV2iaVdXWVuLoYOgDDv4Lk6lszNjhcAhY6RYv+SQosEP//sPX/boZxB9hlHcxsfHwdkMJHhYWYhp6ZiMRQ2sNrIlSqRSUUP28gSszOSUFclhUVDxq9GSJjatY4tq9R39QdYRx4bU68cHWZZJreXkFSmUDUypkZWWaNqysrZ5LD3SQFHwez3Q50B4O79IJXLfgc8zIyCFaBeBXWbtu5ZGjf546fdbaymrVqhVcLveJR5lVCFgy4BECvXvuwkWQGBYWFh5e3gmJSeAxh4chPz9PKpOCFRaeN/DnnD1zoVuPcLBZWlmJ9u09NHTo4MZ+I+OPDHWBHozR4M8FM49h6q6ioty8PAd7++jYKDaHN2L48ODAQJOU8fT2SUlNzcrONmWG+AeBF8rFxXnDxs1Pd97xE0eDxj148Cg8z5B5tRErKwt40e7dvQsh8ObGxCSCjDPFLywsAO0rk8mio2P9fD0pZPKI4QP+2LE3LzfLz9f3eXkDmgM8A46OtiKhcNPGrX379KBSHrNAOTs7JqdkeHi4+fn5+Pp6g4mHxWJ5e3vdv3/37r0HnTp1DAtrc+H8lbt373bp8tfI/dSUtMryivnzX2sbFgrOfXgM4H23kVhPmDT+119/BnskNERrnwVuGtwfuCFxccnBwYGmbOkM05VoI+5H+PkHDOjf19fHpyVFgcFmBwmCFGExWbY2NqkpGV5eHqargIIRfuVjf56ePXPqxk2/gfnZaOEjQyNToWjZbEHE87LYzZv/+pDhQ03bErE10XLy8gvADieRSChUal5evp29LYPBgAZZZYXBPMfj8WOiY318fDw83PPz8uSKh085lIkgpeHuwwtgLbZOTEzq0aNrfn4+vK6wt7yiQiaVTZo0wc/ff8KEV8DUJ3yR/BQI8kRGC7qdoF6DIhie3todv9aFL11wbcXZ/FsudJuvA+c19tJBSSGVGdwEyz1eJ1pIzx7hl69cA5vHiZOnw8M7NjggUafTg64ybfN5f9XZFAoFyjswDCjksmafrvuaX344cPBoRkZmQX5hdEzc/QdRF85fWr0a1AAPCgHC2Ku69mhKsOIYCj6NtkEDm1anNcpgcGTQQ0ODzbWXiYCAup2l7GxtwcKRlJQcGRWdmpZeZzZdtVpz/ryhOyCk5u/nB9kwic7nCMgI8NQYZ31rrqPjxSfA32/lyuW3bt4xjRk01k/NqqLi4xN37NgN6jw7K0en1746ewb8+m1CQw4eOLLq57WuLk5RkTGDBw8EWxqk6R/ot/qndR98sAieUg8Pzx0798+ZO7OxlC0twdVOPXL0VK9eXbr36Lp27cbOXTrm5xd4eXqAQITafFfm3l/Xb2Sx6EXFJRDfw91t0MD+y5f/EBYWmpGeCU8d8U8BtuHuPcLPnbt4/fpNouV4uLl9/92XO3cfSEgE9WYtk0qdXZwHDuj34w/Lf9+2OyU1vbqqisagDxn6sPPcT6vWJSQkp6ak+/r5dOrcGULCu3X74KNl1taWLi5OxD8LnU7z8va4dfte16496uzq1LnjuQuXvv56RUCgPyiEUaOGwWPg5++7a9e+MaOHgek9INDvxx9/hufMzc3DfJStrRi02vJvvwdFFRkZ2b5diFwu27//gN5o3oIHoI7NG5zUTAaVx+dHRce+a3TrQ1v0zp3bnh7ucDf27jmo12tqaqpNRVMz8fR0P3zoGF8g7Nyx45TJ4z786POVP/7k7OqmVismT5p48uQZePwmTJwoFFlu2fz74sVvOzs58nnszZt/6z+gLzyHzT/R8xF2UNh5tuSs9cnIzNq7+4BCqQCVymYxBg/qb2Eh8vXxBsvc0qWfzps/F969Nb+sT05JsxAJLIy2BGDQ4P5HjhwvKir63//m9uvbc926zUve/9jK0tJU+kOa237foVJpqyorwYPD5+HykchLhr2dHTOekS8rPZx1aWrAkNq7vuuwYF/KWQ+mg7+jZ2OHx5SlRZQlwIZzy5d+GTio/7crfgJpePjwcSjLZs2aVn95b6h4jDPbGbhy5XrfPgbnCNTd+QWFMqOgbNehbfPPOGTIwJ69umdl5uTm5p45e3nbtu0XLl4+f/7yuHGjxNZWINHKSstSUlJNM61AwxkaclAOgj+lwRnOwK/h7ORglJjUsWNGTpo0tvbe+r5UCoX86pwZ7727FDQ01OLr1q4SP5LLcK4bN28dOGAYywnWgpCQoNqHm4ZcPCPQOs3IzIaKB2yQLq6GStQ0VR5YFhs0H9ahqrq5AvofBsrz8C6du3TuZDJMNmdoBwi1kSOHpaZmwDZ42Px8DfYMU/8noVD4/tL3oqNi5QrF9OlTfH19jGmSuncNl1iLLS0NWrxDh7ZffP6Rp7uhQ6RAIHj3nYc97SxFoo8/fh82bO3sZs2eARKNQqYMGzbY1cUZKnUXZ6fAwACwmvj7+S548428/ELww7Zv114shgeP/P7Sd+/dvV9RWQXe3t59eoIlifhHgHZL27A2NjY2OdlPY8SFnPfs3cvDyys9LaOktAyu0dXVBUwngwcPgDTBAgKe1hkzp4P1yBR/4qRxDDrD1dW1Y8f2FKORDGwrPbp3A2FnZWVF/LOAPhs4oL+3l7eV1cO7Ddr0u+++gg0LkeiTj96/d+9BZVWVo6M91WgzA5vu3Lmzvb0NSg5+oLff/h/VwF9WRgcHx6VLFyUmpTAZ9NdfnwNGOzqd4e8fkJOTB2Y4UAhBwY/NQtK9eyMV3RsAABAASURBVNeg4BBoNfYf0N/N1VDm9O3bC55AeD67d+sKdwa81T7eXj26d7e3N3QweOut+aAxoGnx+WcfmVKA0vvddxbUSlLfq2c3HpdbXVNDJuu9vL2//fbL2NhEKGNN/RehHJs5YxqcYtiwQcZJbUhcDufjj5cmp6STSf/GPHbPTruwUF9vLyjd4K7BrQHrOpTIEonVjz9+C81+KOO8vTxCQ4LAjAmWPHjcOUaHztgxI6AuMfRIpFDgWfTx8QZTszECyeTxWfr+e9DUhq9CkdA8uReCvCxAk2mx7eTXU1bczIsa4tC19hABOpU2wXsAqfEJYKFIupceXaAu+zFg4RNnzqwPlO8ffvjuBx98UVVV9dXXK27evD1p0piwsDCoYjOzs+/eiejXt5elpYW7mys4WEF/fPnFckcHO3gHc/Lyflq1Bs7u4GDfrm1zhV1qWkZ5eVloSIivr5ePjxcY4aAxDaeuqKiCCwT3yr79h4tLSjdv+cPb29vBwe7u3Yjjf56E9x1Kw3bt/1owDYqLysqHKqdd21AoTMCm+Pu2HW3ahPj7P1xAtrpaASVw/TyMGztyz659d+5GXL9+a/iI8R9/tLhtu7ZgEDz550nwC4MnAYqa0aOGBwQYevyAAcnGRgwuvIOHjkx9ZUJwUOCF8xfqdCBhMKim6dOrK6uzs3Lr9LGrqak5fPhoh/ZhYEe5duPWoUOGwf7Qag0wDr10dDAo5qrq6j17DoSEBMKVXrt+Ew6pnQIIa2NBV3rz5t0FC4gXByiEwdVibxxmaJpf4xGGB9bSoqk2NvzcbduGwafBXZCmvV1dHW9nB2rt4b2FlsbAgf1M22wWy2yGgQbA8GGGphGVQgkJDoKPKbxDh3a1k4I3rkOH9nXS5/P4PXv+O720IT9uri7w6dWz56ZNv4HkNds1COOsH/fu3R8+fEhjh4MT09XFBT51wtu2DSWI0DqB8GB7e3nVCczOzh4/fuTjP+I/AfzWzs5OppE3JkA2jR832rQNkr3X4/3mWUymeXZJOLZr1y71E/Tz84VP7cA2bULhQzQEvFmDBvWvHQJ3vn//PqZtkH114vfr29uQDRZrxIiH3kvQl49bAUkcEMrGcRUmjL/MXxMQtn/UHRmidev2MP8BRogW8vcKO72R5sSEUrL+ZO7wSwgNNdnDyqz+UoNwlNnDAk8eVDN1IuDqhMjLTreQDvY51her7m9LOT4naDST/tf8ak0040COnIi69HPBfiuGMNjZh2g5kPYrUyfn5eb9tnUXaKM/T5yGT+0Ia9euBJXTJbxTv369jxz5Mz4hsU9fw/ST1dXVpjd32VefcjjNXVl1+7Zd637dCFoQ6jCwgUHDGhqy0Hjt3jMc9o4dO+K3rX/ExsadPXs+rO15J0eHLKMNAyIsXfKW2FgIePv6wNnBvvX66/Ogtl7x/Ve9+/QCrbZ7z4HIyOjBQ0Z36dLR0sIi0dBJq+Lq1TP1J+uHuuHTTz9YuHBximE9q/Rp0+fW3svn84cOGQjOAVMlB3I2vGunmNh4uVwxcOCohyk8PprVMElKx/Znzl7Izsl5ZdrswED/vr27zX39NdNeKBvPnL145mwPZyenTOOMCQIB/9vln5kapX3697OwWAFKcfsfu+BDGNUSyLvaDVTIkr+/b05O7rnzF8PadgVBvPybL0D1Ev82QwYPem/Rh2Lruj0EoAFQVFy8Zs2PBNJCBg7qC168iIgHtbXO8eOnA4P8vbw8iL+H23fuFhQWhYQ85UrTyL/F0ws7KLOgNZyRkQkGarF1A3ZaKLaKi4qhYGpwJgIEQZrJ+vYfvHd75a8ZB1U6zRuBY584FwZIjYOp55elbrFjWn8e8pqYKSKeClASb731pour2+lTZ1NS0sBgBsICzi4QCkBDcI2izUIkfH/J2zY2kiuXr4MPVSaTg+0E9k6cOKZXrbbpEwGHKXjcCguLbt66o9fp4BRt27Z5ZepEHy9P417aho2rN2747fz5S2A5KyoucXR08PR0nzxpfN9+D9vEQQH+M6a/sv/AwdKy8pjYuLS0tOCgIPDceXp6HDp8ND098/Lla+BvFYlEri5O4Jmys21g7V2wZPz003c7d+27HxGZnpEhlcoMljmJ2MvbE9x2IGRNg/QJ4zjK8ePGFBYUXbhwRSaXw30Ia9smKND/y2WPTZY2adK4tPSMy5euQgX54EGUZS1zCyhLHx9PUJkFhYWggTwMlzOuV6+epr1iK6sfViz7afX6pCTDEBBfH68+fXudPXMhJjbWnIKFhWjua7NUKjWYbQoKCuG+QXn7rws7vV43f/5rffv2LCmpO3s8uMZc3VzAvkYgLaRNaAgYHS+cv3T12g1z4NChg4JDAtns5jafmmDy5An113yvqqx683+v0+lkY8/I/5DLC4yX9cdXvUSQrly5Eh4eTrQcwypGF6989NHnYCcDT3ADEYwTPrHZnE2bVtd/YhAEaSY6ne5BRvznsRuTlTnDJd3e9p3UhCm6ulq6M+7PjXlH1DrtN16v9/Hr/IxuFMOShUXFILnALajVaEGOcDhsUG8WlhZmk6FCqczKzC4rK1MqVTwe18aA2DyMDrQLaBqtTufq4mxe+wgsZ9k5eXQaLTg4ECxVYBTMycmvrKxUKBVwRg6bbWuYHcOm9lg8UI3p6eCxrYAbwufzQE1KJOLanujKympIFkx9kKCbu6upW61Go8nNzYNLgMMNvTg4HLHYClJu4rZATNMhYP+DaGB9hPhwz+sPDCwtLQXJq1SpoAx0c3NlsZhXrt6wsrTw9/czd0lUKJSQq8rKKkjK0HXY13v79l0ffvQ5hUL9YOm7bdoEQ7ahbobLgbtaO1eQ86ys7Lz8Arjt4HF2dLQHO2J+QQFY+Dw8HvZpNo4PLYRocN+EAoG7u1vTq889NUplc9eHfESDUuA/pA8YjKbGS6rVGvPU088CvCwvwqzUJsCcXL8nbm3gkuHCCeTvwfzIPb2wI4yPFPgsDh/6s7HuvRIb8dChA59unCyCILXJys0dfXuJXKsgk8iLJZOGh/SuM3kECJqYuPhZGcsNC+sQ+hOdVzra2r04hT5ixizsvv7q03HjRhEvAy0Xdv91mhZ2RGu8pU+8ZBR2fyvm+/9MfeygzvD0cH/33f8RCIL8zTjZ25/oturdqFVZ1QVfFWz/6uR2V4pkGL8LjUav1Eo3lB41ReNQWD4ClyWB05ys7QkEeU5AnYHarvk0bbgyAfat52K0ezHQN2eiO7hkCoXc4PxEyDNSW1W/KKNiEQR5IuDj29j1o1v5MVEVyTkF+Ycqr6wqP2De24njH2Ln48CXDLTv8jJOlI+84BiFiO4/1dfq6YAb1RxDOYi/VqOVwUfQHC1LGOdwMS6vjE/R86TO+lso7BDkZYJKpXZxDOlkHyRzk09WD629y5oqsGAJ/vmJCZD/CFB5tCIL098IyUhzYlKpFI1GS7z8NFPVEQ9VL1mPC0E9V+qYS5+pjx2CIAjy30HTyDofiJknDiCoA9xSsIO+vDoHFCyoCvNo8WaCbv3nCNx8tNghCIIgT4Op/gZzC/pk62OcYpBkmpK6+RhvKUWt1jZ/2tcXBKNVUk+nP826yQwGzXjJuIT7M0E22D/r+mEJFHYIgiBI8wEhApWxTgemu5dMiPytwG0xOhmfUuyCHDTK5Zfpfj7L9RLGS9bpSPAEtQ5n9D8M3HzjmlsND1hBYYcgCIK0AKORgGLs1YPCzsRzmFYIkqBQ/ltGUFPPMFzt8ylo+oFDYYcgCIK0GGPNglUy8qzgXJvPHRR2CIIgCIIgrQQUdgiCIAiCIK0EFHYIgiAIgiCtBBR2CIIgCIIgrQQUdgiCIAiCIK0EFHYIgiAIgiCtBBR2CIIgCIIgrQQUdgiCIAiCIK0EFHYIgiAIgiCtBBR2CIIgCIIgrQQUdgiCIAiCIK0EMvG80el0Mrkc/hIIgiAIgiDIP8jzF3ZFRcWfffp1ZmYWgSAIgiAIgvyDPH9XbE5ObmpqGo1GIxAEQRAEQZB/kGe12JWUlK5YsbL/gBE1UqkpJDom1lpsqdFqg4I7bt++s6ZG2vzUpFJZfHzizZt3bty4FRsbD/7cP/7Y/f2PP2u1WgJBEARBEARpkmey2IFxbsWKn2Ji4t5//x0uh2MKvHP7XmBgoKOjw/tL3tm8ZVteXsGCBW8wGIwnppaZmb1t+y6ZVMbhcmRSqU6n/+KLjwgEQRAEQRCkeTy9sANb3TvvLNXp9atXf+/j42UKlEqlUVGxEyaMpZDJ48ePtrKy+urrFRkZWd9//xWLxWoitZqamq2//+Hg4DBkcH8ejwsmOrlcQaVSCARBEARBEKR5PI0rVq/X5+fnDx06Vk/ovl+xzKzqgLNnzwuEgsBAf0PSZHLfvj2/X/Hlrdt3Zs58vaysvIk0c3Ly0tIy+vbpIRZbgwTkcrnW1lamXZEPYoYPH9+pc+8PPvy8vLzC4J/dsad3nyHt2nefMWNuekYmxFmx4uc5c/43evRkCPzyy+9kMjkEFhQUTJv+GoRMnDSjc+femVnZkPOo6Nhx46Z26zZg8aIPysrKIOTevYgpU2b6+oVNmjzr9p0IAkEQBEEQ5OXkaYSdSqV6/fWFCqVq2VefOTk51t61detOby9PkUhoDmnTJnT9hl/uRUSuWbNBo9E0lmZpWTkY6oS1DjSj0ai/W7Fs69Zf09Mz7t17QCKRgoMDfvjh6527fgMV+Ntv20098Kqqqr9Z/vnevdvPX7h45szZmhrpG2+83aF9ewiZNHFchnGULnh7P/v0qwVvzj1wcBeHy9u+fZdUKtu5a1+nTh2uXj37+Rcfenq6EwiCIAiCIC8nTyPsqFTq62/MptGo237fUVxcYg4HcXbnbkSfPt1rR05NTVv98zp3d9dBg/tRKI26VsFyplarGxwkEdY21MvTw93NNSDALy8/H4Sdq4tLQX7RieOnKiur8vML5QoFRHN1dYFYLs6OHTu0T0/PSkpKAmfx7NnTIaR//95gPoQ48fGJ+QWFh46cWL58RUJi8vXrtykUMviL79y9f+TwcTaLJRIKCARBEARBkJeTp+ljB/qsX9/ezk6Oc+a8WVRYsmLFMi7XMHLi8qWrYMwL79rFHDMhIfmdd9/XarS//bZWIpGAJmssTStLUXFRCXyEAkFjJ2UyGGDzA/H3ww8rq6tlEyeNCwkN27p1q16nrx2TzWarVGq5TMZms+j0x6SkWq3y9fFavGih6SsoVHD7Lnjz9Rs3bu3bd3jnrr1L33+3R4+uBIIgCIIgyEvIUw6eAInm4+O9bt2qxYs/mjFj7sqVy21tbc5fuDR50jg+j2eKExMT9957H9rb265a9S3n0ZjZxrCxkdjb2+zdf2j2zFfAJ6vT6WUymbmbXW1A2KWlZc2Y8Yqvj/fNm7caS9DZ1bWktPTuvfsB/r5lZRVgEYRAD3fX9IzMkpISd3c3OAVchU6nA63YuXPH7t27rV6z/satO1327wajAAAQAElEQVTCO9GouNIa8sKh15ueYj2BIAiC/Hcx2MjI5EYtZc+kYPz8fL79dtn3P6xauHDJN8s/S0pKee+9N027pDLZq3Pm9+3T6403Xn2iqgOEQuG8eXPXrFm/bNl3IksRmUSiUqiLF79dPyaY7tw93H7buv3OnbvgcuWw2Q0m6GBvN/e1Od99tzIwKECpUJqWOPP28Rk7dtTXX38fGBQIztkePbv6env+eeJURkYWmUxLTUkZPWY4lYJDcZEXDrBVq9Ua42Osx/X6EARB/rOQyRRwf4IWAq9jgz3cSFeuXAkPDyeegeLikvT0TKlU+vXXKw4f3m2a1gR8srfv3AsM8BMIWtBrrby8PCsrp6ZGCrm1tLR0c3MtLCwEv6qTkwNY1zIzs6k0qr2dbUlJaXJKKoVMhjhgxHBxdc7NyQM3q4eHYegDZAYiu7g4gSkuMTGpoqISjho1alJs7B3w80LGUlLSyssr4I54eLgJRcK83Ly8vHyFQmllZQkhzZlyD0H+SZRKFTzeJnsdgiAIghAG3ymZwaDXX+jrOQg7E7/+ujnifuS6tSub6Ej3b3EvIuKdtz+4ePEEgSAvG1LDZN1ookMQBEEagE6n1zFIPTdhJ5crNFoNj8slXhju3I24dy+CLxDevH5zwIDegwYNJBDk5QEsdCoj2K8OQRAEaRCw2zGZzNoLOjy3UQIsFpN4wbCxEfO4fIVMPnHCmI6dOhAI8lKh02nVajWqOgRBEKQx9HqdUqmkUv8ab9Cah386OjhMnjyOQJCXE7VaA28sgSAIgiCNA1YAlUpDpz9UdE8zQTGCIP8A8K4SCIIgCPIktNq/VvbCCdsQ5AUFh8EiCIIgzaG2eweFHYK8oOBgWARBEKQ51F6RFYUdgiAIgiBIKwGFHYIgCIIgSCsBhR2CIAiCIEgrAYUdgiAIgiBIKwGFHYIgCIIgSCsBhR2CIAiCIEgroVnCTq83zH2n1eq0OGEqgjyCRNJTKGSg9iJ9/2WKCouO/3l6xowpDe4tKCi8fuNW/369ORwO8XKi0xN7IjUeVqS2Do3+4mq1+ni8po2NxknMIxAEQf5xnizs1GqNUqnUaEh6PU6YiiCPQSLBh8RgkBkMOig84l8CXsykpPRt27ZH3H9ga2vzytRJ4eGdQHTWSKUrV64ZOXKov58P0XIqK6uWL/9h/vw5dnZ2zYlfVlZ29OifjQm70tKyC+cvdQvv/PIKOxKZejpJodZSmhB2JDKlSqFWa7GsRBDk3+EJwk6lUkulKqOew3IKQeoCrwY0d+RyrUaj5HAY/5a2A0X1xRfLOnduP+WV5VmZmWXl5Wq1Sq0mCguL0tMz8vLyra0smSwmj8cjGeWaSqWCo5hMJpfLAWEK29B4UygUJBIZ/tJoNB6PW1VVVVJSlpaekZ9fSKXShEIBnU6HmFKpDICj4FhIAUI0Gk1VVbVWq5VKpbomG386na6quhriMBgMLpcL0hMyA/ZOk9SDNiSkwOfzGryNcAoyGU7KNV5vOYfDhkTg5kO4UqUik0gQwmKxTGeprq6Ba6RQKJAalWoo5SB7oCzhuiD/cBSEw+H1z6LREVUKvcY4MzSDoucz4UKhTUvUKLVyDVmjU5tjFtfowVAL945CJpQagscgMagE+DXK5OQBfiwR86/7UFSjZ9EItdaQuAVTa8oPgiDI30RTRQyoOplMjVY6BHkiarVOKlWy2XQQE8Q/Dqgx+Dugfz83dxcfLw9T4L1797dv352cnLpz574zZ863b9925IihoKWWLftOrVHrdHpQo/Pmv+br4wWRL1y6unnT1rCw0PyCQmtrq4kTxhw6dCwzMxs+mzb/DnLq1dnTPD09EhJSf/ttW1V1lU6rs7OTvPfeQjBVnjx1ds/uA0KRUKNWgxZsIp+JSamrV/+qVKn1Ot2s2dPahAZv3LRVLlcsXvQWqMmrV68fPvznJ58sEYmE9Y/95psfQLp98MF7sD19+tx58+b07987JjZh9c/rGEwGnUZr3y543PhxIODOnrt07uwFELag7Tp16jB50gQyWZ+Tm9+r16A335xbUFAEZ5wwYXTHDu3qnyWjnFh9qUpHkLV6slqrW9yD4S6m51covz5ToyAxCbWsQM41xeyzXt7XXVcsJRws6KVVit7ezDFBtNLymm+v0+7laL/tLWvvLTHF7LlO1sud7CzUX8kkDXIqe62XPYEgCPK30aiwg9YzqDoo/QkEQZoBaDuZTMVmM0A8Ef8sILxsbCXf/7Da39+7a9dOPj4+NBoVVJqnl8eSJZ/MnPlK27AQc+Tp0yfb29uRyKSfVv1y5PBxEHZkskGMqpTKfn17+gf4y+VyJoP59sL5YBh7661Fi997y9nFmTDIR+XadevbtQsbNLAvWPg+/PCLS5evhYYEQiIzZ85s08b/4MEj0dFxTeQTrF/Dhw9u2zZs166Dp0+d9fP1HjJ4ACi27JxcN1eXy5evhYQECgR8otmcPXMerIZfLvsIDJQ1NdUQkp2dvXHDlqVL33dzdygsKJ0zZ17fvr1tJFam+BYiIdwNcD80Vq5JeMS7PZjWXJJSTV5zU3knQ+FmTdv+QMdi877oSVbK9bOOPIzJpOqmh2h+ukVtKyq28bI4HVel9OFJrARf9VctOa40J2iyPkKCC8JpPZ1lsw4Lp4erGEbbJ4IgyN9Bo8IObAA6HYlAEKTZaDQ6jUZNoTCIfxZwLH726UcxMbG3bt1ZuvTznr26v/76LJbRT1qflJTU775bmZdfWFNT065tG8LguzSMinJxdfXw8ADTF3waPLCgoCA1NfXy5asrV66GrzKZ3N3dVWxtCX7P0FA/yIO/vx+/SVnmYG8PZj8wvPn5ed68eQNSsLe3lUis0tNyraysb9y8PX78qBa5s9t3aLN//+FF733Uq1e34cNHgW88MTElIzPr1TmvG3uPkCorK2OjI20kvU3xu3TtwuNym0iQrlfey1KtukWtUmjAwTo/pFKn42RUkD0sCSGHqmZyxVyFKSaNrLcXkMDQ6MiWUhi2anWFaW1fnf6xFX5NgXYCCkhtLzEFvMDgC0ZhhyDI30fDwk6lAqcKqjoEaRl6Pbw7OhpN9w93tiMZepgxO3QIg0+/fr2+/XZlUWGRs7NT/Zhnz11Yt27z0g8W+fv7HNh/ICo6HgIpFEM5AKYvWiOSznwWEkE6dny/va2NOfDBgyhTLz3CKGKaHmAFose0H/4BMyEcxmZz2rQNu3nzenp6ore3t5eXzxO780IKhYVFpu0unTsdOrzr8qWrhw8f37lr3/59f4Ar3NZGcvDgrtp2UxLYJ42Z5HOfMFL1fApxJJm+frDUWkDfeVeuf3wMRHO6x5nMnw1/NeQBx6AhCPL30nD1o9VqCARBWs4Txc3fgUwmO3/+clZ2TklpWUJCMoNBM3X1AyECWi09PdPQrU1vUDa5OXmubi7t24WCxrh27a7pcP3jRiYzIIZUKnVZeYVpniNraysfX+9ffl6Xk5NbXFxy/fqt/PwCBwd7cJ4mJSVpNJrklNSqqurGMgliNz8vPyoquqi45N7dSE9PNzaHQyaTQoICUlLTduw8MHbsCDK50Vvn5GSfl18glSri4pLB1mgKBM+vtKamV6/uffv2gFzBNfr4eMFV79l7sLAIxG3xqVNnVWq49if/KCD+4DJraiqDrRQuNgKVjnot+6Fg9bfWZlXoKxX68ooK2Gg6nTonQhmHIMg/TMMNUI0GCyMEeRrA8waff3gEBcivEyfOFPxWCNug5IYPGySRiGEbvLH9+/XcvPmP/fsP9enTa/r0SYMG9rty5cYb896xsrK0tLRQqQ29wRoTH2w2u337tsu+WkGnM5a+vzAgwP/N/81ft27DwrffB5VmZ2sze84MXx+vceNHbdz4O42+C05NbfzK4Swikejs2YvrN/xmZ2f7xhuzGQyDRxKEpo2NJC01I6xWR8D6jBo15ubNJf978x1fH2843BR4796DK1euSmVycB8v+/IT0IWwa9Hit7f+9sehQ0fZbBafx+vZsxfRLMCISHg6iA6eV9zcrWSQNRL2w/bt2ADSN2erZu3hknQ6HqMpo92UnQoQ9qmltNRyCj9C0c+LNr3dvzYJDoIg/01IV65cCQ8PrxNaVSXXaHRNHAZmiQP7dxWXVBLNw9PTpXfvAWaXDYK0Yng88Gk+B2VXXV1N/AcAO9miRR+GhflPmjSR+LcBE6dpw+hV19DpYMbTGnzQRmcuoNGo6x9iCgSPtikCHAESk2w4gqzTaSECiFpwg2g0ZCpVRyAIgvwN8HgPu5o8zYxKKrXq/SVLr1y9Bi14cznYVHyVcufOPRmZeTOmT/9XJoNAEOTFpKCw7NixY9XVVf0HDiReAGrrNiirtEYntHFudu0TDzH3YKFQ9LWPMkdAVYcgyD/A0wi70tLi+ITEqVMmDBs+jEaj29rYNW2Kk8ul3377XWJigkwu5XFbMJcBgiCtG7VaTqfT/ve/1yyEAgJBEAR5Zp6m/wd4FPR6Xbv2YdeuX58z543omMim47NYHF8/L61hrdl/ucH6+7btf544RiAI8mLg6GD/ytSJgYEB2E8DQRDkufD0i9vQaNS+vftGRUZPnTrr048XDxw0jNnIvFmEccTZExNUq9X3Im5v/e2PwsIi8PYG+Pt/8tkHLAaXeH6UlZbR6U+uP+Ry2fkL544cPp6TmycRW48fP65nz570RqaekkqleQXZrs7uzfFKm1EqFemZqe5unjQqzmiFIDhaC0EQ5PnwTKsWWluL339/CaEnfbHsO4VKN3HCBOJpUatVx4//ef3GjQkTxru4OioVisLCkuer6prP5i2bcnMLX50z08HBISEubtsfu6uqK8eOGddg5Jyc3G3bty967z0+vwW+pNLS8vW/bv7ww6UWIksCQRAEQRDkefCsy1EnJiRlZGY5Ozt5eroTzwBY6a5fv/7KK1MDAgJNIV6GFSwJrU4D4WfPXqRSKD17duvYqROFTLl69XJubkFRUVF5eUV4eKdu3brRaPS7925fOH+5qqra1dVl5swZcGxGZtrxYyfLysrbtQ3pP2BgHathXFzcmTNnKyqrOnfu0K1rVwbjobkxLjbqxImzv/662t7OEb5KxDY6PXn79h0g7DIyMu5H3BswcCCLxb5z525JSVG/fv1X/7ImISH+gw8/eWvB6wKB5bVr1xQKRUxMnEgkHDt2jKOjY1x8bFJi8pAhQygUytlzZ9gsbpcunb///ocHDyI//vizefPm+PoEEAiCIAiCIM/M08+xpNfrL16+8N57S8gkYtVP3+XmZP9mJCoqgmg5lVVVOr0OZFCd8Nu37vyxfcfAQX3atg9duern+w/uwXljYmOuXL3avmNY126dNm/eGhcXL1NUL1/+Q1Cw/9hxI+ztDTN4FZcULlq01N7OKjy8/eYtW48eOVA72djY2JUrV4WGBQ0e3PfQwUNxcQnmXQmJKa4uznZ2DqavIAeDQwJlCllxKMnd1wAAEABJREFUSX55eXlsbAy4jAmDoS4nMSlRr9dNmDja399v/vxXnZ3dZTLZ3n37U1PTho0YJFdIN27cpFKpiooK4+LjdHot5DwlJTkzMxMOf2X6RC8vzzfemO3h7k0gCIIgCII8D57eYgcypbKicujQwfPmvVFTU3Pu/OW8vHzCOKtTUFAbooXk5WfT6PQ6K/aAf/bO3dv9+/fr0K4TSKj8vIIb166FhbaDk4d36dKxfWcQUteuXgO7XWlpmVarsbCwtLN1CAoMhWMPHzoWEOA3YqTBf0qh0L/++tshw0aZcx6XEMvjcQR8CxqVau9gn5AYFxoaDCrOkJO8PCsrKxLxV1c8DofLoNOrGplUzMpCwuVybG0cTJl3cnScMWO6LSCx/ejjT6XSGnNMEsmwgJJp29rSls1m29jYN72IE4IgCIIgSPN5emFHJpOHDxth2maxWD+tWkk8A7Y2dhVl5VVVVaCizIEatUYhk4rFNsaZQSnWVuKy0rLaR4EqEghFGo3G0d55xIjhe/fsA/3XuXP4oEH9S0pKfX29TNE8PN1ycvN0j2aZAmEnk8nLKyqvXr0GV8HnCf38/IlHSs7ayuLWrTtarZpCeSi5ykpLwPAmsbapqkglmo1QJAIHcbX0rzmc9XrDjFY06j+9QjyCIAiCIP8RnrWP3fNCIpZQqZRbt26OGDHKHEimkEE/glPVuG62vqS0mMtjN5bClMmTS0tLMrIy3l/ykaeHi6WlRVJiimlXUUGBvZ0t9dH4UxBzoBHt7OxmzJjGZtVNsEev7mt/3Xzp8pVexpWIwEF889ZtB3sHrnEGvqLiUqVSVecQcM6aJjIFFAqF1jirS3VlJcg4AU/EYOaBD1chV3C5NHM0wjhrjFbT6KynCNJSMrOyMtLSWWx2QEAAm81qImZhYWFRcXFgQMs6d6rUmpjo6KrKSi6P5+/vz2I9Ngo+OibG2traRiIhWgK82Lm5+SnJibDdo2cP4mWjqLgkIS4OrPHu7m729vYtOlapVCYlJ7s4O5vni28OUBZmZWenp6bBdnBoqOjx+f+Sk1O0Oq2PN3bwQJD/Li+KsLO2Fo8bNx58l3fvRgwbMQhsdfFxybNmzWoT2m716l+cnB2lNTU3b9xasGBBg4dL5ZVHDh0P79ZZrZRXVFRaWlt37dppzpx5Tk5OwSEBP/287u235xGGtS9ZpSUloK6CgwJ279q5e9f24SNH5GTngAPXykpsSkoitn974evffft9SUmhf4D/zWvXz52/+uGHSwnjeh1Qjj+IjLAWW1+8eNHN3ZkwTvtSWlKWnZNJNU6kUlBQuPzb5a/NnXX2zHkfLw/wvYKvNjcn7+atG7Z2tjdv3OnTpw9h8A5TqqtqMjLTmGwajyMiEOSZgefQUiwJ8PMxfYWWw4kTp5QKOZi7wbDt5+9vZ/tQdZHIFErL59lhMuhhYW1UKtLFC6c12rptEkiQTG7xujIkEuHgYMtiMy9duNB0TDhvdOyD3OwslVLp4OTUtm0HqnGBh9y8/Jzs7DZhbWjUpynNjhw+0qFTZ4nYimg5Oh0pOTHZxdXd1tbRuNpEw5O2nD59BtQw/ApMFtvN3d3H2/PhpH3ghoBSg9Syjs5wrKuLq4O98/Fjh1WquuubkeEmaHF1WgT5T0OZOXMmqJ86oUqlRqdrdGapqqrKo0eP9+rVHfQQ0Tzi4mJycnJ7dO/exFx3zs7O7duFFhQWX79+OyMjy0IEVZEPNGclEvHhw39mZeZMmjzeNJFpcUmxpYWVi4szmPFgG9y4fD7v3t2Iw4eOZ2fnvbNwnre3Pwi1kGC/m7fuRj6IGTx4QL9+A+FAsbXlrdsRBQUFnTp1Dgryv3s38sCBo0WFpWB+4PP/WhLD09MHTn371j3IiaWl1Wuvzfb0NHh1hUIBSMzTp87HxMSHBAe5uri4ublzuBwKhfznn2eoFBpYLGJiYmxtbG/cuGNtZT1hwkSBQMDjc8F8eOLEmezMbDClODk7Q84ZDDqLRT9x8pxeq/fy8iKQVgSDQYVHgnhmVCpVi+KXlpURhof8oUbR6XTZOTkhbdoEBgWB5EpNSbGysmIwGCUlpRq1WsDnsdkPzdVSqay8vEyt0VRWVMBrz3g0ZWNVdU1FRblUKoXCAJ5Yg93cqGYyMlIdHB3N0Wqk0tLSUjaLCa+hqc8oGKPLysohQRA0cDgYy8Eeb7oiiFlVVQW7aHQQgg/vUk2NNDMz08/Pt4mru3z5ok6ra9+hg4urK1yagM/V63UlxSWmBOl0uqxGyuXyQDIZOlqUV1RVVikUSiaTRSYbVBQ05woLCkFFQcaqq6rh7KCK4PCcnBwOh6MxjIgiwTU2eGq4cMhheVlZdU01RINzwVmqqqrz8/MASyuxWiUlU0iNTXWZmJjk5unZrn17kYUoOvIBk82GkqSisrK6sorLYXO5XNNCi0q4OSUlcI/hnoMTAIpKk/6TyxVg8oc8w02DHEKgcbEyUnJSIvwKkILpLHAI3AoqmQxljrmYrayskkprZHJ5ZWWlOedQtkN4RUUF3Ci4IdjNF0FaB1C8mzZeFIudCT//IPjUCezTpy98aocMGjjEtEGlUIcNGWbanjt3bp0DQ9u0h0/tEEcnlw8+WGradnf3WrToPaIhoL4Ja9MWPvXCKR3ad4RP7UAolIcPHwEf2M7KyoIiddq0V2xtbc0R6DR679594FP7KChMBw4cDB8CQZ4Thtr+8em34eGEip/DZjnY24FZS6VSgt1ZoZCDHFEoVd26hpuigdEL/Ik+fn4kgpSSmg4Cy0IkLCkti46KsrA0yMSy0oS2bcN4vIbnlQRJAeotPSPT09MDWmIQIlcoIiOjRJaWIgG/oLCQzy/39fFSq1UJiUlKEFssprRGamdv5+ToYNIuxq4WT5ijGHSVX0AA6FHYtrK0AG0HrkypTKpQKMA2KZNK4bU13ACSPj0zU6NSk8gkEENWVpXe3oaZmORK1dWrV13dPVhMlk6vozNZoL5rpDVwarghNVQyo/E2p0wmi4yMBB83KEu1WuPv7ysQ8EGHQbhOp5XJpFoNhclq1Pet1+lBvcGvAB+eQAC5Iox+2PKKcjDwh4SGQCMWQsDVcPv2HXdPLyadDg1UG1sJ/GqguWNiYg0ij0yqqa5xdXWxtbVp8CxwQ0Copaenw7natXtYdiWnplVXVjo7O9XU1KSmpoeGhnI4rJxcsHtmg/8Brl2ukIcEBzOZ2PEXQVoPTy/sZFJZ8yPL5XICQZC/E43BDPaXM9SwBL3GtAg9qaioGL7S6Yb628HBQas1GPNqHwstDRdnVxqNLJPLEuLjO3fuFBsdbWlt7edjcOzGJyRmZGYGBvg3eF6RUAifgsIicwjF6JO1t3WUSER0Bj09PRNkBxjXQM2A0R1C8vPgvwLQKHSjuQhsUUSTQJsqKCQ0NjqquKhILLFxd/MClyM0T93c3BjMfLDGgYvT6Io1qEN3N1cGnQHqLScnL/LBfZOwMyEUCt1cnR+lCcYtXnxcvJ29Q9Ou2Pz8QjaLCzkH+RQTE1dUVAoGfmsrKy6HA+Z/V1cPFqspAy0oWsJo6SwDw1tlJZj5CUOXDzGfxysrr6gT2cXJjc2mUmm0yPsPQNgV5OdrdTo/f18yiQR3DH61xoQd3A1wBcAptI9uJrjb4a9AIAQnATwL12/crK6uAmEHet0/INDRwQ4eicjomJLSEocW9g5EEORF5mmEHYfDBSfO1t93iiW2fJ7wifFLy4qOHD7hH+DXmKui1QAGEqg5TI4VBPmHAT9d7Q4UYLwCE93li5dAwdDoNB8f/yY66YO/ElyjsGFpaVleWqZWk5VKdUZqanZGhikCyCmi2YAdizAMlje8CFSKSW+BN7MmLyenuLDQFIfH5xsWjza6AZkMRtNrxUKCHu6uYOHLKyjMzc5OiIvt2bs3vyELok6vLy4uBdu5tKZGIZeBlKy918bWxuz/bT7g1mUyQPpS9ASFy+MqFDLwAoMTE9Rqcw5nczgP7t2LiYyEUzs6Ozs6ODWxhBqoOvgLBj4NuIfVZJVaV1SQf/rkKdNeFotNNBvTUC0Q6xQKeG8pcHYQuxoNWS6TgUcYVDJhGKBGsRA+uQxHEOQl4mmEnYXIcsb0abt37/rgg0+beYi12HLokCEtKpVeRuzt7Rtz7yLI341GrSE/vmAxi83x8fEWiURsFrPpY8F4o9FqwTtpmH+bBDoPnJr64NA2zk51+9HCLuJJkGqJJ7Nio1Kpjk4uISFB9Tsgwkn1+icnS6fTXJwc4HPu3AXwJvO963ZOhXNVVlTGxcQEhRj8m2AjvHPrxhOTBQnVdAQalQZOXmMG9aCWjGNESHUus2m8fHxdXV2YDFO3wqauVKVWgxUTzgKnM/0KLm5uIcF1O6iQnrzkNVFbwpq3IUEand6pcxcrKwsCQZDWSMPCjkLRN+0bGTJkSGhIkEL5hALRDI/HEYtb0OJHkJcUqDibU+n+HdTXRmDoYrNZT1R1hLHnfl5ePngYTV3yoQSQ2NqmJCexWEwOl1NRXkmlUiRia8JYOICqqaysZDI5tOY0DB/dDZFImJmRkZuXB0ZBqVQKubWytDSJvGaIOiIxKdk4FIlXVVmtUMjN4wPoNJYC7HIKDZlFg7yZpkYSCPgUKrm4uFCrfcKMQgwmE9yXNhI7o4pqOI6lhXVKSmJ5RYXBoVxU7OzsbBqQ0UwUcjmbw27OrwAkp6Q6OTpmZWZaSyRwOXwBPzcuNzs3z8JCJJfJ5QqFo70dYZTXTCartLREKBDS6dRmPHIPY0CaVtbitLQ0Co0KQrmsrBw8wqaeiwiCtA4aLpihEFcqn9Drxd7BiUAQ5HFAqZD+JWUHlpg6Y9lptLqdH/LyC2/fvAECBfTPoYOHLC2twtqGEcZqPyszq7io0N3L28doCQvw94vSE3du31EpFVZisWlguAl3D4/7ERFaze0hQ0epVNJ79+6ZZhEqKih4EHG/fcdOtZ2k+kd5EgktfH0DIyPvgdChMxi+fn7WVpamXaAwnnjTNFrd/XsRBknHYru4uYNb1hTO47Pg2DOnT0ICQ4aOFAkF7h6ep06eZLFYYhubJ/aLaNehw83rN1KTknx8/Xx8Gh6fbmNjWV5ueeXyZZ1W6+HlY2dn/+jSmuWKZTDrjquoqKy6ce0ayFG4aeCbhvyHd+v28DI12rOnT0PO24YZfhdbGwnI1riYWJm0hsvjwZ03J9K2Q3vIeVJCQseOXW1sLePiE2DbJGRzc3LcPT39/fzMkU3OcRNhbUIfREZduXRJq9GAa5jPQ1WHIK0K0pUrV8LDw+uEQuFSXa1oTjMaQZDa0OkUNpvRIotOY1Q3sopdYzx4EKnWar083M0zaDSTpOTU9NSU/gP6E/8GCoUyPSMD/Kejx4wmXioMvdaap+2aQ2FR8e1bt4YOHUIgCIK0HHMv6ob7iIDFztSTGkGQ5gNGIxB2z0XVPQX29vZsBqOoqEjzUq1oIq2RaTyERVMAABAASURBVDVqsBMSLxvPUdUhCII8LxrtI8NiMXQ6hVqNVjsEaS4MBpVG+9fmhrS2trK2fpoVFBwd7K3/va70llYi+BD/eUQiYefOnQkEQZBno1GzHHgZwKNEpf5L/cAR5GWDyTQ4Yf+tDnbPAovFFIlQWv3L0Gk0S0scqYogyLPSlL+VQqEYtR2ZREK7HYI0CpkM2ogKRm4CQRAEQf5VnuA2olIpHA5Dq9WoVDqdTvuk+eER5D8ENHig2UMmU+h0CrwpL6OtDkEQBGllPLk/EIVCplDAS6A3zRCFIIgJEHImMYeSDkEQBHlBaG5Hb5IRAkEQBEEQBHlR+ddG8CEIgiAIgiDPFxR2CIIgCIIgrQQUdgjSSkhMSk6Ii+NwuR06dODVWtSrPtnZOTm5uZ06diBaglKlunnjZnlZmUAgbNehHZfDqb33xs1b9vZ2To6OREvQ64m01Mzo6PuwPWLkCOK5kl9QeO/OnSG4lgOCIP8lUNghSCtBLpO5e3kH+PmYvmo0mlOnTpNIJCqFQmcwnZzhP0fTUmMg/iQ2NkQLYTKYPXp0V6lIFy+crj+OChLkclu86iiJRLh7OAst+JcuXCCeNzqdTq1WEwiCIP8lUNghSCuh/vqwNBo9ICjQQiQsLCxKSU6xtBAJBIKMjAyZTMZm/2VvKy0rLy0p5nC41dVVlobVKyxN4UXFJRXl5bAhFArFYmu93rSCVt1BVKWlZUVFhYZ5X8hCU4hKpcrNy2MxWTU11SAB7ezsORwWhMtk8tzcXI1azeXxJBIJnU4zxQf59cQh92BjBJGq1qhlUqlYYmNlnMtXpyNlZ2dKpTUsFtvWzpbJMEwlKJXK8vPztRqNnvTXPJ0qtTorM0ulUoL6tLGxo9NbsJYugiDISwQuCIsgrQSQVnVCaDQaC+xsDIbY2opEJqlUBvOVUCjS6fTgjDVHA2WWEJ+o1mgtLMQx0TEFhUUQmJtfEHHvnkGtUSgRERFl5RWNnZfNZllbW+flF5RXPIyjVKnTUtPzCgpFIlFVdXVScjIYz0DVRUdHw18mm52Tm5eZlQXZMMWHcxBPGnSflZ0dH59ApzNoNMa9u3cVSiUEJiQmpKdnsDnc0rKye3cjCKPUe/AgsloqA52bl5er1RqWzQVVF/kgsqq6BmIWl5TGxMQQCIIgrRS02CFIK0GpVNGZTPNXsIGBgUqr1SmVIONyCT3BZBnMZkKhoLKysqKysvaxdDrd0cGJQtGXlNkmxsfbSMRx0dHOrm6urs6wFzQf2PksRCENnpdlBESkOcRkO3RxcrOw4IJHODklFYRdcUkJaEQfX29wDYPWzMzKBtcwnBdiGlRakxY7U4I8Hs/O1uBBjo6KLCkptbWxT0tJadehvUQMwtL6xPHjINrgRGVlpR06dKFSdaBzy8vKIH5xURGconObUNjm8/k3rl3TtwnG2ZsQBGmVoLBDkFYCnUGv/RUcl1qN9n5EBEguEFK+vn51hjs8HhnEk0Fa8Xm8ovwCtZqs15PycrLLSopMESwsLIlmA+qKMKxbo3uYtBG5XF5SVHz39h2TL7e2L5gBOW/SYmdKEEyDpq8cY2c+pUoO3mE2m20IMe6SymQsJhgEOaZTszkcsjFZMFVKa2pu3rxpOlwoEioUSrBlEgiCIK0OFHYI0koAE10ddQQax8/PF/yhDDqt6WN1er1araHRqAqFgkTSg8iDv67uHm4uTnViUig64kmQHtt++I1Go1tZW4eGhlCplPo5J1q+qg2VSgPxqlKpQNcpjV5mhtH+ZwwhjBtKU9c9CpUCTtguXbr8lSsS+VGXQQRBkFbFP9HH7vffd549c5ZAEOTvRKN+bC1n0DQatQqMYU9UdYBSocjMyiouKYuLibZ3dCST9Y4uLvEx0dm5+VU10tR0cJzmmmIaOvKRiNLSUpWqUS1GqjVqwbxijZWlqLy8LD0jo6qmJic3Pzsnz9QBjjAMnoCcN6Xsaidohk6jWFpbx8fHl5aVp6amgqFObG0lElmClS4tI1Ot0RQWFJpOYWVlpVYp792LgGvJyy+8/yASVR2CIK2Vv9dip1Qq8/IL9uw9+MrUiQSCIH8noOFqqxUQQwKhsM6IioLC4oi7d0zbfx7/U2RhERJi6DlHoVDKysqSEhJ8/AM83N0gxMfLE9JIio9XKhVgaXNzdzcn4uvvHx8TExcT06//ELVa9uDBA1NXtriKiriY2DZt2/F4HBaLaTo16DomkwHyjs8XtGnTLjrqfnJiIoPB8PT2Nms+8BSTnuCK1cIhNPpDXzOLxaJQDGVXu7ad7t67eevGDSaT1aVbV4oBIqxd25io6JTERImtHV8ggGhsFqtT585xcbFXL12i0xl2Dg4EgiBIK4V05cqV8PBwouXodLro6NjCwqI64Xw+PyQ0CEpqtVq9cePWxMSU9xa9ZW/X4kmzEOQ/TnV1dYviR0VFV1VXOzs5Smxs6LQnW+nMJCWnpqem9B/Qn/g3qKysTk5JzkhLGzN2DPFUmEThEydMQRAEacXweA9nEn16i92JEye/++5nOp3O4bBrh3t4uHl6uYOwW7NmA9jq5r0xRyK2Jp6ZxMTkW7fujJ8wprCgKDY2rm/fXlTqM5kbU1JSY2MThg8ffPfu/YSEpMmTx9W2GWRn55w/f3ns2JHm/tpPJCEpecumbfb2djNmTGl63v9npLy84ujRE+PHj2IwsPc38heuri5VlVXwXpBIL9OITwqFbCMRw4d4WlDSIQiCmHl6bbRp07bAQP/ly7+oU4mA/wXU3ooVq35Zs/79Je+C/qg/b2p9srNz576+ID4+wRxy7Og+v0dz6ANlZeVR0bFjxoyMio46dOjPrt26gNuprKLc5nHVeOnS5Rkz3yCMzho/X5+PP3k/MMCvwTMmJaWtXbsBhF1+fkF0dFydvWBFAHvkyJFDICVTSE5e/sK3Fv36688WImH91FQq1YTx0z/84O2QNm2Yf8NoO0i/rLzCVPnl5uWu+3VjvwF9bJ6HYkZaDTwjRMvxcHd1M05r8q/A5XLgQyAIgiDPg6cXdtBIdnFxqm/QksvlYKv7Y8eed95+c+bMqc00Huj1OidHh48/XuLi6mIKsbQQNRhzyOBB8IGNB1HRr86ef+f2pdp7NRotny+4cOFUWVnJ8eMnp0+fc/z4fhuJpH46gwb1hQ/RbMD1DJfW2GxbKWnpRUVFI0aMqD/i77kQHR29evWGLVvWwXaAv//1a+cIBHlOkI0QCIIgyMvP8x88sWXL9r17D/5v/lxwbh46dCysbairS3ONASKhQGJtZf4KHpaMjMyLF69KpVK15uGIv8ys7Pv3I/v07nn40PHKykowDQ4dOsjb29N8FEhJkZALn7mvzd648bfysgo+n//ruk1zXpvJYbOLikv27N4/f/5rycmpkZHRY8Y8tu54aWnpufOXiotKFAqFTCZrMJOFRcWnTp61srLMysq2s7ft1auHQi47dvQEKL+VK1e3CQvp1rVLZlbO1SvXVCp1aGhg27ZhcNT585eEQn5qagaNRuvfv8/2P3a5Ojslp6aJhMKuXTtHRUWnZ2RLxFZ9+/Xm83jJySl37kSAkVIiEQ8aNFCv11y/fgsy/MMPP3fq1N7H13vnjr1vvPEqJFtSWnb+3MXS0jKwuIAVk81mZ2Zmg9u6qqqqqKjY2cmhW/fwp7PiIAiCIAjy0vGcm+nff//Tlt+2T5s2afLk8QqFcu/eA9lZOc0/XCpVVVUp4FNTIwedVFlZ9d13q4pKSmztbW/euG2KA8Lu4MGjdAbdz9+HwWB07Nje0rLO1Kl6pVIFnyNHjgcHBTg5O8lk8u9/+ElqFGogd376eS1hcMWmggB9/OzSNWs33r8X4ezqnJmZBTEbzGRhYdHX36zIysqxsbXZtHHr7l37OByOr69hiF+nTh1dXVzS0jMWLfpAo1FrteoFCxZdvXoVjjp37uIb8xZmZGRxeVwymfTdtysj7kdaW1vv33/49Tfeik9IBg33xx97ft+6w5i35OrqaqFIcOzYiVWrfgHXtlgsEQqFHTt2sLe3Ly+vWP3Lr4Rxic+vv/4+MyPdytpy2/YdO/7Yabg/mVm//PJrcUmxrZ3NgQOH/zx5hkAQBEEQ5L/B87TY7dix98eVq5e+/96MGVPhKxi9wGRlmjK+OSQlpwwfMcbkEgoM9N+4YfWtO/fIZOrCBfPpdKqdjc3+A4fNkek0mqenO5PJDA/vVCedvLx8bx/D2kHg3p0yeYJep21mBlJT04uLSj/44D2JxNrFyem337Y3FpNKpc6dOxM25NKq3XuPzJr1iruHG8i1Ll06QOAnnyzr07vXrFnTCcOEL9rffttpGnc8etSo995705QCg8kYO24U2DJdXZ0XL/l41qxpAj6PSiXt23dkjmrm4MEDNeBU1motRYKvv1m5dOk7Hh4u1taWnTu3h2NBOJoSeXA/ksvhvPPuQrhpYmvx8uU/zH51FmEYv+I+dcokLpdTUV4ZExU1fuwoAkEQBEGQ/wDPzWIHGg5sRatWfmdyET4FXp4eZ88cyUiPhc/RI3vAglWQm+voaAuqrkXp2NnZmRK5efNibl7+Dz+u1mg0zTlQKpXRGVQWqwVDHzx9fGtqauoE3r5zz8fXw7TdvUcXsO01kQE/Xx+dVmuaK9/H1xc8ziq1Oi4uAQx1K77/+c8T58B33NixObl5fAHX1IvRw9OtorICrKS1I1hYiNRqAkEQBEGQ/wjPTdhRKJR33nlz9OjhxPODy+MVl5SqGtcmer3ePHl9fWxtJJOnTCh4ONMeqbSkUYVkgsGgV1fVyOUK4tmwtraKj08ybRcVFlhYisjklo2o+PDDz8USybw35rwybSKF0uhvxOGw8/MKTHM9VFdV8bhcWktmL0MQBEEQpJXxHIUdmU5/VlVRU6OsqJCZPuDDDQ/vHHHvwb59h/LyC7bUc4w62DnLpNI7d+7WMVOB0DGlEBObsGP7Lj9fb7G1lYuz0+7dB7Kyc06cOF0nHRaLVVNTrVSq7e3tlCrlrp27c/MLrly7npmVTTwVEyeO3rBhy+UrVyLuP1j21fczZkwGL22LUigrr3hwPyq/oODPP09rtQZfNpfLTU1Ni4qOlclU5mhBQf6xsfF79+xNTc+A+zNwUL8mVCCCIAiCIK2eF0UHUKnU6urqua/P79d/kOmTkpLm4ODw+eefHD587JVXXvVwd/Mw9mNjMpli4/xtVlb8d9+Z/+FHX+7df8jckw9UGuhLUwqffPxFnz69Xp09nUwm//77Bkjw1dnzBTy2o6NhQSE2myUxTgsXHBIgEPCnTXsVvi5Z/HZCYurMGXOzM7PbhAbXngMCcmhjY2OYpY9Bd3S0NwUyGAxbW8OiGnQa3dn54XLpAwf0X/r+O99//8vnny//4IN3+/czTKpiYWEhFArMqUEeTBMswxXZ2dmapvoDexvkAULWrPkxPT3jf/PfEQl4zs6OsMvb23vy5AnvvPP+unXMJTNqAAAQAElEQVTrwf5nugQvT8/PP//g4KET899428ZGMnvWNAiE+2NpaWmSkmDSs7QUEQjyVIAtuLKqqrKy6kWbATi7Ql+jakGWIP+FNTqV6t/plwC5rVI2N7d6glRUo5eqWnzDFRqisFqvbahLc2GNvlzeSuZwVqvVhYVFze+63TTwbJeXVxD/COBcgpxrNM3t821GKpU2NpKvtLSsfl+g/xrwMOTl5Tezw9V/hKdfUmzEiAkdOrR7//13GosAL8z48dOWLn23R4+uBIIgLaT5S4rV1EgPHzkOGww6HQzPgYF+YOIlnhmoinbtPgCqaOKE0c2ZZvwfw/c76af9GOODm9v7VqlSzdyrWtom19/Xm/jH8V8hXdiNPrt9sxwaah3p61PlnTx4fT1bdsOvpOt/uqr8ZSRDzK3rH3jvuDLYomZKJ0viRSWrQl9QrW/v+GRDQ1ZW9o8/rl627BM2m008FdBIuX79lkRs6eHp8cuaDcXFpZ9+soT4GygtK4+4d79rty5M4xJBxSUlX3/9/ZIl74mtLVqUzv79R44dO7Fly9r6u1Z8t9Lbx2vo0EHE05JfUJiYmNy5U3v6o4WYny+JiSn5+fkNagBQq0lJKe3bhz3jqSura0aOGL950xoXl39tlvUXhOewpFhwkN+p02dBJjfWr6uoqEin14lxdQQE+ZspLy/fvGnbkKEDLCwtf/99R9t2baZOmfDsJTXYp/v17UkikVvaSfQFgwSXQPxLtHTmZypJ91onBoPZ8gw33t1jfme6BfXFXX4Qfp5j8ZqUEm17xydnUiwRz5v/Gtwg4mnJzMwGPffF5x8TfyfwyqxZs4FGpXbv/lDTCAWC+fNfa3Dhoqdm4qSx4KQinhbI5K/rNltZWXTp3JH4e7h16+6lS1fqCzsws52/eCU1Ja1t21ACed48vbBbtPgdgvR9RMSDxiJAvfLJJ0t8/40mMoL81+AL+MOGDnJ1dfZw81z3669DBg8Ao92rc9786MP34B28fSdi796Dn3y8pKq65rU580JDgi5fvRkU6P/pZx9ATXPyxMm167a0b9/m3PkrnTq2/+yzT6hUfXpG1rChYyHlef+bO3vmVFPPgYULl3A4nLS0dLBGzJs3e9jQwRCYnJzyySdfpaVl9O3bOy4+Yf++bQ3mEOx/Z85e/PnndTnZORMnjXvttRkiofBeROTq1Wv5PF7E/ai+fXotXDivsXWW1WryO3/KL6Ro+nj+VWppNOT3T8lPJhi8MJdm6y0ED4+9FZ06+7Shj8RQP9pXA+l6/UPPHVhrvruo3hahur+AR6XqDsZolp1TKTV6HzHlu8F0FwuDnDqVpL2dpZWpiWNxBtftzQUCDlXTUH7Uay8UbYg21NNBtpRtE1hksl6lJf53SHk9wxD/tU70+Z1pJqchWKTGb1fEFWr3DSvw9nQnGsEUBza+GkQM9X0Y+Md9zTfnDd2Ig+woPwxhSHikI3GaI7FaZxFpT6R6mHvN0n48Dptt9k6C2/etw8rBXppRwZy4Iv2E7XIInBhKX9rrYYJfnDX0072eqc2p0IEpcWY7Q8tcpiAvPC5/mPOO9PldGm6uyxWKX++QNt02RAt3pa4ewaCQ4Zclbb6rBnuho5AMXwNtKHDPdTrSzgfqby4qwbs8K0Q5rxvccOqe+9LTqdTIPB3c80nBxHs9mGQKJfh7qUprcPafSdLAT/D1QEaATcO6dsWKn7du3c7msM+dO8blGJahKy4p699v2LRpE44dO21nZ/vtd182vTQ5nObmzXv+vh4uLg7mwEWLPrpy9fr06ZNnTJ8C1VZZefnatZt27drn4uz0vzdf792re2Vl5eQps9hsjrubi8roC/7i8w89PNwKCwt/+mntyVPnvL0833lnXlhYmDnN9MzMHTv2/PnnAVPXc1POYePEqcMOdjamONGx8Z99siwzK6db187wJvK4nB079l68eIXBZNy/Hzmgf78PP3y3dubTUtM++/ybWbNf6dY1/ODBo8u//VGlUi1etHD8+NGEYfxc9fJvfxCJBNeu3YFMvvvOwu7dO5FI8HqmrVr1y9VrNyQSycK33hgw4K/1llLS0v48cXrf/u00muGdevfdD+7ejVAolf369lq85B2OcVmp37duW71mk7+fL1hw2rQJnjvXMKPWvr371m/YBmadaa+Mnzb9FQj54MMvdFptdnZOUXHJnDnTxoweGReXsGjxRykpafBkBgZ2sLW1OXZsr7m1CTm/ef3W8OGDmUzmsOHjv/z8g6DgINOu06fPXb58/YsvPrx1+96K71YlJacMHtT/rYXzTL/s7Tv3Dh86wmZzT5w84+bm+tGHi8Q2D1eWksrkby1Y5O/v/+abr0vl0s8//erS5Wt8Pm/2zMkTJo4vKS17Y97Cnt27HT12gs1ifvzJ0qBAP6lMtnv3ga1b/4CfuHOnTh9/vNjGxtBBq6Kyav2vmw8dPkYmkebMmTFlygRoHN6+ff/rb75NT88YOKDv22/PF4uffnnrv5unb8hC+f7ZZx8fPLizsc/u3Vu7hnd5udYjR5CXFJlUCiXpnbvRhw/t5xvmRKQaZ+pW6nSGzlVarQ5KUr2hs5m+qKi0Y6eOp08fh1dz/75DhEEeafLyC8LDu+3fv/PW7btnz56EQFcXp/v3r89941VNrWHp4NO8cfP2Dz9+89WyT3766Ve5XANe4F/WbAwLa7P1918ZDGpOTm5jOUxPz9y7Z/+iRW/tO7AjKzP7+LEzkCtQe1lZuZOnTLxw/nRJSTHUao0d/vZxeZVUcXJitV7zcNw6VBgfnZFXVEnPvaL4vA/RYR1JJlOBheyr8+rF1+x+GEK9NFPt+3jZ+/tdbU6l7vwcLqi629nE+lvqTQPLrszWhttWH7idTxgrfo2GAMHnLybdnkc7O1XBIqvqZwYc0wn5sgt5wl0TSDfmksYGUTRaw1268CBLIZedn6a8MF0p5v5VumaVyH/oVb60u37CMZvG+odBzvdN4976HyfEnqJ62BOLdC5V/9td9eHRpZdmaXyF0gO3DLdXqyPu5mgn+NRcmMvKVXAjCmjGww1W1fwq/btHlUES7fAAFpS9/hJy9DucAFuK+lHPLhBh5XJ9cXn1von6Y2PL99xX5JVKIfzLC4YrhVvx5/jK4S4N9+iCBOEns2aT4OrOT1MQGvnHpw0351iCescD9dExZV/0UJL0OoNK0+vPpqgOxygOjyo9OJV8u5B9KsEQEy4rqVB5ciZ77xT2jWxyShmJTCJi3uXM68IY7EONeptzdAarMVVHGJTH/w4f3unh7kqYewzq9TVSKVTzx44d9PRw/2nVWqJJKioq79693bN3X/M4swsXLg8e1Gf5t1+ePn0+L68ULnDPnsPwfB4+vBvaHjt37AHnL1wO6I83//faufOXfLw9Qd88iIyGY6GVYmVldfjwnjfmzV6/YWtKSoopTbVGAweOHj0cXiJzzs+ePRIQ6Gfurnr/QdTMGXPnz5978OAOeFuXffktYXwT4QWcPm3C/n3bb92+HXE/0pzz9LT0X9dvHjp0INSq8HXkyKE3b5zv07unuW8ZvN011dW5eUW7dv3xzjv/O3bsSFlZGTQ/9h846OXlefHSqR9//Mbe3s6cIOzasun3kSOGODk87DIeGOS/afOaPXu2wSVv3vQ7hJy/cGnLbzvXr1s5Y8ZUyJhabTgXvMVbt+1d8f2y9Rt+Pnv+6o4duwijUAPj3Lcrln333bLNm7bLZBo/P59jR/cuff+9ruGdo6NvnT59uLYPAcx1cJfAtwDbocGBSclpSqUqMzMLXo7YuERnZ7vKquoN6zdPmToBfgjYtX3bHpXKcHadVnfx0g1ra+sTJw6C+LOytjQ+BURuXv5HH33hDFr8f69DE2v/3kOgv/cf+GPNmh9M/eDhzisVSlDM+/b9MXXq5GVfLodWCqQGh2zavPb48f2uro6bNm2BmDKZfNWqNamp6Tt3btm48RdHB1sIjI9P2LR5y7x5r548eYjL5e3efVD9As8lhoMoEaQ1UFpWdubshT/+2B6fkDJ16kSRqNFBM1AUBgUH0GmktmFBILZMgTY2ki5d2omEvLZhoYmJaU2cqHevHjYSsbOhxtIXFuVnZWUVFxXPnDkNjBa9evUQNe5pSsvIFAgFYCz0cHMdPLh/xP37plX73Nxc3N1dwEbo5uoE+rL+gaAnoA44l6J5JUTnYG+7bMDD6qFGKruUov4oXC62thzsRwedeitDChXM9Qz1W+1q+nozwBg5NYxuSgH+7kjgb7itHBtEs+YZlEd6iUKuJk7ni7dGMzPl/K1xhjtGJpMKpXonEWlSKJ3FpEvEliZf6u1s7aqrqp+uqqPyDbIM9CidRlOqtXHF5Nv5jCE+ZAadBjHlNKs8GfNiLj+qXDAu6K9qLNyDbW9nO8BDq9Prq2ukpkBIED6HYzWmuh4En1arqe26BUNjcqEClPmRbJttMaxCJXf1g4c/a6AN2U4sEjJ0QWJNdXWNMbI+v1r3yWllTIEWdFJji1bDnaBRSD4OfDDygewoV1Liy5lgXfMXVNRoaGcy2RQGx7FW9W/KJLhKTacAq5KrFfWPeO6OBJ6KxIwtMJjakor1w9ykLs6OQU5cDwvDxWg02ujMKguGBnJ+PAlUr/5k6kM76xR/uYittePrHbmKUtlDlcNjEFQKSa9/GisAiOyu3TozGJSwsMDomLimI0fce0CmUL293cwh7dq16d6je5uQIMPMqUW5NTU18fHxo0YPd3N17tKlE4fLTs/MIoxzggaHBHG5nA4dwyBmZWWFXKE8e+5yUVHJ/n0Hb9y4U1lZnZ9vmlqLSEpKiYqKXbDgDeKxO/9YbXviz9PQAIuMjDI0rkjEjRu3FApDi8XL0wMsf3AKBwf7uNh4U2R4uz/97CsKlTZgYL8mbCUUKhXeLJBPjg72Go0OBAoECvj8nJz8G9du0qiU2g606Oi42LiEOa/NNId0aB92987906fO8vncuDjDqc+cvtC5c8eQ0JBu3Tp7Gi3NGq32yLGT4Fa+cP7y8WMn4S24evWW6fDu3cPtbCSOjvYUKgXuJNE4Uqlsw/otoE15xq7A/gG+aekZoHT/9+Z7sFFcXOznH5Cdk6dUqTt3bg9P6dRXJsTGxZaWPpywDBT8iBGD4VF0dnIEqz+EVFVV/fTTOniDli5dRKEYHioenwOK/9aNOzKpLLxrD/OpZ86aymYxunXvXFBUlJKSCv4BJ0eHmKiYY0dPFBQUxcYmQpz8vPykxKS33/kfpO/j49WzV094K0ERFhUVR0bG7Nm9H04XH59oWDv+ReX5rxWLIMg/j72d3WtzZtrb22zcsKWkuLyJ0h/MAwxG3c5MYJAwOVuBpgssPp8Pf2lUKlRUYMCTyRRQnpoKU0iWSmm0SIHSnGE8C2QNKkhohZsmoaQzGE3Pv2gwcugNMsWVU63Xi4weIoM20oJeIMgmMwDdkIIqQ8rrCCYXnd6HV0kQ1rVSj8kZ5wAAEABJREFUMPwt01uMdC95kE7v4CCk0qggFsNtqnu6WVHA1uVKTG1DM50LRIafmFJnHLAVXeHDlULORXS4fEMHLzcJ5+M+8ptZ2pXXdB3ttZ/3pcBFDfJjiOiKB3nVv9xg7o/S/DyCCcYDcyJUQyZ1ZhNLiLVCIVdYs+G3EDx2sY8AFQgKqY9dZXc3MDmQurkSJrepGfgJQNaoNSrTkWCumx0kW3mHfT2L1N2t4ZtJIulBXVYpwcVEMp8LNkeE8B0ttfdz5fPvksa10UwIefg7+nANg0YlbLhkw+9+OU376Rnlm8HF0HKollMvp+lMt9edWw03CTx68FPCrwIaValUtHWWhBnHQ3RzpQof9QSDJwfOp9IR1Wqa+ZL5DBKNDEcR5KfoW0gisY1u2eawc+eeESOH1e7oZhpmBC5kuJMq4zOpUqlBNBDG3kTgfpVKpebItV8ccFmCAOrZs6u1cX3z/v16uxjtc/D7guG5XbtQa6vHRqvUGVpeXl7u4eHerVsX01dojFGphhvCZj+8UywmUyp9aJwuKysfMWLohfOXcnPyai+MXgcqhcJ8lEN4v+BXgDTHjh0DxraEhOT16zePGDVsyqRxhitVqU+dOtuvXy9Li4dNhdi4uE8+/mrgoAFe3l7VVRUxcYapWEtLy1weGR2tjEt3wgOpUCiHDh0QGOAPXyH/5g77ppIB8gAyCM5ONM7hI8fZLBY4oE1fAwMDbt+JOHb0zwB//8uXrmrUGltbSWFRCXixTW836D+tRmeyFxIGkS2oM7ca/Gpenu4gtmJio4ICAyFkQP8+YNW7dzcCzuXq4vL550sfZlJgeNeYTAZkEpQ0tGx/+HF1+3YhXt6eoFlLSkoJQ38DJTwRAv5ja6wX5OeDtO3RoyvF+IyCxxKeDeJFBS12CNIagHqJxWIKhcJevfufOQNuzRKo9aFsAtUFNUpmZjrx92BtbUGj0wqLS+FEUP3IFY2KQjBClBQVVlVVQikMzXGRkN/8mS9pNBKVTDqdb/CJlFfLTIFMFoNGIZdUSuHUFTWG8/ayKWRB3Usj781yAucjXLhKaxw6YSyL5/tmjGxnezabey/boGu4LGaGXORuRQ2xIwXakvwkhjgQObWMkKr0JqlqxsOWN7it/aAwe0fLh932KYQuzInxdk/ejf/xrmVT7hbQ4XSQyc6e7Ld6W+6fpI/MVRQVFzZxUT18BJBmmJuwtggn1xp9DFUIh8VIlln6SSiGTNo8zGSDY1ngGtvYUwaFWK7uWbD3XnW1tOGJ1rVaMpNG8rIy3BzzSGeDGY/ODPdkzesm+jK84tebf9XKkEP4hLoIjNHIZ5K1ARLy8A5OXb0EGZUUsCYaTYD6P/Pt4FeokcqrpYYfAvSdSCggy/OCbAnIeYANyUlo6CVpTpZP1xu1oAEw1DEpBucqhfJ8JjFpjMOHjpRXVvXu06OJZg+DQRfwuVnZuVrDYuUVJcVFEomkwZhCPo9iJCgoICg40MfH26QR8/MLwdI2cEC/x6OT6gyjAfdoXm6+v79fcHBgYKA/6JLGjKyE0UY1ZfK40LCQtWs3tWjWHrhQoZA3oH+vBW+9/r8337h7557JvpuWlp6dnTNk8EBzzJs3IsBsP3PG5PAuHXT6h7IeLHz5+QXwwoJajU8wWLOYDLqVlWVMdHxAoD/kPCDAzzzPV4NYWwlAHdbuflBeXrFjx5633nrd7JkVCAQkggRmxbmvzzp06CioOT6PZ2dnW1VZWVJcAsdmZmWz2AwO56HkBelY5xcEe+qsWa8MHjxg9uw3K6qqCIMoZ3Tp3AGMpnPnTDt06IhG8zB+ZESEoftHZpZGrRZZWILzl0ohT5w4vkf3cInY2pRPEI7QHktJTdcaWomGlhiFQgW3AghBF2cnMNzC7+Xq6tLE7/WvgxY7BGlVuLjYgsvm6vVbgwf2A4fpyVNnwb955dJ1agsHycbGJkCpl5ycAgrg9OlzUHz7+/vWj2Zv79CxY/sV364M79opNjZeq220bvZ0d5VIbDdv2W5pZXnvTsQr06ayWC2YseKDXowjsUo7rjauBEotQ90GJo0FXZQfXLUcmV8QUykId9A42DlAgf96J8a2m+WfnmYHWioSK9if9GOY6xVXC/LEQNKvdymWfF2IPeVmumzhYf0QL3WeoS4g3uzBh4sFCVIhI2m1pNraTmfE/BXqlcTMwj8zOE58bWVlVYBYGGItJ5H4kfEpO9Ps2tpqLmYx29trLESiJjSE3mCQq1tJ6x5f27qzKy06R/bafmKwhzKnikwj6+Z3F+gaWv9a92iASKiv26Fs1bYH5Nc6EdEFuoJqXblMn1muO5mo8RWTnYQkpYbIKHvYYc58OV+eU7izy8Hek1Rp09npryutnUNwDQ/0Ipad1x2P0xVJ1WUyHcmoMnt5UK9lqrZcyiVYlsmVjAGWcgqZ0dOLvewcVXshBxyOWRVET0d5mLetOakaNSlLxnl0dr2Ep0so0h6MVFvyWCH2JAGz4ZsGD3NRYSG0H86euwDeQFBURLMB99nW33fPm/8ai9nU2Fsww/Tu3XvHjl3V1dVFRUXweLu7NjyJBty0KZPH7t17MDEpBUzRVRWVI0YOcXVxvnT5qqWVhZOTw+PR9eYfyMTwEUMuX73+5Zffunm4lZUUs1is119vajVOkEGTxo9e+sFne/YeHDtmRHJKak5Obm5uHphI4baEhYUyGmomqVSqo0ePl5VXgni6czuiTZsQk4Ht0qVrbu6G9cfNMYMCvS9cvHTs+Cl4LK9duy6yMBg1hw8ftHjxR2vWrCdTaGZL87w3Zn300ZfffrvK1s6mML/Qx9dr5IghjWXby9tbrVZv/2Mv3MmePQwLu588eQasgO3atTXHAeMXJO7q5uxgbwuXaWFhAcY/UMmhoaG/b9vp6Oh44/qtkSOHW1g8Yb6eiZPGgvr8edXahQvnHTlysry8jC8URD2IHjxkAJX68F3ef/BPqVwZEx3Xp3cvDzcXLZgBtdo/T5wGwXrx4mXT2p4g5UeMGL5u7abo6BgGHQQlc8yYUeGdO969HbF69a8enh75eXlOzo4jRwz9m+aIeXYoM2fOdHJyIhAEecEwlTLNAcwGNhJrsAGAuQrqGHt7O/ATODjYubu7aXVavU7Xr19P8Ps4OzkaJ8GGmB7gEgVd5eLiDJHBDwsb7u6uhHEmJB8fT2i7g6rLz893sLeDj1Kp5PG4EFMg4IO8g/qATCaJra2hQQ+eI08vdwGfr9NqbW1tK8orhg1reFYtQ0xjNx1obvfv3yckJADyANY+O1sJqEa4BA6X4+rqYnJs1Qfco2I+uVRODrKlhdmTOzjTRCySu4XO2YIhI7EdhPSF4WQGnQLVrac1JdxRK9Mx9RR6WweKgxAyS7Zgk90tGTwe29NSy6RRuCyar5jS0UFLo9FVepq9kN7dUSfis8BdptWT3SxJzqKm+nsZfKBkMhi/arQ0Oos3JoTtYAFygQS+IznB1pFprpbUOW0JNosJ+bHikDq40OEvIOFR/G3AUtloi1qjIx2N0/iIySbjnJhLDnfS6SkMLYnmZAGZ1Ap5LCaVcLeiuVqQKGSCyyA7CGiWfAadSnISkT0syUwqycOKDLU8fE0r1RXWgM2M4iKkKLWQGsmCRRYwyGEOZBHLIE2suZRgOzKfQeYxKdVato5CD7alTgwmU6kNO3NseYSfhJpXrYPL6e9FDXOkgzVOzCECbMhlGq6ITc2r1I92L7e3FliywVBHLtVwIfMuVswAew6LTmbTyfYimjWXCpkETexsSecyDPfZmk3yE1MLZPDz6e0FZBat4Zt/5849eE7AUATeOtDZ9va2PD7XztYGFB5UsUwG08XV2cOjYSf0sWMnkpJSFrw1r/byPPCawHsBjj/4QcHECMcannMHW1AeNTU1zk5Ogwb1N04aT7GytHBzdbYWW/n5+lpaWjg6OoDhynisDQgX8MIHBwe4urqAp3LZsm8nTRwLu+pkQCaVgaYZPHgw12h5AjXTvXs4WH3gUm0kkvDwjqC9QN7Ba+hqlJIgbry9PeB1YLEY8HrCh8vjurm5gqkJGmw5OXn5efnwIovF1uDQB50BVi7wj0MeQBJBshAO2+BzhJcMjHxgtw8K8u/Tpwe87DKFYtXKXyZOHOvk5GjOnr29PZyrqroa7smwYYPBggg3ARKEoxRKlZOjQ0pKKtgXQ0ICxWJxu7ah8PDAKwAlTPt2beBaQL77+fqIxVZgmQQftLe3F7S7CKMtDdJRyOU6ndrT07OysnLv3kOjRw0zTbxvwphbq+CgALFEDCYxPz9fW1sxhUr18vYAxz0UX716de/Uub2xuwWYlulwzyHnZnszvN6Qcz9fb8h5WNtQiA9Fn0gkBDujTqvz8/OeMGEM3AeZTH7kyJ9vvPEqg06HX2fUqGFQIoksRPArl5WXQ7Y7dWzfpk0w5BZsq+4erh7ubmqVGtwCwcFB8FuD7xVcxnAulVrl6OQQGhIMp3jRxoaauwo8/QTFCIL8rTR/guJ/FhJBPOamfHD/AZPNgdpu8+bf9TrtkiXvEv8ED7OhN3oDa4fU235IrZi1I9ROp4GjWpSZxzeIpvNTB52OJJPLyuW6WQfJXw6gt3ek1E+/Vib/SrA5Oa997U+8DwRBNFFh1TkcqKmRFhQVWltbp5aRPzxLrB8FQpna5FFPTPY5o9ZoTp08Z2MraRsWQvydgP/u4oUr06ZNrN1tFPyAUllVRMSDX9dt3rhxNZf7L/fNSkhKAePThAmjzN1qm2DX7gPh4Z3ycnNem/vW4UN7nJzsG4/75Ic8L6/g+o3b/fv1amxWo7+P4pLS2bPnff3N534+XkQr5TlMUIwgyH+SumV3jVTx9fKV4Orq1LHDa6/NIP4hzB3/64bU2ybqxawdoXY6T73ulr7xjQa/NsCNLO33lwm5mjy/EznUpuHDa2XyrwjNyXnta2/GfWhuUkZ/sp5Koy6/K04tI9kJSJ/31tsJKE866onJPmfA8DNkSH8KhQpWHOLvxMPd1cNo+a5Nbn72zBlzeVzurNnTzWMj/kV8vDzg08zIt27e3rZtJ+iwX375vklVRzTnIbezsxkzehjxbwAWPvAdv7DO0+cLWuwQ5AXlRbXYIc8fk0/HNHASTHe1x9K++BgH2BLmcZ84dSmC/CugxQ5BEORFofZcGC+XqiNqZR4lHYK8CKCwQxAEQRAEaSWgsEMQBEEQBGkloLBDEARBEARpJaCwQxAEQRAEaSWgsEMQBEEQBGkloLBDEOTpkUllkVHRFZVVfD6/c6cOz3FcZEJCEoNBc3V1bdFRlZWV9+9HyRUKO1vboKCAOvm5cfN2gL+veVIABEGQ1geZQBCkFZGZmbd79z6pVEr8I2h12poa6YMHkd9884NO9zynu7h+/db9+5FEC9FqtVXV1deu3diy5Q+9vm5+Dhw4UlpaRiAIgrRe0GKHIK2KnTt3czhcJvMfmuAerF99+/biC3jXr43JIzYAABAASURBVN8hnisTJowmkVrc8rSwsBg2dBCNRj118kL9vR9+sOhfX9AJQRDkbwWFHYK0HioqZLdu3/lu+ecUClmv19+69WD9ho3p6Rkuzk7/e/O10JDga9eu/7hy7Q8/fGNnK1mzZl1pWdX7S94pK6/44fufomPiIIXu3bq+/fYbVdU1U6bM7tC+bWpaur2dbUxs/OyZk8eMHf3GvLfJJLJaoy4pLh0/ccyYUcPI5Aa0l06nS0hM3rzp93sRD2xsJNOnT+nbp0eDMc9duPzjD6vd3FxysvO8vNzfemuejY1YLleMG/9Kbm7e3DnT5rz2qinm0qWfQQiTyczNyx85YuC0aVOpVGpRUcUvv6y5fuMmi8WaOnX8qJHDzUuD1+Gzz7+5cuUanUb78cevvb29IeTevfurV6+3s7WJjU+wsrJavOgtT093pVJ96tT5rb9vKy+vaNs2dN4brzo7OxEIgiAvD8/NFVtRUREZGX3v3gP4xMbGK5VKAkGQfxDwPK5d80tISLC7hyd8LSkt27Bx44Txo/bt2z506KCdO/eDgAsP79KrZ8+dO/bt3HXgwsXrc16dzmIxwb41duzIP/7YtGnj6rv37h05ctyU4NRXJnh4uIOyWbxowY5dB03rC+Tk5H799WfLl3/5+9YdiUnJDeakqKh47dqNHTu2P7B/x6uzp+3atRe0WmPZVioV06dP3rv3DwaTcfjIcY1GA1k6emTPmNEj6mhBlUr52Wfv//bbuh07D9yLiFQqVR98+JGllcVvv/362acf/Pzz+ti4xMbO8snHS86eOcpms+vks/+AXrt3bfX0dLt06QphUHsR586d+/CD9yDQRiI5duwU5IdAEAR5eXg+Fruqquofflh9/vwljVYLX+l02qSJ4+fOnUkgCPJPkRAff+r0hc1b1pJIBgkW+SAqKioGjGf79h+GhpZMKispLrG0EI0fP+rb7348f+Hiyh9XODgYVvUWW1tdu3rz9JnzYKYqKSlNT8/q0ZMAG5i7m5uNrcRWIgGlKJPLVGo1RO7SpZOFSCgSCiUSccS9SF8f7/o5ycsriI9LqKysOn3mHJwaWnrFJaUcDvvWrbs7QeTJ5O07tJs1c6opsru7m6urM4WiD+/a+czpcwqFgsvlNniBYGmzsbGBDT9fnxvXb1laCB88iJLJ5TFGW6NCroi49yAo0I9oNnAJISEhDAbdydExNTUNbJyQYHRM7C9rNoCmLC0ts7SwUKs1YBokEARBXhKeT4FVWVkZHR27YsVXoaFB8HX79t3Hj59EYYcg/yQHDh4dNmywm6uz6Wt1dVVwSNCPP3wN/kfCuFI7zbih12vLy0rBWCWy4Jtibtu2e9fuvWCmcnF1BZ+sKdCsZkgkgkajwGGgEeErCD5TICSbkZHZYE7AyuXo6PDFFx9aW1uZQuh0Ovz19vGaNXu6RqMVCvjmyBQq1eQ/ZdDpOp229qqpdQDL4qPUaHIjEHnVqu94HHadPDcTSNA0bBY811qt4epAv44cOWz2rFdMxkL4a7ppCIIgLwtPL+wUCuUPP/6UEJ/M4XKUCmVWVvbPq3+FdjxhGJeXlZeXN3/+uyD44Kufv/f7S94lnh9lZeXV1dVQczTYa6eZ5OXlQ1vc2dmx6WhQRRUXl4hEQiaTmZiYbGdny+M9Zk7IzMzmctmWlpbmkPz8QqgEISbRPKKiYz3cXes4iRCkRURHx4DN6bsVX5lDvH19d+06kJiQGBAQIJfL4IUFmUWhUPcfOALe1Q4d28+f9/Yvv6y0sbGKioru2KFdhw7t4LWCRCwtLZo4UcT9+2VlZTVSeUpq2qSJo0yB1mKJVqspKSmysBTRqFQrK0uCZHg1LCwsNBo1mO7s7e1AWYKegw/kASKbE8zOyspIz3D3cL99+46VtbVJAjYIWP6KiksoZDKUMN26dbG1sxOLrU+dOA1yFvRZcXEpfOUYRR68TTKFrLyiTMDng24kmgvJ3d39/PmLhYVFNrY2VZVVkGe4FhIubo8gyMvD0ws7KOsUClXE/Qfjxo4CrRNYywPi7u5i2oiJjU9ISAprG/rE1CoqKg8cOFxYVAzbAgHfz9e7U6cODAajwci3bt25cevO0iXvMpkNRFADGg2b9YRRgcaJD8o/+WRJ09GgTlq3btPYsaP8/X2+/vr7N954tX37sNoRfvvtj+Bg/xEjhppDln/7Y69e3YfZ2YIr58iRP2fMmAIV4dVrN4cNHWSKAML00qWr1taW4eGd4euCBe9t3LAaHFIEgjwV8MhfvXqjbbu2QoHAHOjl4d5/QP+tv++ysBCpVEo3N9dxY0feuBFx907EkiVvOzk7VlRUrf5l7aL3FgwY2Bce49W/rCfAYmbsTdHkuTTffbeyqkoaFhbSvmMHU6C9nQ34ZL/+5gd3d9f/zZ/j4GA3dOigXbv2nzt/CYQdh81666355te5tqojDO9+1a7dB2CjpLh0/vw5EO3atVu3bt+5F/GAzWZW1chDggPhhYIINVLpD9//rFDIHR3twsM7ggBdsnjRHzt2QjkDbTy1Sj371Wlenh4QMzDQn808+s03P8BVvz53Zn5+wYkTZyoqK2Hj9227oBn29sL59S8NyrSu4Z2Tk9NXrVorEArAKQxid9jQgY0NyEAQBHkBeXphB+Xvq69Oi4yMGjCwn6+PZ2pqamBgYHZOLuyys7W5du1at27d1m/4zdJS9PrcWU9Mraqq6sqV6916dLWxkRiNf+vPnr345ZcfEy3nQWQ0OII//WQp8Tzg8/nTp08Ri62aGT+/oPDGjVuffPI+bJeVl+/YsRuEXXl5xUmwKwwdpFSqTp46s23broryiv79e4Owy8zKBhNF8817CFIfaBfduXP/jXmvgkvRHAiWqkkTR3fv1kkqlYI/0craisvlBgR4+fktcXC0J5NIc+fOLMgvBFN0j+5dnZ0clUolGLpGjhoGDk0LkWj58s8gtTGjh4PLlcvlrFr5LYNucEoOHNArNDQUfKD2DvaMR9Y12ACxWFBQaHKGwiM9dMiAtmEh1dU1ILmEQkETdjgfH69JE8eCnxfMe7a2EsLYMuTyOL179zBFsHpkQezerQvoRZVKZW9vKxKJIKRr1w4eHs7QggJNBg1CsURsigmug8WLF5aUlJrOC7s6d+6gVKnMaRrP6/3++++YLOV9+vTs0qWT4VxWFq/PnZGbmwdngTsDJsBncQsgCIL88zxTHzs2i83mcIpLSgR5vM8+/+bnVSveXrgkKMh/0KB+by18/+6dq5VVVSILi2aWjFCMdunU3svLMKBv4IC+Y8dO6da9c7++ffR6MA3KwU4A6bBYzDqtZzAwgI8J/kLVBQY8qG/A7JeWlgGWNrAjGtrxao1SqdDp9AwGvY4JEI6qrqkh9IYuO7BLb+x/TQNPEpUK6cjkcjD7Qe1oYyOuXy1BLQhFP/ho6lg4iouK+HyeyNDcV1bXSLVaHeQEzgI2FRCvxcXFcbFxn372wc3rN8rLDX7q61evDh7Un8X6h2YdQ1olao12woSxAf51xw3AGwEmtNohptESJrgcjofHQzuxecOMp4c7/JWIrU1fvb09TRs0KsXXt4EBE+DnNfeoM0Sj0ZycntDP4WFMOh3Mh/xaq0FA6w4+9WNCcePl5VE7BPScnZ0NfOrEhBfT1tYGPo8OZIN8rBMHnLYczsP+iGDUNIdDuVE/MoIgyMvCcxvtJZeB0lGbtqVShUajJZ4BJ0eHiePHbNn8Bwi7qKi4TZu2yBWQpgaMXiNH/uX0BLV07NipK1eugY8G7ArgJ4WqZcP6LRkZmQvfXvLVsk95PN7vv+96EPkAYtpIxPPmzbG3tzMffu9exKJFH1VXV4N0W7LkHbBnfPzpMjCk9enVo7SsbN78d35e9R1EW7bsO7C6BQcHmg/Mzs5ZueqXivJKMDMUFha3aRNk3uXt7fv77xshq8f/PLV374GcnNx3311aI61JTEx5770Px4wZ8f7770E0EHam+P0HDmQxsXcd8kzY2UrsjeKmiZEHz4WwNiGOjs2Sa80EhGOb0GAa9ckDFMC7CuY0AkEQBGmSZ/IygP0MbFqFBfkN7tXptBVlZWC7ejpfhp+/d1p6Brhy1q77tU+fPj/+8M2rr07fsXNv7Tj5+YVHjh6fNn3SDz98ExoafPjwcYFQ8NbCeVD9bFi/GuTa/QeGKR8+/GDxD99/zeKwL1y4XPtwBweHzz//8KuvPtWotVu37iCaza/rt0jEkm+Wfw4uV7NVwASDQbW1EYPNb/SoYV988ZGzs+OGDavBL9y+XZtff/2pb99edZKyEAlZLDqBIM+G3gjxNzNr1isdO3Uknh8B/r6zZk6FkuSJMSdOHFP/9UEQBEHq8EwWO3AggjsjIz27S+cG9oKPsqAArFmhT9f1WCaVgo2tsKAgNSV1+bff//DDSo1Wm2Psw2cmPT3j8uVrKSlpFDJZKpOHh3dUKVWE0RFj6mx0+9at8xcuxsUnkAgC/MLTpk2ufbidna21lWE0a7++3Vd8/wvY85qXNeLs2Qtr1/xgbWUFn+b4m+BW/AOVLoIgCIIg/3GeSdiRDNMAkEzzPzWITq9/upkCDKP8rt3p0qUjjU7n8wU7dqyq3X3HDIfH7datC1jjRCJh7XC90YABp4Zjx40bBQazpsUlncEEsyLJeEGqRw7lJoBoTc9HD/nfuGnr5s2/FxQUdenSR6lSlZeVd+3Wb94bcyZMGEMgCIIgCIL8DTzrgC82myWTyUHo6PR/TZSgVCo5HI7OGNTEaLj6qFTa6hppRkbWzl37cnJzZsx8RSwWu7q6gEgqKS2DE5nmQwERppTLQTw5OdjL5fLLl6/CdnW1tMI4bZ5AIKqsrCwuLob8hIW1SU/PvP8gSqPRlpaW1UiltU+XnJwKJsD8/PyjR0+MHjOCRqNaCAWXL16prqnJyyuorKiskz0qlaJQKMH01q1bZ3D7FhYWFRYVgdWw/oXQaLTX587esWOLj7fntWtnf98K3uQeVy6fRlWHIAiCIMjfx7MOngDhdfPmbVBvDDpdJpOZAkFCScTWOp0WVFed6XybICc3b8n7HzOYdLG1taeH+2effmDyk4KHdO3aTYsXf6TX6Tp1avfqqzNdXJyKikvWrNnwzjv/mzljyv79h3ft3i8UCCdMGNW9e1cvDzcrS9GCBYsXvDUvNCRw8KABmzb+DlIPjpo6dbyvr6/5jEql4sOPPieTKZ6e7lMmjwe9OHBQ/1Urf5k583U3V2eV6rHlbkG8BgT6b9myDSKDaFu58pd33l0qEYubM7Ew6DycNAFBEARBkL8b0pUrV8LDw4mn5eef150/f+mnn7578833Pvpo8ZdffhsU5O/m5nrw4NHffvt1+vTXFix4o0ePrk9MBzynYGAzuG6NEopsxLzXsMu4nBEEglPVFJkwriBk2jb1YINdpqNM8U1fzRGMHe8oZtew8Wz6Rwc+PJ0xMoTrTNFMDlxIyuCoBaukYfqfU8EJAAAQAElEQVRWHdjtTLOcwFfSIxrUbaZTP8qkrvYM+HAsBOLEp0gTVFdXEwiCIAjSDHiPJo16Vosdi8VUKBSmOatYLBb8tRZbC4UC2NAbF5ds5kqLoI2aWOeRYqTByA0eWDt+YynXnsr18ZThQEqd1EwbteVmnSw1iPnUj5L9CzTgIQiCIAjy3HlWYQf+zcysbD6ft2jxQktLi/cWvcVgMOg0WljbNuCZVSqVTa87iSDI86KouLiosJBOZzg7OzW2HJ+JioqKysoqiEa0BLBRZ6RnyGRSaMI5OjkxHu8+m5mZxRfwTatFt4iSkvL8/BzCMFNd4BMj10ilOdnZOq3Ow8uT3rxGI4IgyH+KZxV2vn6GLmtDh42j1DNBKVUqBwd7G1sJgSDI309paalCqXZ0dDLZibVa7fVrN5RKBWzzBAJ3d3fz2lwKpaqyqsV+XjKJZG1trVBYRD64K7GxrSPsIEF6k2qyMbhcNo/Hv3f37hOFHVxRWlq6Xqd3dnKkYjcGBEGQhnhWYWdvZ3v+wp+n/jxZVl5Td5e9dd9+fWuvSo4gyN+HQq5gslgCAd/0Va/XQ+PKw8tLZGGRkZEZ+SCyfft2PB5XrVZbiISWFn+Z0rVaw5B2Mplk6plq7mNQp2+rcf4gHotVtwmnNeLj7Wnu8wCn1mg0JDJZbzycQqEaZhN6FA5/zQkSxnXPKM2zven1hLSmxt3dRyhqsV0QQRDkP8JzWFLMRiyeNv0VAkGQf5X6/VlBP4HOE/C4nu6uJcVFxoHe3KSk5IKCAhBh3bt3M0VLTUtPiItzdXeXSaUguPz8fDhsNjg9o6NizMIuNDQEFFiD5y0sKsrOyi4rKwP7vYuzYfVVqUx+6+YtkaUlodNVVVU6Orq4uTmB+AN9mZuXB5Y/CpXq7uYmFlubtB2dRieaMeFlnXWZEQRBkPpgF34EaeVotaSKyirCaDmDv/7+fh4eHpTHRxSBznNzdWvfvj2Y0xLiEyAkJjqGTCG3aRMKH1B7mVlZjaVvZ2vboUN7Hp9fJ9zKwjo0NNjVzbWgMA8EYklpWXFxcVBgYPsOHSRicU5uruYvoaYnmrEyi1KpUanUVOrTzHmOIAjyH+E5WOwQBHkRAB8rjfFYzzO5THbl8hWy0Rjm4eXD4/EbO5ZCIXM4TBBYtra2qckpGg25qqpaJq0pLiyEveA/1ajV3l6eRPMgkwwtRqGQCwY5NottmleosrKyID+/tKSEME73w2JztBoNzagv1WoN8SRll5yaFh8Tay0WczgsAkEQBGkEFHYI0kqgMxj6eiFePt4WIhGPy2n6WPMqfLUXNW7bvoODvW1DcZ+ATqc1xzQ5c42QXF09goIDTP3tasNg0J+49qCnu5u1peT+/btyuRziEwiCIEhDoCsWQVoJ2nrrF5PIJD6P+0RVRxitfUXFJVKZPDMzQyDkU6k6oVCYlZVZWVWtVKnKyg3To5hi0mh6gkTIZLImOryRao2RNys2oVBQUVlWUlICCYI5sLKqyqz5NBptbUHZGCwWjclkqFTN8NoiCIL8V0GLHYK0EupqIz2h1z0WQiaTi4tL4+NiweglVyiuXrnK4/O9fbxhl06rS0/PqKmughAfHx8ICQjwj4qOiYiIgHRZbLajk5N5vK2dvUNMdDSNSusS3k2jUSQmJlVVVpaVl8uk0pysbB8//8csao8scZYWFnb2TrGxsYRR7Tk5O3M53Ec51xHNgEwhNzGNOYIgCEKgsEOQVgOdTtfWEnJUGrVPn161XZxgIbO0FHUJ71L7KPOcIx3at60dwmazzCFELcMb4Ofr4+frbQzUUyiMwMCAOglSKJRevXqYDhFbW1tbWZm2vTxdPT1c6qfJoDNIzRgVa1q8r6y8WCzG6U4QBEEaBl2xCNJK4HA4ZcVFd27fkcnkppAG1RLpceqHNxjz8RSI2oH1E9RqtXXSaSxNMDLm5OTHREdZWloST4JKoXi4u5eXlV69elWhVBEIgiBIPdBihyCtBCcn8Jc6Ei3HysqSRvl32nig7hwcbOHTzPhCoaBTp44EgiAI0ggo7BDkv46FSGiBazkgCIK0ClDYIQiCIAiCtBJQ2CEIgiAIgrQSUNghCIIgCIK0ElDYIQiCIAiCtBJQ2CEIgiAIgrQSUNghCIIgCIK0ElDYIUgrITs7JzMjg8Vi+fr5sdmsJmIWFRUVl5T6+/kSLYCk0Wpjo6Orqqq4XK6Pry+Lxay9OzYu3srKUiIWEy1Bryfy8grSUpNhu2u3rgSCIAjybKCwQ5BWQo20Rmhp5e/rbVrUQaPRnDx5SiE3rEIhtLAICAiwkTxSXSSy4dMy9FQKOSg4SK0mX7p4BkRe3f2GBJ+8LFjdg0iEvb0Ng0m/fPEi8VTk5hfkZmeHtgml4TKyCIIgz13YZWZmMZlMiaRlrXYEQZ4dpVJFpdFrr9/FYrGDQ0JEFqLcnNzYmFg2i8Xn88rLywmdzs7mr5dUJpPLpFIag65SKNkcgG0Kr5FKTbqQyWRxuRyCIOovL2Y8XFZTUyO2suDxeKYQrVZbWVVFo9KUSiUoQj5fQKfTIFytVldWVul0WjqDweNyKRTKw5yrVHq9/okXWF1do1DI9To9g8UU8PlqjaaivKKyokIulxcXFVMpFGuxGHInlytkMqlWo6XSqAKBiEIxZFihUFZVVpLJZKoxJ0KBwHjHlFKpFBQwg8Hg1soPgiDIy8tzFnbz5r8D/p3PP/+QwaATCIL8g4BqqROiJ/QgyLhstqODPWg7lQpkFq+qqjo/P0+lUnd75PrMyc1LiIvz9vUFzZSUkurn5ysSCkrLyqOjogVCw4oUIJ7atg0zabv6KBQKEItZWdmeXp4uzs7GEOX9iAciS0s+lwNuX6HI0sfbU61WJSWngJBiMhigvRwc7OFjkon1c16fyqrqqMgooVAEulBPIkKCAkG6VVRU1FRXq1SqiopySMTKWkIi6dMzMkDjQsIGuSm28fJ0g68xsbFSqQx0bVVlFeyCa5crFPFxCaazw7ajA2BHIAiCvOQ8k7CDlu6VKzds7WwEfN727buvXb95+/bdmNi47Jyc8C6dp0+fxGazCQRB/hHA4KSvG2J4wTUaUnFxKZjEaHRDc8vZ2Qn+wktaOyaNRnNxdqXTKZFRioT4+E6dOsZGR4ssLPz8fGBvXHxCRmZmgL9fg+e1MFJcUmoOMZnf7GzsbWwsWSwWHKvTuZeUlsllssDAQCaDnpeXn19YaGMjgfNCTDC21TcE1qGgsAgEnI+PL5miB8sfYbAjMjw9PXLz8uF0nl5eRles4byuLs4MBlOv12Xn5EVHRoKwA90JZsUO7dtRqJToyKiq6mqIVlJcAoFhYW1odFphYVFeXh4KOwRBWgHPJOxycnK+/35lfEIy1Ci2NpI+fXpOnjSmsqIyKTl9/YZNhw4f/fnnFR7ubs1xcJSXV+h0utohUGpHRcfFRMdOnz7ZVPo3BvhTFi5c8u57b7m5OhMI8l9FpVTSGI8NaJBWV188f8Hgf6TRfP0C+DyBSfrUh0wmMRiG99TKyiolqVytJisUqrLUlMz0NFMEiY0t0WzIxleezYbXlkSn0406T19dXZ2TnV2Qn2+Kw+PzwWNrerXhFW7aFWsoYWxtMtLSLl48ZyUWe3n4EoyGY0I6ZeUVGRkZ1VXVCrnMJAHBV8vhcKFIgW2RpYVMoYCzqVS6osKCM6dPmw5kslgEgiDIy88zCTtra7GdvX1qWsaECWPmzZtjZWm5evU6cK/MfnXm/3Lmfv3VinffXfrhh4vbtwt7YnP8yy+/LSktLSstfRAZ06tXdwjp1bO7p5cbk8V8YucblVojEAh0Wg2BIP9h6rd/6ExGSFgbC5GI/XAEa6OvErxlILNAPxmUEAl0nh58mm3atnNytK8TE8KJJ1GrkQbe3YfbYD50cXELDgmiUMj1ck4nmiwiIG/g1e3Ro1dFZVlOdu6Z08f7DxzMYjbQ3quorAIPclBwkIWFZUlJ6Z1bNwijs1X7aLSHWqWG7MHZ4EKcXFxCQ0Lq5wdBEOTl5ZmEXXJyalpaxicfLxkzZiTVOCTt/PnLQUH+I0YMdXSwX7Fi2U8/r/vpp3W/rlvVWO8cM59/8SH8vXP7zhvz3l2z5kfYBscKtPU7d+r4xGzwuJyvv/6UQBDkcagUKofNYj8+L0mDgJczL7+Az+OlJCfb2dmBU1cssYFtFovJ4XAqKytB84mtrQxpUvWg/KqqqmBPi8ahWoiEWZmZ4IO1tLSUSmUgJS0tRZSHvev0xJPkYnlFJWSSx+NBYzI7K8Mcn05jKg1oyCSa2RctEgmpVHJpSZHWKDHhqNTUVHDacnnc4uJinVHkcXnsjMz0nLw8aysrhUIBVj17uxZYJREEQV5Mnl7YQcv+wIFDwcH+w4YNpjZUwLPZ7AnjR1+/fvPw4SOTJ09sOjWOsTeeqU8e51HPvDNnL1y9ev2zTz/49dct6enpWdk5mZnZkyeNDwz2X7VyTX5+wZxXZ06bZki5fYfu27Zt4vO4Xy771sPd4/TpMxKJeMnSd328PGFvVHT0p598DQ6aNqEhHA77iy8+BM/vxk1bjx87SaPT3/zf3KFDBxII8pIDrySN8Ve3B1BOGo26dgQymQLi5u7tW2C+AsVz9MhRC0vL0Dahpr2ZmVmlxUXObu4+Pl7wNSDALyo69u6dO2qVysLKysPDw5yOq7v7g4j7Ot3dgYOGq9Sy+xERYGtXqdUlRUXRkVFt23eo3ZAjP5pXRSQSefv4xUQ/MLiM6XRvHx8QduacE09SdjKZPDoqSqVU0BnM0DZhLNZDcx2Pxwbj2/mzp8EtMGjwMKGA7+rudubUadCzllZik3AEnefs4nr75k0ujy8QCU1nsrK0cnNzT05MioyIYLHZLq5uBIIgyMvP0ws7jUaTk5M/bPgg8wiJ3Nw8+PAMbeISa2Pj3sXFOSDAPzIyfvJk4ilQKJVVVYZuztC+j4mJ+3LZx3DSsWOndunS6bPPlhYXFb218P3gYL+QkOCiohLYBXVVdHRsu7Zhv6xZuXvX3i8+++aPPzZlZGR9/vnySRNHhYaF/bpuU1ZWFlR4585dSk/L3PLbr2q1ikrFOQ6Q1gCTxZTJFdXV1WBjA+cjeGb79etbO4JOp7W1EQ8dNrT+sQwGI7xLp9ohYKILDQki4FMPDzdX+JiSpFKZXbp0rhMBFGTv3j1N21AUmEoDwMFe4mDfv05kpVKlrT8rXj3s7WzgUz+cyWR06xr+6BtoNpK3pwd8TN/bhAYTxllaHB3tXVycYH9cfDyLxTZmkuTi7AgfAkEQpBXx9J1LoJGdl5dvnmgefBnvLfrQwcG2tKxs375D5k42Xp4e165dJ54Zf3/fkOCgtmFtBvTvBzWQv59vjx7dIfGMjOw6MadPn+zm6jxwUN+4eMNcBhERDwL8/UaOGunu5jp48EChcfoGMoWsUCri4+LB4evi7EIgyMuPhYUFjUyGxpVKrSb+VUBB9+458wAAEABJREFUNj9yVVVNRXmZh6cH8XeSmpoWExMbF5dQXVWNLlcEQVoxT2+x0+n0UpnMPOIVzGBKpdLSwrKyqkqn15u7QoPZoKy8nHh+ODo6mLctLS1kMlmD0fh8oWlAHHhwOFx27dEbsN2zR1eQnidPnt2w4beJE8ePGjWMSsUO1MjLDbSyWrqilwl7e1sLkYD4l7C2toAP8XdCIpHt7exkMim8+y4ujlwul0AQBGmlPL2aAcXmYG9XUlJi+spisRa8+Xp8QlJ5eUW38I7kR0IqLS29jovnH8bCQhgfl1hnLhWRSDhm9PBVq7794ouP/zxxori4iECQ/yocNtvKyopovej1Oj6fZ2NjI5FIeDzeEwfpIwiCvLw8vcWOSqVKbCRR0TF9+/YyzbPQrVv4lSuna8cpKyuPi4vvXK8Lzj9JWNvQo8f+/GrZNwHBwWfPXqipqgbj4v37Dx5ERltZ2cTGRjo7O/H4PAJBEARBEOQlhzJz5kwnJyei5VAoht7Z237f5ePj5eBgXz+CVqvdu+9AfFz8O++8aV5EsmnIZIpYbB1q7O9MGLQjBZrYrq7OhmnxXZwMfZ+NlkIIgbY3YejxTff29rS2tmKzWe3ahXE4bIGAHxjgb0yKDGa50JAgLocDf6VSBfhkCZ0efMf9+vVSqdSFhUWFhQUuzk4jRwyxtPh7PUEI8hSoVCoCQRAEQZoBg/Fw3nbSlStXwsPDiadCoVCuWLHq3PlLH37wdu/evevs3bFj56ZNf7z55tyhQwc1Zy3If4DNm7dVVVW+9dZ8AkFeeKqNK18hCIIgyBMxW9CeaYJiJpPx9ttv6fXE/P8tGj16xPTpky1EInB0ZuXk/LRq7a1bd5a+/+7gwQP+dVV38uQpvkCoVKogS2++OY9AEARBEARpjTyTsCMMUwrTP/poUWio/+EjJ994YyGdRtdqNRTDHCJO27dtaPNo7tN/EZ1OR6HQDx06xmaxZsyc6u39986qgCAIgiAI8m/xTK5YM2Clk8pk+XkFZWXlFArF2tpKIhGbltxGEOTpQFcsgiAI0kyejyvWDIlE4nI4np7uBIIg/xLJySmJCQkcDqdt+/a8JldnzsnJzc3L69C+HdFs4B1XqTW3btwoLy/nCwRt27blcNi1I9y6fcfOztbRwYFoCXo9kZ6WFRsbCdsNLolRh5LSsvv37mk0mu69erKZTa2BW1pamldQ6Ovt/cIuLXP58lUfXx+xdWueaAZBkH+e5yPsEAT511Gp1S7uHgF+PqavoH5OnTytJ/RUCoXBZLm4ujo7OZg6vLI5bCsr65akbbDK06iU8K7hajX54oXThknIHwcSZLM5RAshkQg3dyeegHPl0qUnRtZotenp6a5u7h4eT1jXVafTFRQW8bkCk6qDrympaVlZ2WqVkslk+fj52koezuR85PCRDp06S8R/o7rKzStITU0pLS729ff38fYyhzs5OWVlZltYWFApODs6giDPDRR2CNJK0Go0ZCqtdgiLzQabkEgkKiwsTE1JtRAJBQJ+VlaWXC43rZdqoqy8oqy0lM3hSKurRZaWVpYPZ/8pLimtqqiADb5QaG1l2dh5y8rKS0qKSSQy7ZFtTKVS5xfkg4SS1tSAJJTY2HE4BuuaTC4vyM9Xq9VcLk8stjbNf0kYNKhWX08p1kev02vUaj7/yZMTqVTaiooKJ8eH68CWl1fk5uQEBgZwuVy4dtN6ORUVVYWF+VqtNic7q6K81NLKysrSEsRxcVGxVFoDmtPC0gJuHYVM1mp1JSUllZWVkGEGkwmWQqFICBkur6goLSkB1SixsRXw+Y1Ne8zlgjfDk0qpaziUSKzz8vOrq6tExnUOEQRBngvYUkSQVkIdKxp8A9XCYjFZTIZEbG3wpRonxgNRpVSqMjMzzTFLSkrjYuMgkMsTxkTHFBYVQ2B+QWHEvXsguOATcS+ivKKysfMymAyhQJiTk2NePFCt0aQkp+bm5fN43LKKiuSUZFA/oKhiYmIrq2qoNHpWdk5mVrZOp3+Ucx3RnAvUNSsaUFpWRugJs3hVKBRwcywtxBw2C2Qr6FvCOAumUCg0dCPhcmGDaXTsqpSqquoagz4mk2Nj40qKDSvrVFVJIecarU6hUN67c7ek1BAIajguNl6rI6h0RnR0TFFxcWOZEfB5EjGcuu46ZlQDFJlUSSAIgjw/0GKHIK0EUCraWsoHDEh0Oh30jVpNysnNBwsTSDzCsMieqBrMRI+PzICYTo7OFIq+vLIsIS5OIu4eExXl7Orm5WkYRQ76KyMjXRQS0uB5OeCCZbOTUlLMISYF5uLkZmHBhe3klFT4W1RSCo7gwAB/UDNcDic9M8vJ0cGQQ4JgMhjNWearRqoEmx/EfWLM0tISKpVsXgDaytqKnZV98MAeK7HE08vTViKhUMgGyctiQpaEIguzKxasa74+XqZLUKtUYJMDy2Jqeoq1ldjXx1uv1+Xm5ZpixsfH29hKPNwNHYtVSmVJcRGo58byA8pVo1UziMfGk5EpFFCTcoWUQBAEeX6gsEOQVgJYmyg0eu2Qmpqa27dvGxyIDLqvrx+X0+ji9yCrQNXBBp/HL8ovVKvJej0pOzOjuCDfFMHC0pJoNqaefFSqQd6RyA9dkHKZrKig8HrNdZOEA8+vOb5SqXyiKzYrOzc5KQmUkHl29ebDoNM7depQExxUVFiYkZaWlZnVuVOHBmNKpfKk5CS5XKFWqmSyGjt7B8gYhUxhsujGbIN57+G4M5DGcEX5uXmmr7Z2dqAFG5uzk0Kmgqu6bijoxGbbIBEEQZoJCjsEaSXUN3rRaNTA4GBwPTLo9KaPBU8l+E9pVKpCqSSR9CDy4K+Hp7erS931BsnkJ3eGM9r4zJv6R5mhi8WSkNDg+sNUGxA99XBytLcQWUTcvyeVKplNjocFeHxeTXUVeKIptXq2cdksrqsLCMrbN2/Wjlx76ba8vHy1ShMcHESnM+PiYkzXATdHowaPtGEECRjnTDHB/Ono6Ojh7vboEkhNaFOdXlv/19GCe1omtxCJCARBkOcH9rFDkFYChVq3nUajM5gM+hNVHWG0mWVlZZeUlsXHxtg5OIB6c3Byjo+Lzc0rqK6RpmdkZec8NE0ZDHskQyc2lbpRHaPX/bXLLHcsLUVl5WWZmVlVNVJIFrzDILxMu0DqNccVS6NRQHpqtU9WluAVlclkUpnM9LWisjI1LaOwqLiisjo7M4vD/ctyyWJzysrKNBryw2waRC0Z7phKqc57ZI2zEdvm5ecWl5RACuByNQW6ubmlp6bmFxTC/UlMTsnLz28sM5B4dXWNUmlYrrpaKtNqH16pVqPR6rQcTouHEiMIgjQBWuwQpJUAxiQa4zFTFonQk2sZw8hkSm5e/t3bt0xfjx45Cg7WUOPyMBQyubi4OC4mxsvH19PD0G/M1NUsNiZaqVBYi8XuHn8t2eLj5xcbHR394MHAQcNVatn9iIiy0lIILy8tjY6Matu+A5/HBefvI4cslU4HPyZJwBeEtmkb+eBeXGwMg8n09vExi7nmuGINmaSCq5mub4b7EpSZUGRZWVHJN87YSaPSpNKauJho2LaWSDp2/GtK9o6dOt66efNExmEvHx9vL08nR4f4msRTJ0/yBUIHB3uy0eAnFoMktbl7+7aVWOzk6kanG3zBjg72kP+YqCiFQmEYSmzR6FjdkpKCO4/ueUFebkibMDtbCWFw+6ognwKBgEAQBHl+PJ+VJxAEee60dOWJ+ISEsrIKF2en2jOJNIek5NT01JT+A/oTzwmQdM3vPVZVVZOVnZUYHz96zOimY0KaiUnJNdXVEonYzt6+/gQitcnPL6qoKPfy8qQ88yxxYFkEDzWTwZLLZbGxce7ublZWLehx2Bix8YngJbe1kRAIgiDPzHNeeQJBkH8dOzs7DpttNIM92a35t9KiMQGQVz6X267dk5fBAL3o6uJSWlrSnPStxZYCAY9Mfg63QqVSJyQkKhUquLV8Pl8ofD42NrD5cdgsAkEQ5LmCFjsEeUH5x9aK1RqhN6Mr3n8TcBNrNBpQkyCawbPc2NBXBEGQfxG02CEI8hCKEQJpBNBzLXJtIwiC/IugsEMQBEEQBGkloLBDEARBEARpJaCwQxAEQRAEaSWgsEMQBEEQBGkloLBDEARBEARpJTzTuH2FQnn12rXNm7eVlJbV35udk7tr55679x7gQtcIgiAIgiD/AE9vsVMqlYsXf3js+Ekmk7n6l183b14TEhxk3nvw4JE35r0tEgllMvlHHy2aNXMagSDI30l8QkJiQqJAIGjbrh2Pa1iBVKFQmJbqIpPJVBqN8mgCtqwsaHbldu7UsfmJk0gklVpz6+bN8rJyeOU7du5kOoWZ6zdu2tvbOTs5ES0BcpeenhUT/QDKk7HjxhLPjFypvHThYqcuXQQ8LoEgCPLf4+ktdnK54uLFq99888Xly6fF1lZnTp+vvXfDxq3du3W9cOHEa6/NXP3zrwSCIH8zWo3Ww8u7Z88eJsml0WjOn79448bNiIj7t2/fTUpKVqs1pphCkdDZ2YVoCSAQaVRKeHiXAQOHNRgBEhQJRUQLIZEINzenDp06kck4kR6CIMhz4Jn62FFpVEBvKPMbWMCbw2HpjRCkf3mBIwT5b8Jisfz8/cBwXlZaFhsbZ2tjIxQKYKOmuprH59vb2Zii5RcU5uXm8gXCivJSWzt7B3s7U3hWTm5JURFsWFmLnRztGztLfn5BdnYWGAXpLi4EYZj6XKFQpqamcrjcivJyKAHc3DwEAoP9rKq6JjUlRaVUiiwsnJydmAzGozRIzVkFLT0jq6ykmEyhSGxs7GwfZr6yqjozI0MukwlFImdDBgxIa6Spycmw4eHpyTea7qqra9LS0hRyuUAodHd3p9GwezGCIK2Tp7fYsVjMbt06v71wcedOvYpLSvr3711779zXZpw4eaZr137r1m1csGAu8VRAWbxp0+95eXnNjJ+XXzB02DjCsESSbvfu/fciIokXjPv3ow4dOqZWqwkEed7Uea5AUalUKjqdRqfRBAI+iUyCrxDu5eVpZW1dVl5ujgkvWm5OLpvD9vcPiYuNAzctBGZkZkdGRIglNvCJvH+/uKS0sfOKxdbBwcEyuUIqlZpCdHp9QUFhWXmFj68PhUoFD7FWp6upkd6/f5/BZLl6eMDZ01LTzL1v1WoV0VDjsDZJyanJSYm29g6Q+bu3b5dXVBpyLpVevnQJTuHm4aHW6jTahybJhPh4yLZGq42JiYGvSpU6IiKCTKE6u7qWlpbGxScQCIIgrZSnb7YyGIwvv/jY1cVlxfc/Xbx40tyANjFs2BBo5c+bt/Dnn1f069vriallZWW/NndBeXkFnUG3s5EMGDBgwoRR4EsCY4BKpSGaB9QTlZWG4l6tUefk5vH50FIPJlqIwcV8+eq+PQcKi4otRAIfH99Zs16BquvZzY5Q0YICzsnNhfoGVyhCnjt0BqO2ODIshEWnV1dVa3Q013oAABAASURBVDWk/PwcGpUGJjQIh2cPDO11j6XTbSW2ZLLeycUlLSXFwd4+OTHB0dmFw2bCXkdn56zMTGsrywbPa1qRrPYKqjqdFv66OruBTU4iFienpOh1upLSUjix2NoK4lpbWRUWFqk1GoZxgVooTEhNvmCg+mKiIr19/VhMiE+3c3AsyM8XCQVxMbHW1mJ/P1+IY8qeXKmEv34B/jZiazjRzRs34GtVVRU4DgID/Ez3JSoSmnwBBIIgSGvkmfwRHA5n2LCBm7dsO3363NQpE2ovNwnGgwvnL/n7+7Zr26aZa2a7ODstW/aJm5vrgweRa9du9PP3at8u7MMPFxEtB6qTd97+H9FydDr9jp17zp+//NqcGS6uziXFRX/s2Ldy1S+L3nsL/FnEswFVF2jc5shcBHkKtFotGKVqhygViszMTCaLxWYy/fz82CxWY8eCrAJVBxtcDqdAT9JoyHo9SS6T5mTnQCCFRAgtLYlmY3KsUig6Y8oPFZtCoZDLFGCAN323trYkk8jmnOubtNhptSTYXVNdlaMxWCUZdKpAIIANmUzu6NzAcA2W8UqhRDKdC5y/VOpfpRM4ZAkEQZBWyrN2NHFyclry/js/fP9zZUXF1KkTLSwsIDAtLW3Tpm1nz15cuepbC4sW9KfmcthCAb9reOdzZy9GRkZ5e3mAK3bMmJFOTg7vvLvU08Pt9p0IZyfHmbNecXQw9PiJiY3ftHGrQqkcPLD3kKFDaie1dt3G4OCgtmEhhw8fLyoqSU5OUanVY8eO7BreCcwVpWVl27fvAscoqMnXX58tkYhNR6Wnp+/dc/CXX350d3cxXJ2jA9gDPvnky5SUtJLiwpi4pPfeXQDhYGzYsPG3//1vLviwVv+8rqysvFu3TlOmTAJn065d+yQSq9OnL1hZWajVmqVL32Wz2VBvffzxl1NfmQSWg9jY+MmTxoHYPX/+0oGDR8FNNmni6MDgoE8//Wr27GneXp4ZGRkrvv95zqvTg4ICK6uq58yZv2XzBjabTiBIk4DFuvYIBFBK8JiBM1QkFNWWNY0dC/5KBp0mlclIJD2VqoO/1hIbDzeXOjFNcu0J1Da/PdoGsxyXx/X19a3fv037pBmRKBQ9pGJrb+/k8FhXPxBwpSUlHm6uDR5lblKC5VKj0Zq2VQoFjYZvE4IgrZZnmseOMBadE8aN/uTTpbt3H/Dzb+flHermHti5S9+IiAdr163s1LEdqeUuTKiQlCqVhaWlSqVOSEiWyWQQeOjQ0Rqp7O23/1dQUPjZZ8sVCnVeQcGsma8PGzZo/vzXl3607MbNm7UTMUix0lKorqJiYiMjo1+dM3NA/z6/rP41JycPrInr1m1UqTXfLl/O5TBWrlojVyhMR2Vl5YIgM6k6E5aWlmKJJCMzq0t4l3PnLublF0DgpctXwNgAjqSRIyd1aN9m8ZL39h84duLkKfAd37h1e+3aTUOHDZgwcVxuXt71G7cJg17MSM/I9PH2LCstg23I1b37UZs2b/3f/DdA7X36+fK83Lya6pqjR05C5GvXbl29enPfvsOwffvWTZ1Wi6oOaQ4mt6YZePOYTKZhfNPjqu7hkKZaG4TRnJaWlp5XUBj94L6Lmzsc6+7pFf3gQVpGVnllVXxicmp6himmQSyRSIWFhQqFrl6ChGmj9tSVet1DRWVlZVlRUQ5NrLKKyvSMrLT0THhfTLuY9Ce4YmGnb0BgTGRUVk4e5Cc2PjEn19D1Flyu+bm58QmJpsAaY1lhBkonU7ICAV+v1cTGJZSUlmdnZ0tsbQkEQZBWyrMKOxODB/bbu3fbr+t+4vG4ISFBWzav3bdve5vQlvVvk0qlN27cOXv2wsbNW/U6onvXLrX32trajh8/OsDfd9Wqb9UqeWJi/N7dB+3sbKHsBodpz+7dLpy/2ljKo0cP8/fz7tSpnUDIA5uZUqm8d/eBtaVlfHy0i6s7tPiLjUP/THlgPe6uotPpQqEFaEoejwdnv3fvPrhrQYF179714vnLYF+0sLTKyc4KCQ46sP+o6ZDvvlvWr28fMDcOGthv48bfIORBZEy7dm1rJ7t/7yFHB4eSkiKZVOrq4hIXlzhgQL/z5y8YtWzSkkVvXrt+C9xMEREx48eNJBCkGZjGRpgBTcPlcmjUv3pzwstSWlp+7eq1nOxsEF+wERUVrTB2SqPRaFqtJi05uV2Hjs5ODhDi5uocGtamuLAgNipKq1ZZiv4yvQcFB8Erc/fOdfCQwtsUHR0DSUGCudnZsAHiiUalWlpZmnryMZkskUhkyAyH275DJ2lNdVx0dFFhPpvNJD/qvKFUKfVPGjwR4Ofj5eOTl50F+SGT9AI+HwL5XE6PXr3AZQyBhF5LNfb1s7a2ohm1LKRpLTYY40HyhrVtC9ES4mLBhxvo70sgCIK0Up7bmH97ezv4bN36R1Cg38CB/YiWA5rG0PIur7K1E7/xxquWlhYlDQ3EgxpCIBDK5crSUsPejIxM+NumTZCHh3vT6TOYhr5GOgP66prq4pJiaMzr9PqBA/tDgqY4FhbC3Lx8uVzFYj00fsjlsqKi/HZtQ+G87du3TUpKcXdPrK6uDmsbsuOPJKhGTBlwcXFs2zbEdAiN/rAq7dq1y1df/5AG5rr0jPDwzrUzU1ZWRqfTTMeGh3f09fWCivCLL76+e/celUbr07fPoSMnr9+4BUaUadMnEwjSDOgMen5efgKJcHF1ZTIZIHLCwtrUjgCPvqWlKLxreP1jQdgF+PvVCXRxdnJpqAebRGwNH+OmnkJhBAUF1olAIpHN05WDtQw+pm2RkNeufbs6kYuLS7MyM58o7LRarYe7K3zqhEPjqk2bxy4zLCzMtGFpIercuZNpm8/ntW0bRiAIgrR2XqDJnEQi4StTJ3p7e4Faqr8XzAlKpcFhCrKspqYGFJiXl+u9iAcTJ46lP/JAmbwzTwQqPHs7uw7t23brVreGCwwMAAH3009rFi9+yxQCTtiS4hJ3d0P15uPj/SAy+o/tu4cM7stkMBwdbCurqsaNG2U28lUYp2AwI5GIO7QPO7D/iEIuc3K0q73Lw8MZvMmTJ4+vPT4RjHYnT56V2Eg4XM6IkUP27jlob29vZWlBIEgzcHN1hQfbMJ8c/V8ec63Xt2AVQYGA5+fn6+eHVjQEQZDnwPNxxRLGae4Tk5Lz8wvSM7JAYIH8IloO1ehKaXBXVlbODz+sBiPWV1+tsLK2dnd3Hzt2bHV1zdfffJ+QmHL67IX8wiIwDPD4vOs3bkulsibOYpiBr3vXzZu3378fFxsbB+rQ3CUIXMmffvr+zl174CwXL13dvn3H+0s+GTp0sItx4lMXVyfI4PE/T40bPwm+9ujZXSgSvfPO0qio2CvXbmQaxw/WBjTi6/Pm7N9/iMXiSSSPdeuZMGH8tWs3t2/fnZGZffnK9YrKKggcPKT/yZNnxGIrFpPZuWP7K1ev29hJcEZ+pJkwGAw+n8/lcps5Dt2Ml6d7/wH9iX8JaJjxjRAIgiDIM0OZOXOmUwuXd2yQ69dvzp37lo+Pl1QqPX/+YtdunbkcTvMP12i0CoXCz8+Hy/1rhUfQW5Cav78v6K1t23aCZzM2Jt7W1ubNN+eCwQxUYN9+vTLSM69eu1FaXBocHGBlCf5b0fkLl52c7KhUmru7K9jMQPy5uDiLxdbgdYVtyKFQKPT0cge/1blz5+NiE2xtbJ2dncjkh323weYxcFC/vNz8qKgYgkSePm1inz4PJyiBihOy5OPt2bGjocMciNDBQwaUl5WBAsvNzQsI8AdlCV7awAA/7qNlNG0k4srKyj59utsZZ/mXKxQMBhNSAPNkcEjg/fuRcN90Wo2frw/ITbG1Fdj8evbsBpcBziwKldK9a7hEYk0g/0nq9JlDEARBkMZgPFrLh3TlypXw8HDimdmw8bc/j5/+7bd1ySmpb721aMP6n319fYjnR3jXfjt3bnF0sCcQ5L8BNBIIBEEQBGkGPB7PtPHc+thRqdSCgsKCwsLS0jJCT9Sf2h5BEARBEAT5W3lu8qt3r26XL1+dOGE6QSKNGzfSzu45zxQFLlQ6HadzQxAEQRAEaZTn5ooFKiurUpKTCTI1wN+XwUARhiDPBLpiEQRBkGby/F2xhHHCqjCcKQpBEARBEORfAnvCIch/CJ1Op9Ua1viiUqnmVbwgxDTjT+3Afzg/NFrDc+/BXshSSydwQRAE+c+CxSWCvPTIZIr79yMVxiWP5XJ5dHRcY1M53rxx89U5/+veY+CDBwnmwP37D89+df6QIWPv3btPtARQXYmJycXFJX/lRC6/cPGKXK5oZgqnT52ZOeuNDh17VlY2fMj773965MifBIIgCNI8UNghyEtPQUHZihUrTYvs5eUVrFz5S0FBQYMxO3fpvGrlt+3bP9ZlYty4UT/+8E1AgD/RQjQazd69+69eu2leECwhPmHu3AUqlbaZKQwY2P+7b7/w9HQnEARBkOcBumIRpFUBXkuzWzM9PfeXX9ZGx8QGBfq/+eZcR0eHlqREbN68/dDho1wOZ/r0Sf369akfAVy3VtbiouJilYoYN37C63NnqVRqF2cnPp+Tmpq2du0mODXoxTf/N9fZ2RHinz9/6datu/b29vsPHLKytFi+/AsrK8v6yYJe3LBh87Hjpzt2aFdeXkEgCIIgzQYtdgjSGlCqVIWFxXl5+fAxDacFb+zXXy/38/PatOkXOzu7n37+teml9upw5PDR9Rs2v79k4YwZU99f+llMbHz9OBQKxcHerqykNDYuqqioJCk5NScnt127sMqqylU/rbO1tV2/fjWPy1q3br1pFY2ampo/T5zJzy/YuPGXt9/+H4fDbvDUJ06evnjx6jdffyYQCO/eiyAQBEGQZoMWOwRpDWRm5vy8+lcmkymVSiuNSw/HxMRlZmV16tz++rWbXC67rLQMFJWHh1szEzxw8PjUyeM7deoI2wcPtjt65M8Af9/60fh8XmVlzY3rN/r07gbCsayszM/XOzcnr6a6ZsKE0fb2tqNGjfj6m+/Bkken06lUmkDAf/fdhRSK3rohW52JI4f/7NWrR2Cgv59fwKnTZwkEQRCk2aCwQ5DWgLuby5LFC8FIlpmV/fNP6whDZ7tcFotlYWFBo1K4XM60aZPE4hasO1xaVubo+HCacVtbSU2NtMFoFhYitVp19ert6TMmx8clxscnjh49HHypbDaLRjMULzwuB7zDpk548BcctaDqmj51fn6hRCIhDBZBvURsRSAIgiDNBoUdgrQGKBQyqDewnzEZDKVSCSF2Do40KjWsTbBDQyssK1TSphN0dHCIjkkcNtywnZSUEhoa1GA0oVBQXlGRkpLarm2HqMjorKxsbx/vgrz8yspqpdLgfi0pLddqdKZZVLRaTWOLDcoU1QIB07Tt7e0FTlvTNvaxQxAEaREo7BCkVQHKCRyysBEaHODp6blmzYau3cLz8/PVKvW4caNEIiHov6CgwIP7j4DT1s3a4D/mAAAQAElEQVTVxc3VGSKDgc3ewfbM2QsKldrRwd7ZyWH6tAlLln4usbFWKNTFJSXjxo9p8HQCgZBMofj6eguFbDaHw2azRQI+g0bz9fNau3Zjm7CQq1eudurUlslkGKM3MEmepaVVYGDAml/W9+rV3dvbw87WZtz4ERs3/u7u4ZaRllpYVEwgCIIgzYYyc+ZMJycnAkGQFwzTgIPmoafTaX5+vgwGQ6fTkckUPz8fLpcbHBwsV8jT0zNoNFrbtm3sHeyoYNkjkx0d7atraiCcy2E7Oxtef5CDLi7OZWXlSUnJVpYW9va29g727u5u2Tm5DAZt9qxXPNwb7pxn7DlHDQjw9fbyZDFZnh5u/v6+cDofH08wHOZk5/r7+40YMQTUpEnVgeu2zuQmkCMPD7eCgsK8vHxrK0sbG4mdra2Az4uOjhOLxR06tPXx8bK2RocsgiBIU0D5b9p4nmvFIgjyHMG1YhEEQZBm8resFYsgCIIgCIL8i6CwQxAEQRAEaSWgsEMQBEEQBGkloLBDEARBEARpJaCwQxAEQRAEaSWgsEMQBEEQBGklPL2wy8zMjoh40MzIbcJCnJ0cCQRBEARBEORv4ymF3Y8/rv7p53UajbqZ8W0kku+//6Zbt84EgiAIgiAI8vfwNMKurLz84OFjs2dNmzV7GpfDMc4p3xRyufythYuP/3miY8e2dDqdQBDkb0BuhEKmcHlcCoXSREylUqlSqXk8LtES9Hp9dXW1Rq2hUClcLo9CIdfeW11dQ6fTzFOfNx+FQimTGhautbC0aCKaXK6Qy2UMBpPNZplWnkUQBEHqQyZajlQqg8K934A+UVEx3377Y3ZObtPxWSxWp84dKiqroGgmWgJUP3fvRlRVVTUzflV19dbfdxDGGgjylpuXT7yQFBYWbdy0lUCQ50pGZiY89kXFxRqNFr7qdLqkpOQ4I2npGTU1UnPMktKyxORkooXo9PqSkpKcnPzbt+7I5PI6eyHBkpJSouVAeZKalnb+/Pmmo9VIpenpWZGRUfJ6p0YQBEHMPI2wM+Ph7paalv766wujoqKbjgnt7KYjgNZZsGDRsOHjhg0f/957H9y4cVen00NV9Mcfe2AX0Tyqqqo3GQUTmCP27jt06+Zt4qmAdH75ZcOcOW9Omjxz+fIfsrKyiOdKfmHhunWbCAR5rigVKiux2NPTg8Ew2MVB2KWnZ2i0OjaHC5IrOjrGrMbE1lZ+Pj5EC6GQyW5ubr5+gQ3uhQTFYmui5VhaiuzsHZ5ohLO2svT184GLgvYegSAIgjTC0w+egILYzc1l08ZfJk+eBQJow68/derciXhajL4h1eLF7zg5Ox49fOzzz5etX/+zo6PDjz9+Q7QcJoPxxecfEk9Fckraq7PndenS4bW5M8FEkZacRJAoBIK88ICe0+ofC2EymfASiYRCUEU3b94GXyabxbp46XJpcbGFlVXPHt1N0ZKSUxPi4iS2tgV5eW6engF+PvB2G8zeMXE5mZmQpKOzc1CAX2PaKyk5JS4mBvYGh4a4ODtDSHWN9Pat2yJLy6KCAp1OG9qmva2NJYQXFRXfvXsXsiGxsQ0KDuRxH/qC4YVtlndVr9do1JAxAkEQBGmEZ53upLKyqkt4RyjZs3Pyn17WPcLaysLR3u6VaZPjE5IuX7k+dsyIuLhEDw9XLpd77fpNoUBQWFQMlYGvnzeXY+jYV1ZWHh+fAI4nZ2dHFxfn2knFxsZbWlpYW1unZ2Qo5IqKikpo67u7u9ra2pDJZIVCkZSUUlxSyudx/QP8oLYzHVVTU/PNN9+/8srEmTNfMYW0Cws1bYAfOTY2Dq5XJBIGBwdRKOTU1HQ4dVlZGahSOzsbLy9PiFZeXp6YmFJZWWlpaent7cnjcWUyeWJicnlFBVSuEFKnl6FarY2KioLsCYWCkJDgOv2WEKT5QNOIQqv1dOkNIYZ/9SSVSm3UaobgHt27ZWZmZefk1D4WXgpPT8+2Ye2uXruSkJDk6+sdExtXXFjYpWs47L13925WNr+xge1enh7wuXrteu3U4C+bxe7fv28KWPXTk8XWQnh3EhITg4KDhSJhWmpaampaQIA/1dgXUKlSNkeuUalUJpMFL5RIZLgaAkEQBKnHMwm7rKzs5ct/TE5J/Xb5F3Z2tqdPG3rJBAUH2EjExDMA9YFAIICGPtQEa9ZsePvt+T4+XvPmvT1q5FAOlxsVGdO+Q7vX5syQymRfLvtWIhazWKxf129atuwTWq1abfOWbd17dO3Xp+euXftyc/MDA/wKCgqPHz/17rtvWliI/jxx6v79aAd7x6Sk+NA2oePHjabRDLcCdGRZadm0aZPrZAkE3MefLOOwWUw268H9yLFjRo4ePfzw4eP37t0PaxsCmi8mOvrrb74EVxSctyC/wMbOjsfl2NhIQNht3bojP7+Aw2VHR8X26t1j+rRJtVPetOn35ORkR2fHuNj43r26jx8/mkCQp6Ku0Ytk8MYmxCfQaYwaaY1IZMHj8Ro7Fp5/kVAAasnRyTErI9PLywesdxQqLS01xZgyuSA/v6UzFtlKJJAlAZ9fWFgIuq2svFwukxUW5BcVFshlcrVGq9FoTMKumYMhIJMSiSQpKbm4uNQ/wJdOoxEIgiDI4zy9sIM649KV6zq9dsP6n8HjM2/+O1FRMRD+3rsLXn11OvG0QDP89p272Vk506c/pq5YLObYcaPc3VzBm7Nkycf9+/W8cfNueVn5si8+plApJaVlINpGjBhaP0Fw8fbp3WPo0IF5efkff/wFHM5ms0+fvgDqrX27sMTEpM2btvbu2c3WzhYigwIDcVZ/ROH1a9euXb1+8uQh8HbduHnnvfc+6N23J4Q7OTm+Pnc2bMyc9cb1q1e79+geEfFg4Vv/Cw4JhFqLRqNFx8YdPnL8ty3rhSJeakraRx9/0btXV3Oy6ZlZP6786czpE7a2lnfu3n/33aUo7JCnBgxausdDQDAJRSKBUMjnchgMBq1JJWQSV3RoHenh7QbzHsnFxUUstjLtpVBaUFbodYaMkMgGo5rZFAcyztLSGgzbphOBVY/xyHpNpdKao+2gzKmqqoLWnaurB1wsgSAIgtTj6QtHKJenTh4PH9PXfXu3Ec9GWlrGqDFToF5xdXWeP+91N1eX0tIy816oV8AhC35MiUTM5/Pz8wuTk5KvXrs5eOhYU4SBA/o0ljKXy4EDLSwt+AKBGnyfWs21azfBVwv1HNgFnZ2d1BqNKSa4WTMysrRabR1t9yAydtCgAXy+weDRo3t4TY201DgAEDQiy+jG9fRwz84psrKy6tSp48K3l7RtGzphwtiQ4MDkxCRHBzsbG0Pt6OnpbiESlZSUU2gPE09PTQVr3/QZs01faVhXIc+AUqmi1ZptxKio9GA2FgmFTzxWo9VW10jBJF1SWkqjU+HNoNOpUrkM2mzwpsMbQTwSXrAL/kIIJN+YGCOTKbW2H/YugPe3tKQEvkIjTaczSVDSo5w3yxULhnOZTOrt7SUUsgkEQRCkIV4gJeHm5vLV15/6ePtxOA3MdafX60CQEY8MAKDALC2EoLHWrVtlFmE5uXnNORHUOm1CA99aMC+0TUidXa6uTiD1jhw9MXzYYDL5r1oL1Nv16zdN21XV1SyDS7aB2fvAKDJ/3pz+/XtdvXLjp5/WgFEQtGNVVbVKpabTaVqtDmo1JoupfjSxMwhBSHn/vu1wOQSCPBtU2mOvM9jAwBJWJwTaJIUFBaVlZTKpNC01DZ5GsdjQcQIaPCkpKWCrKy0tDW3zf/buA7ypev0D+MneO2nSdO+9aMssS5agggL3igqiIuIf53VdFb2KXud1AooDN24EFEFBBKRlFOigdO+R7jZt9k7+bxIIZbS0FRXq+3n68KQnv3NyEprke973DPd+pQlJSUXHi6wWK1SpbTYotkmCgwK8y4ESYFVlpYAvioyKdDptHR0dZpMZFtjZ0eG0O+QKhbNPSvMlNqlEAhXx4uISDpcDGVQkEoUEB3rfvJ4dIS5csYNFuSMmQgih/l1au+rzuJzzpjrCcz6UrVt/bG5p3bp1O3zNQA907ryr8wuOb9myTa83VtfUarRaCEnQoIExEKEGeBT4ooqKitq0+YeuLg1obFL5vnsCAgLvXLn8fy+/vn79+xWVVVXVtdnZ2Z1d3VOmTCktrYDHqqtveP31dZMnT5TJpOcu2WAwFhQc53C4V111NXxvaTW6CVnjoXn0zbeb29o7PvjgUzqDHhYaLBQIIaSq1T0RkZEpyYnr3nq3s7O7vaOzuqaOQGi4zqqfwVZEQkIch8M5ayL8Efr7K+Lj4+CGuznrmQ26okGBgTKZZPSYTIlYRHhOL5KRma70lwsFfKg6y/1O/8EnJiYEBCjZHAbMCmERFgKLggX6+/vDDXgIDpudlJQI9WwYLBAI4mJjIMAxmQyYGBISBAuExcr9ZL5inrsPO4i97MwWG2wj+eZCCCF0rsvmIxK+GKAMNm/e9Zu3fP/0M6ugKxoWFrr+nTc///zrrIkz7lh+T3Nzq1gknDH9imuvXZSTkz3AouB76Pblt0BB7srZc2fOvPanHbvt9pNBECZeN+/qt995Myfn0IIFN82ff+OXX242Gk2RkaEfffzuu+99eNNNy0xG80svPkOlnuelg7LHzzt3wwqMnzAFihCTJk+A3uszz6z+8stvZ826tqKicvXTT8G3HRQqkhIT77//4e6uzg0b3ob8N+vKeQvm35h76CCB0HDBe6SyrHT3L7t1Oj3hyXByubzvEQawAQPF5sA+ZDKZ9/AFGCyVSmAKv88BFgI+H7IaTITSct9LSrDZLKVSCdNJJBc8KCyk7zLhIeB95Ocn8+4GB9tRUO3z7kLHZNAVCgWMgcVyOGzvgbrV1fU5+/c7L1SKK6+s/m3vHigWevMiQgih8yJBRSorK2tI8zSpmq+/fumata9knNPK7M+XX3+3b9/+l198ViDgE8OSNXHml19+FBQYQCD096DT6Yg/RaOquVWlGjN2DIEQQujy5DvvwZ+0j53FMrSLiSGE/jTBgQHBuMmEEEIjwnBasdBDodKou3bu1mgHVVEwmUyHDx0R8vnQoyEQQgghhNAfYzgVO7FINO+aOW+sefutt94b5Cxyud/rr7101kUXhiQnexeBEEIIIYT6N8xW7IMP3jvnqlmlJRWDHJ+RmTbU09YjhBBCCKEhGf4+dnGxMfBDIIQQQgihSwNe6gAhhBBCaITAYIcQQgghNEJgsENohOjp6e1Rq6k0mkKhoNNpA4zU6fR6g95foSCGwul0tba2mM1mBp0hV8hptDMeorWtjcvh8Pqc33iQNL3aru5OuBEREUEghBD6ffDiPAiNEG3tbR1dXQz3Rb3cl3lwOBxHjx47eOAg/Bw/fqKnV+MbqTcY2ts7iaEiEXQ6nUpllZWVmy3Ws+6EBer0BmLoKFSKzWYvLCgc5HiHg3T40OHubnXfibA+hw4eMlssxBAdPXK0V6Ml1zj1hQAAEABJREFUEEJopMBgh9AIYTKauTy+XC73XsvL5XL19mr8/P1j4uMdTmdhQYH+VPBSyP2SkxKIISKTSDKZTKkMPO+9sEB/hZwYOq6n0Df48Y2qhrb2drHngrY+dbW1dqez73XPBqm1tdVyTkhFCKHLF7ZiERohoFbnOnMKJDyJWCQSClkM+qFDuRaLBVJUXl5+R0cHi82eMnmSd1hlVU15aWlQSIimt5cvECTEx0JCMpstRcXFBs9lZzk8blpK8lm9V5/Gpqba6hqoAiYmJYaGhBCeimDu4SMiicRsBIaoqNjg4ACn06FqbqmuqoYbHA43JiZaLBGTPEtg0hkEiUQMgs1mq66oSE1LJ/UZbzAY29vb0zMy+luEy0U0Namqq6tdTieNQU9NyeDzmc3N7ZUVpbDAwoJ8Oo0WGhYeFhYC2be0rFyr6YW5JFJpdHQUh802mcxFRSe0Gg2DyYRXOECpiIyMhDhYUVnV0d4GAVoZEAQzs1jDP08nQghdLBjsEBohnE4niUI+a4rnXxI0SSEIeVu06emjGhoam1SqviMpFEpkRCSHw8k9klteXpGSklxcXGK1WDJHZ8K9xwuPwxyREeHnfdzgoCD4yTlw0DeFRLgfSCgQhaUk1dc3qJqbAgMV3eoelUqVnJzM43Mb6hsbGhsFAr63uOhwOtzhaxBa29rpTBY8HKQ17xTIVVB1E4pEXA67v7nsDkdNTU1UTLS/3N9g1DGZ7oQaECCHnx++/yE1bZTcT+odSafToqIimUwmpM8TRSfa29oh76ma2+w2+5hxY+H1zNm/n1C6902srq21Wi1jx42lUmnw+jQ3N0LaIxBC6K+GwQ6hEcLhcFApZ7yjoUR3NPcIhUK1222BQSE8nqC/ealUCpfLJpFcSqWyrqbWbier1WqbzXrk8GG412Q2k8ik/oLdubzlNIlYCDc4XK7L5fT0hXu7u7qKjEaYCHUyKo1mt9tPBjuHczCLhSJiU1NTRHgUmezq+xw7u7oiIsJJ/df8KBSyUCQsKymBqpvMz4/H7XckmULRaDSVFRV6vd5kMrE5HCjy6fRaiVTC58ETcYklJyOgqrHRYbdre921PRhJZ9Cg300h484tCKG/GAY7hEYI6J86zix7QfM0MjpKLBYLeNwLzu7NRVC6I4iT5bO0UaOU/kM7ctbLWymEmOheFFTjTk50hYSEJSUnkknnrjmdNIhWrMFgIJMpEukZ8bSrW+10OPh8/gAzkkmktNSU5pa2js7OwwcPwvMKCgzoc//pV621pbOqsjIlLU3Il1RVl0Ghzv1EiJPFTveiTtVEIQImJiUHKE++PmQImx4EQgj9pXD7EqERwmo98yAAlzuSCAX8waQ6KKFBqxRKYtAt5XDZNJqTy+U0N7cYjEabza6DVq7B6B0Jd8FioU7m7L/KRupTuPLdhsarRtPT29MDC4TFwgJ9MchqtQ0mEkE7WCaVMRnM00/RRWpqUkGVkTngYRMQNPUGo59MmhAXGxoa2tvnAGEoGfb0aqBb7f1Vp+/19w+QisXQv+3t6fVOZDCYPT0ak8liNJp61CePxpVIJM2qJqPJBE9Ho9Hq9QZMdQihSwFW7BAaIc4uepFO7uvmA1Ultbq3pqZK7z6PnSEvL4/L5YaFhRGeNm5tba3ZZIIclpCSDFMSkxKLik4UFBynkEkUGk3pr+Sc2onNTy4vLSllMlnp6RkOh6Wurl6v12l6e+2QDt1d0UgKtc8Hy6m0IxGL1VK/4uISGo0KSctfGRASHOgtEA7mwAlIYxAKY2Nj+w5ua+80GvQBAakDz2uz2xsaG91tU6giuojo6CjfXdGxcU2NjTqNNiAA8qFC7udXW1uXn59Pp7Ocp2qNwUGBx48fd79cPB48a4qn3x0TE11RUVlYUEjyLDMsPIzNZhEIIfRXI2VnZ2dlZREIoUuMTqcb0vjS0jIopiXGx3p/hQKS+2TCDAa5T/3MDkHMbPb9SiFTGExGVXVtbXXVlKlTIN7R6HT6qaNfoZBmt7traRC/oKvrDWHuhdjtUB2E6Ww2Bx4Hqncwo2+ZDCaTRqUZjUbPGfXIcBeUA6HoBYHM4XBaLGaYEcKQ55R4J/NfV5d6/2/75i+YP8Cz27v3t8CgoKjI0/v5ORyk3b/sTEhMDAxUEgOCR7R5wCcelUqBh/aFYIiY8CrBAO8Thxvw1OAJwpp7ny9M9s0O08orq+QyqVLp3/d1gOkws+/1QQihP5/v/PBYsUNohIAMV1VZqe7qHJU+isvhQHZhsc6uIVGh3MThnDsvDGYymWdNhLBy3itYUD18s547o8vlZLFOTqR4nLpNZrPZZ44kGhqaykqLz13VviDDBYWEhIWE9d0fTm/QRkZHXzDVEZ5nR/c49y4IcH1XCUYyPPqOgQ51S1u7kC/q6e2AymRM1MmjX898HRBC6JKAFTuELlFDrdgNW0dnV3dnZ1x8HIHOB2p19fUNOp0W+rD+/v4ikZBACKFLDFbsEEIn+cmk8EOgfkAbOioKz1GHELo8YLBDCCGEEBohMNghhBBCCI0QFznYbdv2E5lMuvLKGXiAGEIIIYTQn+wiBzu9QffyS284HM6rr76SjFfXQQghhBD6E13MYOd0OhcuuK6qqubxx5/y85OOGZM5mMsEIYQQQgihi+LiBDu9Xp9fcLympr6qsrKpqYVKpS5bdtfWLV9E9TnD+6XMYrXm5xUaDIa4uJiAgAufFgshhBBC6BJ0EYJdY5Pq7bfeKygoio2NCo8MDwgIaGxq6mjvtNqsg1+IWt3z8ccbm1ta4bZYJJowYSz80Gi0wcyrNxjontPGD2awVqdnMRlnLfnHbT9t27ZjfNY4hUJ+sYKd3e4oLDzx22/729o7pFLJ9OlT00elek5fb2exmFjLRBdda1tbS3MLk8GIiIxkMge6dmo3vN/UPZGREcQQkBwOR1VVlUGvZ7HZ4RHhZ12etbq6RiQSSSRiYoja27tUTQ1wIz0jfYBhrW3tbS0tEqlMGeBPxV14EUKoH793N7iOjs4lS26vrKx+7bUXn39+9V0r77DaLBqNdt26V+PihnC+U6j5lZaWT8ga98/rFyj85a++tvZ4UfEg533hhVehXjjIwQ899HhpeeVZE3/Ytv3GxYtuu2Vx/KnLMf1OLpcrJ+fQG2+si4yKgEjHZrP0OgNMz809tuGDT86+WDtCF0Nvby+ZSoPI5d3IgU2LX3fv2bF9B/zk5Bzs6OzyjbTb7CbLUP8IXWQyOTQ0JDIqvlnVDNsnZ90NC7TZ7cTQicVChb9/fX39wMOkErFcEVhTW2M0GAiEEEL9+F0VO4PB9Mor62BT/vPPP/BeEWjr99s++vDz//zn0alTJw314AmooiXGx0ZHR2Wmj1KpWnJzj2Skp9nt9u5utclkYjCYMpkEmrxOp6urq8toNJLJFJgCA1Sq5vr6hoAAf3+F3Gg0aTQa+NZhs9l+flJYB0iZELNgOnwzwUM0q1rq6xpkUoncT+Y9dLenR6Pp1YKWllY/P1lXV7dYLFar1RwORygUQJe2u6sb6mywQJlMCpW2zs4uWCysktPpFItF8PR7enrgISQSie8q6TA++8DBK2fPmHvNHJhl1sxphCftNTY2wU9NbV1EuPvK693dPSaziU6jSaVS7yWYTCZzd3c3PCl4PSlUChQv4bEMBiOsj8tFCIV8QCB0PmaThcZg9Lk2F/zJEAlJSSKxuLGx8UTRiczRGXweD947sKURERbqm9Fqs1ktFnhzwR9e30tvWSCrua+v6n5vMhh0qDIzmUwK5ez3tdUjLCTIdyUu7wVY4f1l90Q9BpPprbFBzQ+mw71UKs17JVnPwqmuQRSwYR0kEj6sm31Y8REhhP4mflewKy0tKykpXv/2677vEg6b+/zzT82ePfP3HBILcUer0aalJsEn+K+/7tu7L5tMpmo16rnXzp02ddLhw3mfbfwCHhHKEjfe+A+b1VZTU7dlyw8Qy267dcnOnbsPHsrV66A9a3zwwXsyM9M3fbf1wMHDMolYIBJFR0a2tLZ+++137e0dN96wkMvlQkyEJjJ0k3/88aeqiurrr1+w/I67p0yZ2NPTO2XKJAhkb7/9fnNzq8Vi6WjvePTRB0eNSnnuuZetVrtUJmltaePy2GFhYRD1mptbpFLR6tVPsjzXzYSnLxGL9+3LjoyIiE+I4Xsu9AEVlF9+2VtXX+90OB948B7ohX351bfQE4NCy9Spk5fefCN8s3744SfHi0ogRPb29Eqk4qeffhxy4Zo31/f2asgUss1qfuyxhyEFEgidg0o7++1MIpP5fB6fywkPDWlva7NClY5HwIZQW2srZKnJkyZ6h9XXN5aXlkZERcEAi82aEBfL43E1Wt2JEye8Oy1AvBs1Ko3dz+Vc4S+4tbmlrb09Ni42NCSE8GyfHD6cC31ZOpWi7ulRKJRRkWHwdoZNmq7OLiqV4nQRUPyDLTHvPgk09xVXL5zt4N0K0ZBACCHUv98V7Nrb24VCYWBggG/KjBlTieGCbPToo09xuBynwzV+/GjIOjqdfvv2n//xj/ljxow+ePDgrl2/ZoxK2bRpc1hYCPR87Q471A8YdHpycuL8BXOvmDKZTCZNmZI19YpJUB7YsOGTTZu2QrAjPBdQu+eeO/kCAZfDgSx1110rxp46YhdmmTo1KyYm6o47bhs7OsM7URmgvGP5rQKBAB70QM6htWtfZXNY3333/dvr34PbMEAiET300L29PZpr5v7zwQeSb71lMbwUEyfNugWauZ4GNES0eXOvslrMr776JoPJuObqK6+66krIkTfe9E/InQ89eC+HzRYK+PfcfSdMzM8v+Pzzb2ZfOQMyXk5O7jPPPqmQy/bs/W3Hjp2wqB++/wm+iZ977ikyhfL4Y0/v25ezcOG1BELnOHfHTe8Uh4OkVvcSp5IfFMWhtNakUvUdCX+x4WHhTCY9r6CwvLw8MzOjpLiYyWQlJSbAvcUlJQ0NjXGxMed9XLmfH/zkHDjom+Ly/OsnUwQo/VQqVWNTU0R4SFe3GjZXkpOTYKtMBe/2lhYonHuDo3s9B7HTKaw/bDi1d3QKBBIKxUUghBA6x/CDHWx/l1dWxcbHDLCbttFkeuGFVxbd8M+EuJgLLlCp9F+6dGlwcPCqVatCQ4OhZtDa2rbrl7179u4nkchQM4iJjoTm79xrr/7X/Y+omppX3r0iLsZ91C18K8DXA0Q0uM1iCTZt+vLw4fySkrLo6JOXd4S+p1IZ4B0AaHRa369A0qlffFXG1JQkudwPbuzatffKK2cqlQq4fcvSm779dgtUzuC2n58fFOHgJzDAH+IirCr8REaEd3epfYuF1vC9965cufKO7T/tWrfmnfKysqeefpJMIkF/inKyA8U8UXR4x0+/VFfXOBxOeD2PHD4cHh4CtQ2413NtSnewy83N3fbjT9k5hwh3a80JAwiEzgfqbXRPwdjHoNfv2f0r/InDn1x8YjKfJ+hvXvijhGdgws8AABAASURBVCI43FDI5dWVVTYbWa83aJtbGuvrCE+pTOHvTwya963E57kPEoKtL5eHRqNVNTW2NLsDJfzK4/PtDoc32EHP19M3vgA6jRYaFpZ7+HBVRcX0mTPZLCaBEELoTMMPdlBAgnxz7Ogx73455x3T1tqWn194403XD2aB8B0gkfCUSsnUKybv/nXfpEkTIAKNH5v570cfiImJ9g0LCgr44fuvfvh++/JlK2+8ccHKlXcSnpQJ/xqNppUr70lPT3t81cMnikqgwnfeB7LbBruPDnzr+PbpNpstHA6HSj3rFSMRrtPrf9bs8PUGr8x1867msNhr1673ToQ+rMtdRHF+9fU3+XmFy25fCtW799//GO5isljwKNBs6nvdDg6HffuypU8++W884TMaGINBPyscwUZXSlqqWCTintr7sz8uwuV0OuFvzNvrJJFc8Nc8Zty4oMCzDxKHu4gLcTp9DVOX0+X03oKFR0RGJ6ckUcikc9acQQxiNzurzVZfVxcWHh4THU+lYsUOIYTOY/hZAYpPAf6KZlWrpf/D65qbW61Wu1wmIwYN4tHEiePb2zvy8gsg00j9ZDt37tHrTTqdrrOzCzb0q6qqaXTGkqWLr7lmTm5uAczCZDDyjxVYLBaNFkoMLWlpKWwWq6y84rwHn7JYzPw89+DB7KwzffqMvLzCY8fym1ta16xZn5gQLxKKiEGAhRceP3H48BFoG0HTqaKiIjbWnU0hsbU0t+i0OrPZ1NbW7u+vgJxaV18PtUm4d9z48WVlFVCc6+nV7P8tx7uoBQvm7c8+eDj3KLzOquYWKIISCJ0PJLOzppDJFB6Xc8FUB2xWG/yt6vSGutpakUQEsUksEUOKgj9Fs8XSCW3Unh7vSHeiIrkPY7f3/wbq21j13RYJBb296o6ODlggLFbd0+tbYXcQHETFzukpbPsr5JjqEEKoP79rH7uY2Ggyhbxx49f33LPi3HvNZvN3332fkZHGGcT3Sl/BwUFTp0x6+60NX3898ZZbFn/4wadLbr6dRqMsXDB//vy5Bw8c2P7Tr1DZkvv53XPv/8H4BQvn/ffZl6prau+9Z8VNNy5c9cQzAQEK6Cid93q1sMCXX3q9urr2vvv+LyTkAm3NCRMyb7jxH889/wqNSg0PD3vkkfup1EFFYQig8DX5zVeb4F8o8iUmxN5++1LCvXtTJHSm7rjjnv/7v9umTM568aXXDhw8HBigFAjcx7qGh4UuXnzTmjffttkd0Nj1LiotLXXZspvffHM95FShQPCfpx4NC8VuLDoP2JygUk6/o+GP0OE8I3xBzoNNpqLjhRbPcay/7v5VIBQmevaic7pcUJzW9PRI/eSxnn3pYHrRiZK8Y3lOh53L54eGhvmWExQccqKoiEQiT5063W43lxSX9Pb26PR6raa3pqo6KSWV1bdJeqoUJxKLQ0IjSoqLvTXp8IgI75+9d82JwTxBp8NqtREIIYT6R8rOzs7KyiKGa+fOX+++54FPP92QkZ5G63NQHnxtePctW7v21fj4C+9gh86SfeDQ91u3vfjCM+c0f9HfBVSphzS+rLwcNgniYmKoVMqQzoBdWVVTV1M968pZxEUCuW3wh69C3a6zszsnJ3vBgvkDDHM4nN3dmuKS4+mjRvkSIUIIIS+e5/wbxO+/8sQVV0y6Y/mtq1atnjxpQlbWOKVSabfbmppUEPhOnChZseK2mJhIAg0OlFi6urtpNJrT6crZn5OUmICpDg0en8dvamosKSmJiYlh/aUHFgzppCTt7V0N9bUBygtc8aW1vb25qSksNIzD4RAIIYT68Xsrdl45OYe+2/xDU2OT2WKBUgGLxUpMjF8wf25CwhAuPoHg6/CLL785eCCXyWLKJKLbb7/Vz3NwLvp7GmrFbtg0Wq1Oqw0MDCQQQghdnnwVu4sT7KDUZDKZTSaTxWolk0gMBoPNYTP6OVQWDUDnZiC7zyvLZbOHtm8iGmH+tGCHEELocnfRWrFeUKVjs1nwQ6Dfh+dBIIQQQggNHe7ChRBCCCE0QmCwQwghhBAaITDYIYQQQgiNEBjsEEIIIYRGCAx2CCGEEEIjBAY7hEaIuvr62uoaNpudnJIy8HX8Wtva2ts7UlOSiUEjkUg2u70gv0DT28vj8ZKSk886Cr7weJHcz8/fX0EMhctFNDU1V1aUwe3pM6YTlwyXywWvJ4VMCQ4OGtJlPBBC6K+FwQ6hEcJkMsuVAYnxsd5f7Xb7zz/ttNmskEt4fEFMbGyAUuHNKFQqjcka2lkSIehQKZTMzAybjbxv7y6H03nWAFgglUYjhghWJzg4gM1h7d+3b5CzWK2uH7dtGTt+vLJPiNTq9bt37po1ezbnIp10yXtuTrz0C0LosoMfWwiNEDarlUI746zgLA47NSZNJBa1trRWlJfzeBwBnw+1OqvFIhaevtyqTqfXajVMJstkMvL4fBjjnd6r0Rr0erjB4XKF/V+eVafT9fb2ctks9qnrmEGm7O5W0+l0k8kEGUksljKZ7hWzWCww3eGws1gsoVDoi01Wqw2CFDE45RWlQpGob6pzOp3VlVVRMTH9pTqL1aru7mZzuAa9jkQiS6UyGo0C040mE0wnXASbwxEIBRQy2ely6T2vBoVCtVlt3jWEddMbDFqNBh6IBy8Qn0cmkwmEELok4ccTQiPFOR1Dl9MFPVkOi6X093f3Uq1Wwh2DHO0dHeUVlb5hrW3tecfye3p7bVZnUVFxV7caJnZ2decdy+vp6YUfuKHV9nsZDKfT5XA4yisqOru6vFMsVltxcUldQyMkvKYmVXV1DYwxm82lZeXNLS1anb6qukalavaFucG3OmHeZlVTampG34mw5hC8oqOj+pmJZDAYCwqOq5pbIEFW19TUNzQRnlQHKwkxt0ejKSuv6Ox0r7xOqzteVNSt7mnv6GxuVnnn1+vNpSVl8LLAo5eVl3dBFkQIoUsVVuwQGiFoNKrzzLIXleZ+g9vtZIgvkKLoDAb86u/vD/mmSaU6Y146PSQ4jEYj6Yz6irIyadaE4qIiub8iLjYG7iWRyfX19cnJSed9XIGADz8Qm3xTXJ5GbVBAsEwmhHWora2DNNnZrbbbbEnJSXQara2tHcYrlUo6neZZc9og92PraG+X+clFotNXZ4EqWmtrm1yh6P8ahi5vggwPjWSyKJBB29pboyJDe3t6YXJiYiK8bjU1ta1tbQq5X7dazeVw4+PiYBjU7bzz19RWs5iMhIR4WMmGhuaOjk6pRIJFO4TQpQmDHUIjhNVipdIZfadAVzEnO4dCoUCWioqJ43H7vVodmQTpyh2txCKRurPLZiPbbI6G2trmxkbvAJmfHzFo3tDDYLj/pVFP7ngHXd2W5hb1qXIXl8dzuU7uqGe2WAbTioWyHMTBxITkviHQYDRCIzgxIaG/uUhu7jVhsShwC7qr3seyWi2Q3ihUaMCSoTUMVUz30gxGFosDYygUskQi8S4BhjWpmlpbW72/BgQFQccWYx1C6NKEwQ6hEQIC3FlT6HR6YlKiSCSCgtPA80LWsTscEGes0K4lQTJzkUiuhOSU0ODAs0bCXcSF9E1pvtuQlgKDglJSUqjUs0MRlTKoDyKosXG5PIGA03die3snk8HgcDkDrIwvQcK6+NaHTKb4qm4Q3aieAAqJzuGww6hTE90rBnEwMjI6Ni4Gj45FCF36cLMToRGCdE5zkEqjsVjMC6Y6wnN4QTOU03o0lRXlcoWcQnEplAFVFeVtHZ0Go6mpuaW1rd07Eu6C5AdFMput36W5zrh98jexWNTTo1Y1q/RGY3tHZ1t7ByQn711kKBgOIjQ1NDb5K+Q02ukU6HCQ6uvqgoKCaIM9fPX0qnE4HJPR2NXZrdHq2tvbRWIRTBQKBD29aqh9ms2OttY270iZTNHW3tbc0gJrDq9EV1fPoI/0QAihPxtW7BAaISCO0JlM369QmrJZLX0HQEmvsan50IEc772bvt0klcoyx4yGXyFVNTY0tre1xiYkxsa496tLTIiD9HI094jFbPJTKGI8E72ioqPz8/Js1kPXXvdPq9Vw5MiRrs5OWGBbS8uxI0fHTcji8309XxKZdDJuioSixKTUvGO5EKcYTGZCYiKJJPXeZbFYiQtlpeaWNovZrFAo+4azmroaqErK5QO1id2N2FOR19OWPZkgJRJxVHTUoYMHYc2DQ0JCgoNgolwu79Vofv75Zw6Hx+acrAL6+0tN5sD8Y8esVhu0pOMThnD+P4QQ+pORsrOzs7KyCITQJUan0w1pfFl5uU5niAgPEwgF1HPasgOorIKAVD3rylnERQJdTqfTMcjBRqOppaXleGHhgoUL+hsDqW///uzomBh/xekMZ7E4cnL2jxqVJhIJiT+SJwuSfP1chBC6BPF4J7eosWKH0AjhJ5ORCZJGo+HyuEMKdhfd4FMdMJstdrstITFhgDEuFwkGiEWSvuU6l8uempryR6c64uRugth8RQhdHjDYITRCSDyIoQsODlTIZcRfRCwWws/AY8hkl1QiPitdMZnQ0b3w7oMIIfS3gsEOob87JoPBZGBCQgihkeDiHxVbU1Pn3hUaIYQQQgj9uS5+sLv3voe3/fiTzWYnEEIIIYTQn+jit2KPHs0rLS3v7upcseJ2AiGEEEII/VkufrALDg7KmjDu9TfehttLltzEZrMGM5fNZlOpWiwW92m3aDSqSCQSioTkQZ/o/ZVX1nZ3d7/wwtMEQgghhNDf1cUJdgaDoby8Egp1RqMJfl248Lq0tOR16941W6y33rKYz+dfcAmtrW0PPfQ4hDken2c2mVks5v333+U9ZShCCCGEEBqMixDscnOPrFn7bmNjU1BgII/HW3zTP2Jjo8aNywwPD3vxpVeh6gY9WTqddsHl+PnJVt51R1RkuLqn96WXXt+/P2fJ4hsIhBBCCCE0OL/34InPPvtq0aJb+Tze1q1fb9y44Z133rjvvrulUgmFQpk4cfyTTzz66Wdf/ve//xvk0hh0GpPJVPorZFKJVquFKSpV84oV98QnZC5efLuquQWm5Bw8vGTxsjvuuDsxcfQTTzxrMJxxBG5Jafl1190QF59+xbSrDh0+otVo77nngT179xPuk6Y6//vflzd+8Q2BEEIIITQS/a5gd+RI3sefbHzssYfWr39DIhaRyeS+l2IEY8dm3rXyjo8+/vSDDz674NKMRuOxvML92Qc+2/htd7d67jVX6/WGdW+9O3HyxEMHf5s8adz7738MPV/IZ3UNjTfetGjT5s9bW1vXrXur7xG4HA77zjtv2bz5yxtu+OeDDz5OZzBSUtLy8gpgrs7OLr1ePyYznUBoJCopKd2x4+ejR49694hwuVxdXV0d7R3wo1b3WK2nN4GaVKrDR44SQ2Sz2wsKCvft3f/Lrt06veGse2GBjU0qYohcLth4a929+9dN324aeKRGo/E+F/dPRwd8XBAX0tzSumXzFmLoutU9P/+8a8+evTU1da5+LmLr+Ts8AAAQAElEQVRrMpl866PT6eATxjvdbnccO5bf0akmhqi9vf1AzoEdO346frzorLt0elN29gErnmoAITQIw2/F2my2n37alZKStGTJov7GNDWpDh7KzUhPy8wcdaHlua8sVHS8pLGxZe+ePStX3hEYqOzo6Dx2tIBEkFtbWiHqtbW1aTTuMl5ERPiUye7r2z740H0vvPCKWn36MzQ0JBg+h48dzTPoDe6P/87O5OS4jz7aCB+7LS1tdDpdJpMSCI1E8EceHBqaGB/r/dXhcBw9micUClhsNkQ9DpsdGxvDYNDhLolYwmKxiSGi02hpaWk2G2nf3l3n3hsZEcFiMYkhgs3AwEB/Fpv52969A48sKS3TabVyhcI9F0HADTZ7yE9hkFrb2mR+fslJSVQqpb8juOrqG1WNDX4KhdVigc+uqOhohdwPBkOzIjwinMvhEUMk9zhRXOp0nB3gPP93sTQqnk8eIXRhw/+kMJnM2dkHH3v8IWieeqfUNzTqdHr4cA8JDqLRaAaD8enVL9ColDfeeCkkJPiCCxSLRUuX3hgZGUEmu0rKyq+8cjrhvkqScNq0SUqlkvBcQUgqlVbX1vlmEfChCcztu0l95MjRp1e/eOutN42fMP6DDz+BYl5iYjxUGmrrGmpq64KDg2AOAqGRCJIclXL6HQ3vCyiiR0VHiYRC2CKCYpvRGATB7sjRY5qeHqFY7LlIl1tDo6q+tkYkkUJ9LyQMYkmod3pVTW2Lyl2EUwYERkWGn3qjnZ10Ghoaq6uqyBRKTGwMxxO2IEcWFxfzBYKuzk6YKz4+SSIRwPSeXk3xiROQg6Qyv5iYaF8QNJvN/RXGvMhk96VvBQJh0qlLyno7A9n7sxXKgK7ODtjOjImNlfu5L4ymVveWlpbarBah+AIXWOvo7CouKoKH9lcGwCcPnU6DGmdBfgFU4+AR1V2dIaGhkVGR5z08n0qlCkWSxIREl8tRWlauamqSSkQGk/no4cNwb1p6uu/l3fPrHv/AwPbWVsh8sXFxMqkE/l+g5FlWVtbT3S0QCmPj4/lcznnX0GqzHS8s7O3phWECIR+yNUyEDd2Ori74H+7q6PStObx+9Q0N9bW1TpcrNCwMPoSpGAQR+lsafiv2UO5RDpcdFRXe0tKybt07M2bOnTbt6vnzb1i06Ja8vML29o6FC2+CLexVqx4ZTKrzolBINBplxvSpUHJraWmFAhuXy4dPWKg0xMZGw3K8B2HA14BWq7M7HBVV1VQaDT7xKBSyywUfaK6tW7dPzJpw3bVzo6NCKZ7roMNm/ZjRGV98/s3+33KSkhPhI5VAaCSin3lZMIg+DCaT4gF5jkQm2e02mD46MyM6JsZ7aiEvuK3RahUK+eQp02qqYdOpHiZWVteUl5bGxSfEJSRUlJW2trX397jwxpw2fRqNTvd1e6F2CNt4Fot1/PjxsDFWWVUOoVOr1RYWFEIQyRgzxma3VVVXO061LxkMBmnAcxs5nQ7vYu2neKfDMmtrqtNGpUEczf7tN/gEsNtdx44ehUJaXGKSurvbN/JckDKPFx6PjIpOHTUKqv5NnggLaztj5gyRWBIdFws3oqOj+jvpEoQ/WGf4dIL8xOPx4AlCtBLyeVOmTuXyeBA0fSN7e3tbm5vHjR8XHBJ6IDvbZnNZLI7cw7nw/zJ63Dg2l5uzP7u/XAtJLhOMHavX6XxjrDZrdWVlQEDghIlZ3d3dPT3ulkVLS0djQ0NicjI8HZWqGdoVBELob2n4m3RVFZUQknZs3/nhRxsjoyLmzJ419YpJXC4Hgl1paflTTz3HF/Cef/7poKBAYoiiY6KioiI/+PDT1U+vmnPVrE2btra0dJJIjuDg4PHjx8CAsrKK/73yplLpf/RI3m23LYGS4Zgx6W+99X5BQVFKavKHH3zK4jANeqPT4fAucNq0yTfetCwhPi45OYFAaISyWW0U2hmHn5uMhrbWtt4eXXd3B5sFEaLfEw/BRpRUIoNieVh4eFNDQ2hIWENtrcxPbja696WDG6omlb9CTgwOybP5FBIUQiaToBLfrVa7d/jrVpOhU0kmaXt6mAxGr0Zrt9konjBqtdouVLFzL1Ct7oZyI9ygkMnRMXFSiRBuR0RFwdLgUeC2wWQy6A2wyRcRFkGhuIzhYZrenv6WCVEJaorKAH8qhRIYGADVu4jwMPfKkwa17QdhtKdb3dTYYLKYW1tbQ4JDabR+j/0Pi4hg0OkhwYHHCwraOlph/bWa3siIcI1azWFxjQa9VqcXDLqZAGvoHxAgFAggc/L4PIPR5N5VsbmRxWSaDAZ4HdlMNsRWf39/0qBPBYoQGjGGH+w6O9WFBUV0GvWxRx+cMmWiSCT0Tu/uVq9d9056eupT/3k0KGiwJ6KTSMRLl96k8HxzQDfn9mVLa2rqYIv2qjkzw0KDGxtVZAoZ7vV+TkVEhE2dMlHjPuJ1RUpKEkzJzEy/5RYTjLnqqlnQ6ejt1UDsG505ys+zR11oaCh0YCdNHMtiDnkfIIQuG+d8iUMC0Hu+6f38ZEKRmMlkDDArpDq4wWKxXC6Sw0GCf2G80+UuqsnlsmHs0EamuIg+OQnqeVDeIhEkWCaPx4W3vK9XOMj4IZFI0zO8e+uSaFSqr/ru/ljoswiIXBTPQw9cCHQ4IAGe3PaDNbFaLcQQWaxmnUHPYnLi42LFYvFgngXj1EcQg8H0vrYwV0ZmBsQ+Yui8HepTt8ne15ZwB3Exny8gEEJ/S8MPdidOFEdEhj355KMJCfF9Pz2hrTNnzqwHH7jHuw09SBwOZ+zYTN+vUVGwHR5BuPerY44aBb2F1L6D+Xz+FVdM7jsFtpVnzJjqvX3WXaBXo6mqqpk+czqB0MhFo1GdZ5a9mCxWeHi4aBAXcYEup9ligdKXTq8nkVxUqhP+ZXO4sFF01ki4i7gQl/P0GF8pDlYG1lAZoDz3rJbw/r1QK9a9QIgu9D5VMd+BqO6H6FPwM5lOHjBrNBoHKARSqTRfsoTQyTx1NInLdeEnSHg+6EQiSVxsnOdkABcYbNDpCPcBsyQozvkeMTAwjEp1EUPnW0Nnn1WFV0PAF4aEhGKRDqG/ueEHuwcevEsqlcXGRJ81/dOP12eMHi0UXPhqE3+a7T/+PGni+AClP4HQyGW1WKn00zU5yDRWiwViR99UZ7PZjUbo3RmhDarRaCgUqveifxBTqqtroFxXXVGRnpkBc8QmJBQVFkJZi8flQgkcNr2gdk54Kkx0JqOhsVEuU0qlAggZJqPJ7rDDAuEGLJPN5vTdk9V3G0rp9XV1ZWXlYqlEr9cz6IzgoEAqleJ99MEcPGEymb0nsyQ8m4Ii4cmiFIl0OlvJpH4CvqCouDRAqejo6HA6+01pAoGgpra2qrKaxWY3t7T4Iuwgd8OF1wpecM9Dn15zg8FoNpttNpvBYNBqtbBdSveU4pqbW+hMZo9azeZwlIoAwnNU7/7sfd4Hbe9oz0wfAyEPehRikaiqqqqlpYPPF3K5dFiUyWTS6/R2z06KbBYLnjj5VBGUcqpiB88+PCyyqKjA4bDxBXzoZsikcrlcTCCE/n4ot912W3DwYA9u6AvmkkrPc9BZeET4AB2f3w+6J/CRmpQYP/hZVCrV5EnjAwOHvLcfQn+hvmeeG4zOzi4Smex36oQ+JM++/SKhsO++X9CZra+v87yJmL29vfAQPB4fStq9PT1KpVKv00bHxnr3pRPw4R6+ERKKXsflcGQyma9dCG0+HaQMrVom84fk19zc3NnZAQuExcIyORyuN81AzR5KYk6n+1hdqBrSaXTYFDQYdHqdDpqG8OnBYbO9gcxoNDc1NsTH9/umhtgHC4exJiOEUqPZaIInxefz7HY79GfZLCb0kqFM6CeX06hksUQCFTKtRgO/crlcudzvvMtkMOgioainR20xm/2BQu6NdN7HgtjHGbD7DAVODoctEPD7VshUzaquzk74ALRZrfACQS8YWthlZWURkVF2mxUKogkJCSwWHR4H1o3k3s9PC6sNrzysJywHHprL5cD/mlrdSaVRoGGt1xtUqiaDXg/TdTqdxWqFni+kVXgxhZ5cC3kYVgMCH4vF4PF58NrC68PhciViMdRHCYTQ3wbj1PFzpOzs7KysLAIhdInRefp3g1dcUtrU2AgJDBKStw43SJVVNXU11bOunEX86SCXtLS0lZScgBy28B8LieGCgDhwze8vtPm7zWkZGWFnnhzgYq3wmcuBrHiJvggIoT8aj3fyACzcpENohEhMiIcf4rICZaqAAAX8EL/PJZvq+nOxVvjM5WCqQwhhxQ6hS9VQK3YIIYT+trBihxBCCCE00mCwQwghhBAaITDYIYQQQgiNEBjsEEIIIYRGCAx2CCGEEEIjBAY7hBBCCKERYlAXz0EIXaZMRlNNTd1gRvb09HZ0dA48RtXc0tXVTQyF0WhqbW0b4NJeCCGELiKs2CF02bPbHTk5B6qqar2/UqnUq6+ZLfNc8a+mtubl/6359JP3LriQnJxDra0ty5ffNsA17V97dW14ePjddy8nBq24uHTTpq2rV69isZiDnAVSYN6x/LLyKhfhCgoMGDMmk8Nhf/7FN6Mz06OiImDAjh27/P0VaWnJZDK5qqq68HixwWCQSsQTssYL+O4zOZWUlB4/XmK1WoODA7MmjtfrdHv27Ifk6l0+nU5fuvRGl4uor28qLCzsVqtlUum48WP8ZFJ4JT0LPGE0GIOCAjIz00UiIYEQQpcPrNghdNmzWizbtu0or6hkcdhsLofJZpFPhbPw8Iin/vPYYBYyceK4a6+dO0CqIzxXaib+eHt+3fP6G2/rDUZ4uMLCE80tLTBx3br3Tpwo9Q746qtNBw8ehhvwlP/96H9KS8sgyxYWFtfVumuT+/blwMTWtnaCROzevU+r1XV2dm744GOnywEvjvv18UTMqqqal15+TaVSMZjMysqq8vJKmFhRUbNu3bvdXd0MJqOkpKy5uYVACKHLClbsELrskSkU+DcjY9Si6xf4khnUqx555D8/bv+Jx+MV5Od4Jza3tC1dujwjPXXfbwdTkhOff+FpiVgE09NGZel0uluWLlq16lHfEl59dd2WLT9odborpk56442XYIrNbne5XEtvWVFRUfXII/fNv24eTOxW96x58+3tO3ZBzezxxx+eNGk8TCwoKHj00dUtrW1TJmf5FggFtvaOLovFEhjg399zoVCon238dvbsGUuW3EBcyH+ffTkyIuLJJ/7tm2IyW17+3xsL5s9btmyJb4HdXe4W8/WL/ink83wjIcwp5JI77rjNe+VsGGa32/Ly8wODA5cvv5XBoBMIIXQZwoodQpc9p9NdSIMSVHb2QfgpOlFisVih4fjGGy9+/eWHZzUT9Tr9lKmTs/fv5nBYm77d6p0IyQ+6pTQqzTfsyJGjX3/z3WcbN+z65YeZM6f7pm/7ccfddy2HLLVmzbtGo02n07/yypsymd93333+6GMPQblLozG1tbW/JvOBvgAAEABJREFU994ny29fsn37dyQSWa3uObWezpdfenXWrLkDPBeHwz5qVOqRI/mHDx+tr280Gk39jezqVldW1cycOaXvxIrycq1WM6PPCsMCvTcOHcr1vj6FhUXwq0DAb2hozs4+WlZWodFoIdVBAPVXyBvq6rOzoa9dAxMvtyvQIoQQVuwQGgncJbHa2loKlO5IRFhoaFhYSH81J6lMmpQYT6OR0lITyspr+1sih8MRCgS7f9mXkBA9afJ43/SpUyZlZmZAlY5KpbR3thn1+uLiUiqV/vnnX7lcpJbW1vz8IyKR2G53ZE3MUijkc+bM2rL1B9/sV189OyExnhjQ0qU3fv/99p9/3m0ymdkc1u3LlgQEBJw7TK/XQ6IVCvvGVpLJZHXYnf4KGH/24Rr5+YXeG0EBAampyenpqUaTJffIYYPeAM/lugXz0lKSxozJ0On1OTmHdu7cDZW8mxbfEBsTOXB7GiGELikY7BC67Hn3qJs2berChddCCqGQyVRqv29tCH90T/NxYDEx0W+ueS0399CGDZ9qtLpPP3uPw2IRp64zTaVQoBQH3V7IXkwG49pr53A5HJi+cMFchcKvoqKay+VAyRCmsFiQME9HzMmTs+Bn4IcWCgVLlizS6w3QHV679r3vv9+xcuUZh2vAc4TVgOgJvV21Wt3nHhebRadQyarmhrDQoLMWC11XHte9kvD6wL9sNnvmjKkTs8bCA3333fdffv4NBDs+n3fttVfPmnlFb69my9bt23/8MTLibhqNRiCE0GUCW7EIXfYcnlYshDnIWPADQeT3F5mgbRoWqlx806LnX1jd0NBYU11z3mFyPymFQqbSaOHhoRERYUqlgsfnQzKDlYHM53K5oKFpNpt94+vqG08Ulw780JDnLBYLi8WUSiV+fkLv0axKfwUs0Gq1mUymjo5OSIsyqSQ1JXn79l+M0BK22T3/2sIjIqAvvO2HHfCg8Ct0in1nWoHXBPKoJ5K6XxxIpQaDHl4rkUgQEhKk1WphosVqNRqMEEn9/GDxos7OXqcT27EIocsJVuwQuuyRyefZQrPZ7ZBv6uvrodW4efMPYrEoI2PUeWevrq4rKjpRWFik7u7evOUHyDQTs8YXFBQePJjLEwi7OrqSkuKjo6POO69/gHLBwuteefmNjMw0FpNVUVG1+tmnAgL8lUr5199sjggP+e23HLvd7hv/9lvv7vhpV0nxUaJ/H320EQIZl8c1GY3Hi0r+9a+7YeKChfN2797X1t6m6dXKZOJx4zJh4r//ff8zz7707LMvBQQGdHWq5y+4Ojkp8dF/P/D6G2t6e3v5Al5ba/vDj9zvXeyG9z/icLne28uXLTtxovjbb7eGhoc47PbjhcXeffWOHMnb8eNPCqU/JMDiE8Xzrr2GRsMPSYTQ5YSUnZ2dlZVFIIQuMVC4GuRISE5FRcVSqTQ4OLDvxO07dvp+FYtEaWkpZAr56JG8sWMzGQxGXW2dRqtPTU2qra0/UVziGymTSsePH9PT01NaWqHV6qCmlZAQ4+/vPo716NF8gYAfHR1ptdmysw9mZqbzeVwofZWXV6pULWQySSKRpKenk8kumL2goMhud4jFQvicSUtLpngO3c3PP97S2nr1VVcO8HTa2zvKK6p0Wh2sbUhwcGxsFMwLj1hWWtGkUkFJMjYmKjDo5DNtbm4pL68yW8wioTAlJYnDYcPEurq6qqo6qNhBXzg5JQkCYl5egVan9z3EnNmzoPJXWloOLVeo34nF4oSEODabpVb3wHOB9i6NRg8I9I+KjGAMom2NEEJ/Oe9+MgQGO4QuWYMPdgghhP7mfMFumF2GxsbWE8UnxoxOl0jEJBIJNtlPFJfW1TfAjfOOH52RHhwcRKfjPsgIIYQQQn+UYQa7PXv2fPfd99n7c2bOnDZp0oRjeYVPPLE6KiqCTKacd/yHH3z6/HNPjx6dTiCEEEIIoT/G8PcLzsoa39Or/uabLaNHZ6iam9PTU1c9/giJfP5j8ZYsvr2ysnqowc5oNP7yy57x48fIZLLBjO/s6n7+uf+9/vqLTqdz9+59wcGBsbHRBEIIIYTQ38Owgx3po48+HZWe+r+Xn+VyOUqlPwSpstIKOv0850Tt7lar1T0BAcoBFtfY2HTLrXeWlpZDYzctNWXlyjtnz55mNJp++umXmJiYQQY7i8WSl1/guWHduevX9PTkYQS77JwDr/xvTUVlNY/HvWrOlU8//Rj0l7u61Up/BYEQQgghdAkbZrCbPXt6cLAiKyvLm+TGjsn84IP1VZXV/Y1PTIpLiI8beJkx0VEvvvhsWFjI/v3ZGzZ8EBYWmJAQ9847bxJDx2IxX33lOWLoco8cfeP1t++9947wiMiW5maD3n0YXWVF5Zq177z33joCIYQQQugSNsxgx+aw/fzkvvochUwODQ2SSET9jReLRcQgCAU8mVRy9VWzDx8+dvRoXmho8I4duyZPzvLzk61fvyEgwL+8vEou95szZ6ZMJiXcJztt2LF9p9VmGztm1Lhx4/ou6ocfdkREhkVHRx04cLi3p1elarY7HLCo5KQECoWi1Wp/2b23qqpGIZfPnXeV+NTFNCvKqwMDA6ZNmwa3w0JDCE87eN++/cXFpf956r9ZE8bNnDmtW92zdcsPPT298fExM2dOh7ZvdvZBl9NRVl7lcrmmT58WGxtFEK7y8so9e37T6fWxMVEzZk7znpcfIYQQQuiPM8wrT+z8+VfonL711ns6z6mhKiqq5s+/aeHCfn9uuWVFXX39IBdOo9Hc59Bns6AV+8sve71XEH9zzdslpeWJyQnZ2Qdee+0tq9Xe2d19/32PSCWS+Pi4xx575njRib4L+W1/Tk1tvcNuh1jm7ufGRkPLeO2a9W1t7Xa7fePnX0Hwmjrliob6ug0ffGI5dTBvcnJ8fkHhI488UVZW7nC4T1jPYDAiIqP8/f0XLpifmJgAQe2hh1ZZLKbM0WM2b/nx1z17bTY7ZMSPP/kiLj4WsuNzz73U0dGp0WhfeeVNCpU6IWscnUEf4PpOCCGEEEIXyzCDnV6vXzD/uuPHi++7/9+Q7YqKS8aOyTh0cM/RI/vP++N0OPf/dmDgZULe6urqhuC1bfvPnR1dkydO6HuvVCpdvHjRnCtnvPXW601NDVVVFd98tVkkEk69YlJaatIVV0zZ+fPu8y7W4XTOn3/NjOlTr7n6SpfLCfU2s9ly6ODRCePHhYUFzLt2rqqxsaO93Ts4NTXlvffX2e2O6xfdunz53YePHCOTyUGB/lCMhMynVCpyDx/T63QLFy6Ii42YPGnils0/uh/C4bjzzmXTp01ZuXK5n9zvt+wci8Wq0+nGjk7PSEudM3sWE89xiobOe0ZfhBBCaGBU6unTyQ2/klRWXgG5Ki42GuprfD6vtq7+m282kynnT4oGg8HbPB0ApLo317wjFIqCgvzvuef/5HJ5d3f3ucPIZJJIJNZo9O3t7fCgr712ctc3aIwOvHwWm83hcp1QiHM6a2vrvvnmOz6f73Q5Q0JCGAymb1hcTPSrrz6vUrV+/c23S2++Y/cv3/ddiEajae/o8D1obNwZDwoBTqHw0/T2CgT8KVMmv7V+g1QsnDgpa8rUSRw2m0BoaH7v9V4RQgj9HfS9Pvgwg11KanJVddWi6/8R6w52tNEZ6aqm5qbmlv7GL15yQ1bWuIGXqVDI/2/l8tiYGDr9PGvldDpsnoapy+Uym82QKYODlAqF4tlnn4AV8I5R9b8CfVEo5KioiCVLFo0bN+a8A+AFCgpSrvy/Oz78cGNHZzejz8UiJWIhj8d7+unHmMyTWdBgMBKea4fDv1abTavVJacksljMFStuhfWpqa5d99Z7fAF/YtZ4AqGhgA6+w2EnEEIIoQH1vQDEcINdckJCfIzv4AmxWHTrrUtcTmd/40kkMoVy4bYvk0E/b6oj3OdDUa1/54MVK277fut2WFZkZHhAgPLNte+99fb7tyxdXFtfHxQUyOVyIeRV19SGhoQM9ChMZlpayoYPPg0ODodn0NWtjomOJnvOwJeTc/jYsYKJk8dD7e3777dLxKK42Ji2tra6+oZj+YWx0XFjxo5xOdc88MBjTzzxb6PJxGAyxEL3gRevvbpOKBS2tXU0q5qTExOMRuPevftSUtKDQ4LtNpvD7iQQGiIqlWKzUWCThkAIIYT6QaXSyeTTEWuYwa6kpHznzz/Pu3ZuaGgIZKlejWbTpu9Lisv6G585Ou2aq+fweNz+BkCgg2TWtyXqWVdqcHCgtzYmFAqsFutjjz4VHh720kvP0jy2bPnirXXv3XrrCijgrXry3xFhoUtvvvHxx55++KF7AgOU0A8lkcn+/groFBPuQ3cpgUGBLBaLQqEsvWXxV19+e9/9D8BrsXDB/KjISO81M+Ry6Bc7n139AtQF4+NjP924gc1mQa/21ltufu7ZlydMGPuvf9392cYN69a+c9dd/+JwOPfev9Ib7FLTkv/77EsCoWDFimVKpb9Op8/JyX33vY9hsfPnz5s4Ect1aMjgj5PBoEN9Gv4aCYQQQugcEGkYjDOu10rKzs7Oysoihujjjz/fsWNXSEjgqPS0BfPn/rp3P2SdcWNH9zd+587dDz1037x5VxHDlTVx5pdffhQUGEBcYqAV+/Tq5+fNnZOFzVb0B7BaocNvczqx6IsQQugMkOrcjc4zz7wx/IMnUlOTKyorjx7Ng0yj0+lCQ4PnL5zX3+CcnIPWU6cUQQgNHrxp4a1rsVhxfzuEEEI+0IGFWl3fJuzJ6cSwkEikd9/bsOrxR269dTG0RBPiYqARuXnzD/2Nj4+PS05OIH4HCpXS96CPSwjJ3TK7RNcNjQgQ7NhslntfTbsN2rKY8BBC6G+LSqVB5KDTzxPpvIbZirVYLF3d6gClv2+KTqdva+9w9LOjd2hwkO8wUoQQQggh9EcYZsWOwWD0TXWAx+MOcGwEQgghhBD6o+GlrhBCCCGERggMdgghhBBCIwQGO4QQQgihEQKDHUIIIYTQCIHBDiGEEEJohMBghxBCCCE0QmCwQwghhBAaITDYIYQQQgiNEBjsEEIIIYRGCAx2CCGEEEIjBAY7hBBCCKERAoMdQgghhNAIgcEOIYQQQmiEwGCHEEIIITRCYLBDCCGEEBohMNghhBBCCI0QGOwQQgghhEYIDHYIIYQQQiMEBjuEEEIIoRGCTAxLVXXNuHFXKAMivT9jxl7x88+77f1zOp0EQgghhBD6I5Gys7OzsrKGNI/JZF74j8ViiXjeNVd5p9TW1m7fsVMhV/D5vPPOEh0dvmjRP4KCAgmEEEIIIfTHGE4rtqu7u6end/UzT2SMSvVOsdlsWRPHV1RU9VeZ2/bDTxaL7ZFH7qfT6cQfpqam7sCBQzfffCOBEEIIIfT3c3H2saPRaOPHjYGf/gaQKZTc3KMms6W/YLdq1erRozPmzXOXANVq9auvrc1IT73uunnee1944VWpVLJ8+S3EgFpa2lfAsxAAAAabSURBVH75ZS8GO4QQQgj9PQ0/2D1w/yMSiWSQg1Wq5lEZaYTL1d8AAZ+Tl1dw1VVXUqmUpqbm7OyD1VW11147l0QiORyOb77dvOH9tQRCCCGEEOrf8IPd2HFjwkJDBjn42LH8gQdkTZr08ccbe3p6ZDJpXV3DuLFjDhw83NHRJZfLyisqaTRqUlIi9Hmrq+vKy8shHqakJAUHBblcztLSckh+EByZLBaNSvMuTafT5eYeS0lNFvB5+fmFdfUNbBY7ISEuMjIcCod8PrempsFms8bHx8bEREMfuaysoqy80ulwREVFJCcn0ek0u91eWVkNC2exWDAsLCwEWsnZOQe6u7v9ZLJJkyZQKJTWltb8guMajVap9M/ISONyuQRCCCGE0F9n+MHun9cv8O1jd0Fffv3dvn37BxgQFKi02+zt7Z0SiRhi1sSJ400m03ebt678v+WHDuZOnjQRerhQ0vv00y8zM9Nrams3b972/HNPSaXiH7btOF54YszYjOCQYLlMBotyOJ3f/7C9oqIagt2Ro3nvv/fhuPFjdXqDrFMKwW7Tpu9ramtmz56p1Wg//PDTdW+97ifzO3q0wGgyanW6H7f//OCD945KS8nPL/rssy8SEuNJJEIo5EOw+9//3jQa9TGx0V988U1Tk+ra6655c+16FpMRHBLS0tpmNlsw2CGEEELor3WpnMdOBMTCtra22NioqqrqRYsWEITz9TfeXnHHsqKi0psW/9NgMHz19XczZ86aPXuqxWJ5evULO3b8dPPNN9ls9oULr73uurkUCvnAgVxY1MFDubt27XnhhdUyqeSzT3KDgoKX3XYzmUyGrq73scaOGXvbrTe7XK62to7PN379+OMP3XzzIhgAU155Zc2BnIPxcTE/bts2c+YVc+bM8s5SWVX99vp3TxTliURcSHsP/uvR8ePHlJdXrl3zakCAP8wIsxMIIYQQQn+pSyXYcbmcpMSEohPFMj8Zj88PCQlWKORPr37x172/6fS6hPg4s9nsdNgDA/0gQkF7NCoyQqVq8c0LvVrvbZ1O//CDq1bcucxfoYBfr5wz+5lnXli27K6Zs6ZNnzYFlkl4DvWARircmDRp/Ndfb4Gu65Gj+VAXVKlUpWUVUyaNgymdXT1+fjLvMNBQVwf/3vl/d3t/DQhUBgYGTJ9+xfI77k5KjL/66tljxmQwmUwCIYQQQuivcwldeQJqdRs3ft3Z/vXErLHe9DZl8oRN32yJCA+FKGaz2RwOh0arg5FQITOZzGKJ8NyF8HhcqPZBo3bc2DGxsZFQe3tn/ZsFBcd/3rn78OEjr776Qt/BEA0lElFDQ9M76zfcd9+KiMioLz7/2mjQQW0PVgAewjfST6GAdVi//g2pROybePddd8yZPT03N+/9DZ9QqJSsCeMIhBBCCKG/zukG5V8uNjYOktaWrduzsiZ6p1x33fxfdv8aHALBjsrn85KSkt5798PS8oq8/OOHDuVOu2LyeZczf8G8seMyP/jgY73eUHSipKGhMS1tVHhYWEdHF4lwP9lvv/3u0KHDBYXHP9v41Q03/NNqtXR2dWk02u7u7sLC45Ag6XR6cHDQtm0/dXb2qppbGhsbY2OiR49OX7tmfUdnV3NLa0VVda9GAz1fJpszbtwEKpVitdgIhBBCCKG/1PD3DHP1f+6S8w6/4AihkBcRETpqVKpCIfVOiYkJH52ZER0VBvUz6IreeOMNaWmpi65f+sgjq5YuvTkuLhbGUGlUX8MUhtHpNDqNdssti9U9PV9++XVrW9vDDz+RngEt102rn1kF98KwpKTEhx9+8u67Hlz9zJNjx2ZGR0fPveaqfz2watltK1kstlgsguLc7bcvJZNJY8Zm/eMfS/LzixgMxsbPPjSbrTOmX3399TcXFRRAu3bXzl+vmjN/xsw54eFhGZlpBEIIIYTQX4p04MCB8ePHD2mejo7OBQtvuuGGhTOmTxvkLB9/stFgMP73v//hcjjEXwpynlKp/Ne/VhIIIYQQQiPLcPaxk0jEV1915fvvfbJly/ZBzmI2mx799wMcNptACCGEEEJ/DOow9rGD1uc999x5/fUL+7sy7LnodLqfn/TS2Z8PIYQQQmjkIR06dGjs2LEEQgghhBC6zFHxzLoIIYQQQiMDFdujCCGEEEIjA1bsEEIIIYRGCAx2CCGEEEIjxOmz+yKEEEIIocsaVuwQQgghhEYIrNghhBBCCI0QGOwQQgghhEYIDHYIIYQQQiMEBjuEEEIIoRHi/wEAAP//uclaggAAAAZJREFUAwCBhnUr+Mup8QAAAABJRU5ErkJggg==&quot; alt=&quot;공식 Jenkins 문서 기준 Console Output 실제 화면&quot; /&gt;
&lt;div style=&quot;margin-top: 10px; font-size: 14px; color: #475467; text-align: center;&quot;&gt;공식 Jenkins 문서 기준 Console Output 실제 화면&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 중요한 건 딱 하나입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Jenkins 설치의 완료 기준은 웹 화면이 뜨는 게 아니라, Console Output에서 실제 빌드 결과를 확인하는 것&lt;/b&gt;입니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot;&gt;처음 Jenkins를 붙일 때는 설치 완료보다 &lt;b&gt;Build Now &amp;rarr; Console Output 확인&lt;/b&gt;까지 가는 흐름을 먼저 익히는 것이 더 중요합니다.&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;6. 따라하다가 자주 막히는 포인트&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;설치 글에서는 이 부분까지 같이 봐야 실전성이 생깁니다&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;웹 접속이 안 되는 경우&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Jenkins 서비스 상태 확인&lt;/li&gt;
&lt;li&gt;8080 포트 확인&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Unlock Jenkins 화면에서 못 넘어가는 경우&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;initialAdminPassword&lt;/code&gt; 파일 경로 확인&lt;/li&gt;
&lt;li&gt;복사한 문자열이 정확한지 확인&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;플러그인 설치 중 멈춘 것처럼 보이는 경우&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;잠시 기다리면서 진행 상태 확인&lt;/li&gt;
&lt;li&gt;네트워크가 막혀 있지 않은지 확인&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;새 Job은 만들었는데 빌드가 안 되는 경우&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;저장이 제대로 됐는지 확인&lt;/li&gt;
&lt;li&gt;Build Now 버튼을 눌렀는지 확인&lt;/li&gt;
&lt;li&gt;Console Output에서 첫 번째 에러 줄부터 보기&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(239,68,68,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #7f1d1d; margin-bottom: 10px;&quot;&gt;이 글을 읽을 때 기준점&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;설치 명령어는 Ubuntu 기준으로 따라가기&lt;/li&gt;
&lt;li&gt;웹 화면은 Unlock Jenkins &amp;rarr; New Item &amp;rarr; Console Output 흐름으로 보기&lt;/li&gt;
&lt;li&gt;첫 빌드 결과 확인까지 가야 설치가 끝난 것으로 보기&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;마무리&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;설치 글이라면 흐름이 가장 중요합니다&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 글은 일부 설정을 전부 다 담는 것보다, &lt;b&gt;설치 방법의 실제 순서와 웹 화면 흐름을 맞추는 것&lt;/b&gt;에 초점을 맞췄습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Ubuntu에서 설치하고&lt;/li&gt;
&lt;li&gt;Unlock Jenkins를 보고&lt;/li&gt;
&lt;li&gt;초기 비밀번호를 입력하고&lt;/li&gt;
&lt;li&gt;New Item으로 작업을 만들고&lt;/li&gt;
&lt;li&gt;Console Output에서 결과를 확인하는 순서입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음 Jenkins를 접하는 독자라면 이 흐름만 제대로 잡아도 다음 글인 Git 연동, 자동 빌드, 배포 단계로 자연스럽게 넘어갈 수 있습니다.&lt;/p&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;설치 가이드는 정보가 많다고 좋은 게 아니라, &lt;b&gt;실제 화면과 실제 순서가 정확히 맞아야&lt;/b&gt; 따라가기 쉬워집니다.&lt;/blockquote&gt;</description>
      <category>IT/DevOps&amp;middot;Infra</category>
      <category>ci/cd</category>
      <category>DevOps</category>
      <category>Git 연동</category>
      <category>jenkins</category>
      <category>jenkins 설치</category>
      <category>빌드 자동화</category>
      <category>젠킨스</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/108</guid>
      <comments>https://trace90.tistory.com/entry/jenkins-install-initial-setup-git-build-guide#entry108comment</comments>
      <pubDate>Mon, 6 Apr 2026 00:18:55 +0900</pubDate>
    </item>
    <item>
      <title>VIX와 공포탐욕지수 보는 법 | S&amp;amp;P500&amp;middot;나스닥100 하락장 사례로 쉽게 정리</title>
      <link>https://trace90.tistory.com/entry/vix-fear-greed-index-sp500-nasdaq100-downturn-guide</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;미국 증시가 크게 흔들릴 때 가장 자주 같이 언급되는 지표가 &lt;b&gt;VIX&lt;/b&gt;와 &lt;b&gt;공포탐욕지수(Fear &amp;amp; Greed Index)&lt;/b&gt;입니다. 그런데 실제 투자에서는 이름만 아는 것보다, &lt;b&gt;1990년대 이후 어떤 하락장이 있었고, S&amp;amp;P500과 나스닥100이 고점 대비 몇 % 하락했으며, 그때 변동성과 심리가 어떻게 반응했는지&lt;/b&gt;를 같이 보는 편이 훨씬 실전적입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 글은 개념 설명보다 &lt;b&gt;1990년대~현재 주요 하락장 데이터, 고점 대비 하락률, 시기별 핵심 이슈, VIX&amp;middot;공포심리 해석&lt;/b&gt;을 표 중심으로 정리합니다. 참고로 &lt;b&gt;VIX는 1993년부터&lt;/b&gt;, &lt;b&gt;공포탐욕지수는 훨씬 뒤 시기의 심리 해석용&lt;/b&gt;으로 보는 편이 맞습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #fefce8 100%); box-shadow: 0 10px 28px rgba(245,158,11,0.08);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;핵심 요약&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;VIX&lt;/b&gt;는 S&amp;amp;P500 옵션 시장이 반영한 대표 변동성 지표입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;공포탐욕지수&lt;/b&gt;는 시장 심리가 공포 쪽인지 탐욕 쪽인지 종합적으로 보여주는 심리 지표입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;하락장에서는&lt;/b&gt; 보통 지수 급락 + VIX 급등 + 공포 심화가 함께 나타나는 경우가 많습니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;다만 둘 다 매수&amp;middot;매도 버튼이 아니라, 시장 상태를 읽는 보조 계기판으로 보는 편이 더 정확합니다.&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
&lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
&lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
&lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
&lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;먼저 결론&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;이 글에서 가장 먼저 가져가야 할 해석 기준&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(245,158,11,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #92400e; margin-bottom: 10px;&quot;&gt;이렇게 보면 덜 헷갈립니다&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;VIX 급등&lt;/b&gt; &amp;rarr; 옵션 시장이 변동성 확대를 강하게 반영하는 중&lt;/li&gt;
&lt;li&gt;&lt;b&gt;공포탐욕지수 하락&lt;/b&gt; &amp;rarr; 투자 심리가 빠르게 공포 쪽으로 기울고 있음&lt;/li&gt;
&lt;li&gt;&lt;b&gt;S&amp;amp;P500 하락&lt;/b&gt; &amp;rarr; 미국 대형주 전반 약세 확인&lt;/li&gt;
&lt;li&gt;&lt;b&gt;나스닥100 하락 확대&lt;/b&gt; &amp;rarr; 성장주&amp;middot;기술주 변동성이 더 크게 반영될 가능성&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.8; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 26%; text-align: left; color: #1d4ed8;&quot;&gt;지표/상황&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 36%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;보통 의미&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 38%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;실전 해석&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;&lt;b&gt;VIX 상승&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;시장 불안과 변동성 기대 확대&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;공포 강도 확인용, 바로 저점 신호로 단정하면 위험&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;공포탐욕지수 하락&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;심리 위축, 위험 회피 확대&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;시장 분위기 확인용, 단독 매매 신호로 사용하면 해석 과잉 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;S&amp;amp;P500 하락&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;미국 대형주 전반 약세&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;시장 전체의 위험 선호 약화 여부 점검&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;나스닥100 하락 확대&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;성장주 압력 확대&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;금리&amp;middot;밸류에이션 민감 구간인지 함께 확인&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;1990년대 이후 주요 하락장 데이터 표&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;고점 대비 하락률을 수치로 놓고 보면, 어느 구간이 어느 정도 충격이었는지 비교가 쉬워집니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.8; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 13%; text-align: left; color: #1d4ed8;&quot;&gt;시기&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 23%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;주요 이슈&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 16%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;S&amp;amp;P500 고점대비&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 16%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;나스닥100 고점대비&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 14%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;VIX 참고&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 18%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;해석 포인트&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;&lt;b&gt;1990&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;걸프전, 경기 둔화 우려&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;약 -19.9%&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;지수 기준 장기 연속 비교 제한적&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;VIX 이전 시기&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;1990년대 초반 경기 충격형 조정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;2000~2002&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;닷컴 버블 붕괴&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;약 -49.1%&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;약 -82.9%&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;고변동성 구간 반복&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;성장주 버블 붕괴 구간, 나스닥100 타격이 훨씬 컸던 사례&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;2007~2009&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;글로벌 금융위기&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;약 -56.8%&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;약 -54.6%&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;VIX 역사적 급등 구간&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;시스템 리스크가 시장 전체를 누른 장기 약세장&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;2011&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;미국 신용등급 강등, 유럽 재정위기&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;약 -19.4%&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;약 -18%대&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;VIX 급등 구간&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;단기 충격형 조정, 공포 급증 후 회복 전환&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;2018 Q4&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;긴축 우려, 미중 무역분쟁&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;약 -19.8%&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;약 -21.6%&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;VIX 상승, 심리 급냉&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;긴축과 성장 둔화 우려가 반영된 연말 조정&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;2020.2~3&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;코로나19 팬데믹&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;약 -33.9%&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;약 -30.0%&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;VIX 급등, 공포 극대화&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;충격 속도는 매우 빨랐고, 반등도 빨랐던 사례&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;2022년&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;인플레이션, 연준 금리 인상&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;약 -25.4%&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;약 -37.3%&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;VIX 고점 반복, 심리 장기 위축&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;금리와 밸류에이션 압박이 성장주에 더 크게 작용한 사례&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p style=&quot;margin: 10px 0 20px; color: #64748b; font-size: 14px; line-height: 1.85;&quot; data-ke-size=&quot;size16&quot;&gt;※ 위 하락률은 대표적인 고점 대비 저점 기준의 요약 수치입니다. 세부 데이터는 사용 지수, 기준일, 장중/종가 기준에 따라 약간 달라질 수 있습니다. 다만 글에서는 애매한 표현보다 대표 하락폭을 수치로 보는 데 초점을 맞췄습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;장기 시각 타임라인 요약&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;2008 금융위기&lt;/b&gt; &amp;rarr; 시스템 리스크 확대 &amp;rarr; 장기 공포 심화&lt;/div&gt;
&lt;div&gt;&lt;b&gt;2018 긴축/무역분쟁&lt;/b&gt; &amp;rarr; 성장 둔화 우려 &amp;rarr; 연말 조정 심화&lt;/div&gt;
&lt;div&gt;&lt;b&gt;2020 코로나&lt;/b&gt; &amp;rarr; 급락 + VIX 폭등 + 심리 급랭&lt;/div&gt;
&lt;div&gt;&lt;b&gt;2022 인플레이션/금리 인상&lt;/b&gt; &amp;rarr; 성장주 압박 + 나스닥100 낙폭 확대&lt;/div&gt;
&lt;div&gt;&lt;b&gt;공통점&lt;/b&gt; &amp;rarr; 악재 확대 &amp;rarr; 지수 하락 &amp;rarr; VIX 상승 &amp;rarr; 공포 심리 심화&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_vix_1&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;판단 기준&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;실전에서는 두 지표를 이렇게 같이 보면 해석이 더 안정됩니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.8; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 22%; text-align: left; color: #1d4ed8;&quot;&gt;상황&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 24%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;VIX&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 24%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;공포탐욕지수&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 30%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;실전 해석&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;&lt;b&gt;조정 초입&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;상승 시작 가능&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;중립 &amp;rarr; 공포 이동&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;초기 악재가 시장에 반영되는 구간&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;패닉 구간&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;급등 / 고변동성&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;극단적 공포 가능&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;심리 붕괴 구간, 분할 접근 여부를 더 신중히 판단해야 함&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;반등 초기&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;고점 대비 둔화 가능&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;극단적 공포 완화&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;심리 회복 조짐 확인, 다만 추세 전환 확정은 별개&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;상황별 선택 가이드&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;시장 공포 강도&lt;/b&gt;를 빠르게 보고 싶다면 &amp;rarr; VIX 우선 확인&lt;/li&gt;
&lt;li&gt;&lt;b&gt;심리의 극단값&lt;/b&gt;을 보고 싶다면 &amp;rarr; 공포탐욕지수 같이 확인&lt;/li&gt;
&lt;li&gt;&lt;b&gt;S&amp;amp;P500 투자자&lt;/b&gt;라면 &amp;rarr; 시장 전체 리스크 중심 해석&lt;/li&gt;
&lt;li&gt;&lt;b&gt;나스닥100 비중이 높다면&lt;/b&gt; &amp;rarr; 성장주 변동성 민감도까지 같이 고려&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #ef4444; background: #fff5f5; border-radius: 14px; box-shadow: 0 6px 18px rgba(239,68,68,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;주의할 점&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;지표는 상태를 보여주지만, 결정까지 대신해주진 않습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(239,68,68,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #7f1d1d; margin-bottom: 10px;&quot;&gt;꼭 체크할 포인트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;VIX는 변동성 지표, 공포탐욕지수는 심리 지표라는 차이를 먼저 구분해야 합니다.&lt;/li&gt;
&lt;li&gt;VIX 급등이 바로 저점 확정 신호는 아닙니다.&lt;/li&gt;
&lt;li&gt;공포탐욕지수 극단적 공포도 즉시 반등 보장은 아닙니다.&lt;/li&gt;
&lt;li&gt;실전에서는 금리, 정책, 경기, 실적, 낙폭 구간까지 같이 봐야 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;FAQ&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; VIX가 높으면 바로 주식을 사도 되나요?&lt;br /&gt;&amp;rarr; 그렇게 단순하게 보면 위험합니다. VIX는 불안 강도를 보여주지만 저점을 확정해주진 않습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 공포탐욕지수는 어디까지 참고하면 되나요?&lt;br /&gt;&amp;rarr; 시장 심리 참고용으로는 유용하지만, 단독 매매 지표보다 보조 지표로 보는 편이 더 현실적입니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 나스닥100이 왜 더 크게 흔들릴 수 있나요?&lt;br /&gt;&amp;rarr; 성장주 비중이 높아 금리와 위험 심리에 더 민감하게 반응하는 경우가 많기 때문입니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 두 지표를 같이 보면 왜 좋은가요?&lt;br /&gt;&amp;rarr; 변동성 압력과 투자 심리를 동시에 볼 수 있어 하락장의 성격을 더 입체적으로 읽을 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;결론 / 선택 정리&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;미국 증시 하락장에서는 지수&amp;middot;변동성&amp;middot;심리를 같이 보는 것이 핵심입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;VIX와 공포탐욕지수는 둘 다 미국 증시 하락장을 읽을 때 유용합니다. 하지만 하나만 보면 해석이 쉽게 치우칠 수 있습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;지수 낙폭&lt;/b&gt;을 보고&lt;/li&gt;
&lt;li&gt;&lt;b&gt;VIX 변동성 압력&lt;/b&gt;을 확인하고&lt;/li&gt;
&lt;li&gt;&lt;b&gt;심리 상태&lt;/b&gt;를 같이 보면&lt;/li&gt;
&lt;li&gt;하락장의 강도와 성격이 훨씬 잘 보입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 24px 0 18px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;빠른 체크리스트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;VIX = 변동성, 공포탐욕지수 = 심리라는 차이를 구분했는지 확인&lt;/li&gt;
&lt;li&gt;가격 하락과 지표 변화가 같이 움직였는지 확인&lt;/li&gt;
&lt;li&gt;기간과 이슈를 함께 보고 있는지 확인&lt;/li&gt;
&lt;li&gt;지표 하나만 보고 결론 내리지 않는지 확인&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;margin: 18px 0 28px; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;VIX와 공포탐욕지수는 &lt;b&gt;미국 증시 하락장의 공포 강도와 심리 상태를 읽는 데는 유용하지만, 투자 결정을 대신해주는 신호는 아닙니다.&lt;/b&gt;&lt;/blockquote&gt;
&lt;div style=&quot;margin: 24px 0 0; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;관련 글 링크&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/intermediary-isa-us-etf-recommendation-guide&quot;&gt;중개형 ISA에서 살 수 있는 미국 ETF 추천 | 안전형&amp;middot;성장형&amp;middot;배당형 대표 상품 정리&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/isa-maturity-transfer-to-pension-savings-irp-tax-order-guide&quot;&gt;ISA 만기 후 어디로 옮겨야 할까? 연금저축&amp;middot;IRP 재투자 순서와 절세 포인트 정리&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #6b7280; font-size: 14px; line-height: 1.7; margin-top: 24px;&quot; data-ke-size=&quot;size16&quot;&gt;※ 이 글은 장기 하락장 사례를 이해하기 위한 요약 가이드입니다. 세부 수치와 기간은 기준 시점과 산정 방식에 따라 달라질 수 있으므로, 실제 투자 판단 전에는 원차트와 원자료를 함께 확인하는 것이 좋습니다.&lt;/p&gt;</description>
      <category>경제&amp;middot;재테크/미국증시</category>
      <category>fear and greed index</category>
      <category>S&amp;amp;P500</category>
      <category>VIX</category>
      <category>공포탐욕지수</category>
      <category>나스닥100</category>
      <category>미국증시</category>
      <category>변동성</category>
      <category>하락장</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/106</guid>
      <comments>https://trace90.tistory.com/entry/vix-fear-greed-index-sp500-nasdaq100-downturn-guide#entry106comment</comments>
      <pubDate>Sat, 4 Apr 2026 22:15:46 +0900</pubDate>
    </item>
    <item>
      <title>React useState 사용법 정리 | 상태 관리, 값 변경, 배열&amp;middot;객체 업데이트까지</title>
      <link>https://trace90.tistory.com/entry/react-usestate-state-update-array-object-guide</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;React를 공부할 때 가장 먼저 배우는 Hook이 보통 &lt;b&gt;useState&lt;/b&gt;입니다. 그런데 문법은 짧아 보여도 막상 직접 쓰기 시작하면 “값은 왜 바로 안 바뀌지?”, “배열은 어떻게 추가하지?”, “객체는 왜 일부만 바꿨는데 이상하게 동작하지?” 같은 질문이 금방 생깁니다.&lt;br&gt;특히 입문 단계에서는 아래 포인트에서 많이 헷갈립니다.&lt;/p&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;useState는 정확히 무엇을 하는가?&lt;/li&gt;&lt;li&gt;일반 변수와 state는 무엇이 다른가?&lt;/li&gt;&lt;li&gt;숫자/문자열은 어떻게 바꾸고, 배열·객체는 어떻게 업데이트하는가?&lt;/li&gt;&lt;li&gt;왜 기존 값을 직접 수정하면 안 되는가?&lt;/li&gt;&lt;/ul&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;이번 글에서는 React 입문자가 가장 자주 찾는 &lt;b&gt;useState 사용법 정리&lt;/b&gt;를 기준으로, &lt;b&gt;상태 관리 개념 → 값 변경 → 배열 업데이트 → 객체 업데이트 → 자주 하는 실수&lt;/b&gt;까지 한 번에 정리하겠습니다.&lt;/p&gt;&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%); box-shadow: 0 10px 28px rgba(37,99,235,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
  핵심 요약
 &lt;/div&gt; 
 &lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt; 
  &lt;div&gt;
   &lt;b&gt;useState&lt;/b&gt;는 컴포넌트 안에서 값의 변화를 관리하는 Hook입니다.
  &lt;/div&gt; 
  &lt;div&gt;
   &lt;b&gt;핵심 포인트&lt;/b&gt;는 값을 직접 바꾸는 것이 아니라 setter 함수로 새로운 값을 넣는 것입니다.
  &lt;/div&gt; 
  &lt;div&gt;
   &lt;b&gt;배열·객체 업데이트&lt;/b&gt;는 기존 값을 직접 수정하지 않고 복사해서 새 값으로 만들어야 합니다.
  &lt;/div&gt; 
  &lt;div&gt;
   &lt;b&gt;즉 useState는 단순 변수 저장이 아니라, 화면과 연결된 상태 값을 React 방식으로 관리하는 도구&lt;/b&gt;라고 보면 됩니다.
  &lt;/div&gt; 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div class=&quot;revenue_unit_wrap&quot;&gt; 
 &lt;div class=&quot;revenue_unit_item adsense&quot;&gt; 
  &lt;div class=&quot;revenue_unit_info&quot;&gt;
   728x90
  &lt;/div&gt; 
  &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt; 
  &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt; 
  &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt; 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  쉬운 정의
 &lt;/div&gt; 
 &lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;
  useState는 화면에 영향을 주는 값을 저장하고 바꾸는 Hook입니다.
 &lt;/div&gt; 
&lt;/div&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;일반 JavaScript 변수는 값이 바뀌어도 React 화면이 자동으로 다시 그려지지 않습니다. 반면 useState로 관리하는 값은 바뀌면 React가 다시 렌더링하면서 화면도 함께 업데이트됩니다.&lt;/p&gt;&lt;pre class=&quot;javascript&quot;&gt;&lt;code&gt;import { useState } from 'react';

function Counter() {
  const [count, setCount] = useState(0);

  return (
    &amp;lt;div&amp;gt;
      &amp;lt;p&amp;gt;{count}&amp;lt;/p&amp;gt;
      &amp;lt;button onClick={() =&amp;gt; setCount(count + 1)}&amp;gt;증가&amp;lt;/button&amp;gt;
    &amp;lt;/div&amp;gt;
  );
}
&lt;/code&gt;&lt;/pre&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 &lt;code&gt;count&lt;/code&gt;는 현재 상태 값이고, &lt;code&gt;setCount&lt;/code&gt;는 그 값을 바꾸는 함수입니다.&lt;/p&gt;&lt;blockquote data-ke-style=&quot;style1&quot;&gt;useState는 &lt;b&gt;화면과 연결된 값&lt;/b&gt;을 관리하고, setter 함수는 &lt;b&gt;그 값을 React 방식으로 바꾸는 통로&lt;/b&gt;입니다.&lt;/blockquote&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  일반 변수와 state는 무엇이 다를까?
 &lt;/div&gt; 
 &lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;
  입문자가 가장 먼저 구분해야 하는 핵심입니다.
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt; 
 &lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.8; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 32%; text-align: left; color: #1d4ed8;&quot;&gt;구분&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 68%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;차이&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;&lt;b&gt;일반 변수&lt;/b&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;값은 바뀔 수 있지만 화면 갱신과 직접 연결되지 않습니다.&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;state&lt;/b&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;값이 바뀌면 React가 다시 렌더링하면서 화면도 업데이트됩니다.&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;즉 useState를 쓰는 이유는 단순 저장이 아니라 &lt;b&gt;변화하는 값을 화면과 연결하기 위해서&lt;/b&gt;입니다.&lt;/p&gt;&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
  중요한 관점
 &lt;/div&gt; 
 &lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;
  React에서 값이 자주 바뀌고 그 값이 화면에 영향을 준다면, 일반 변수보다 &lt;b&gt;state로 관리해야 하는 경우가 많습니다.&lt;/b&gt;
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  값 변경은 어떻게 해야 할까?
 &lt;/div&gt; 
 &lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;
  숫자, 문자열, boolean 같은 기본 값은 비교적 단순합니다.
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 18px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
  1. 숫자 변경
 &lt;/div&gt; 
 &lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;
  카운터처럼 숫자를 증가/감소시키는 패턴입니다.
 &lt;/div&gt; 
&lt;/div&gt;&lt;pre class=&quot;javascript&quot;&gt;&lt;code&gt;const [count, setCount] = useState(0);

&amp;lt;button onClick={() =&amp;gt; setCount(count + 1)}&amp;gt;증가&amp;lt;/button&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;margin: 18px 0 18px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
  2. 문자열 변경
 &lt;/div&gt; 
 &lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;
  입력값이나 문구를 바꾸는 데 자주 씁니다.
 &lt;/div&gt; 
&lt;/div&gt;&lt;pre class=&quot;hsp&quot;&gt;&lt;code&gt;const [name, setName] = useState('Ace');

&amp;lt;button onClick={() =&amp;gt; setName('React')}&amp;gt;이름 변경&amp;lt;/button&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;margin: 18px 0 18px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
  3. boolean 토글
 &lt;/div&gt; 
 &lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;
  열림/닫힘, 로그인 여부, 체크 상태 같은 곳에서 자주 나옵니다.
 &lt;/div&gt; 
&lt;/div&gt;&lt;pre class=&quot;dart&quot;&gt;&lt;code&gt;const [isOpen, setIsOpen] = useState(false);

&amp;lt;button onClick={() =&amp;gt; setIsOpen(!isOpen)}&amp;gt;
  {isOpen ? '닫기' : '열기'}
&amp;lt;/button&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;div id=&quot;code_coupang_usestate_1&quot; data-ke-type=&quot;html&quot; data-source=&quot;&lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&lt;/script&gt;&quot;&gt; 
 &lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt; 
 &lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #818cf8; background: #f5f7ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(129,140,248,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  배열 업데이트는 어떻게 해야 할까?
 &lt;/div&gt; 
 &lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;
  배열은 직접 수정하지 않고 새 배열을 만들어 넣는 것이 핵심입니다.
 &lt;/div&gt; 
&lt;/div&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;배열 state를 다룰 때 가장 많이 하는 실수는 기존 배열을 직접 바꾸는 것입니다.&lt;/p&gt;&lt;pre class=&quot;prolog&quot;&gt;&lt;code&gt;const [todos, setTodos] = useState(['공부', '운동']);

// 좋은 방식
setTodos([...todos, '독서']);
&lt;/code&gt;&lt;/pre&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;자주 쓰는 패턴은 아래와 같습니다.&lt;/p&gt;&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt; 
 &lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.8; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 32%; text-align: left; color: #1d4ed8;&quot;&gt;상황&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 68%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;예시&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;추가&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;code&gt;setTodos([...todos, newTodo])&lt;/code&gt;&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;삭제&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;code&gt;setTodos(todos.filter(...))&lt;/code&gt;&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;수정&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;code&gt;setTodos(todos.map(...))&lt;/code&gt;&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt;&lt;pre class=&quot;reasonml&quot;&gt;&lt;code&gt;// 삭제
setTodos(todos.filter((todo) =&amp;gt; todo !== '운동'));

// 수정
setTodos(todos.map((todo) =&amp;gt;
  todo === '공부' ? 'React 공부' : todo
));
&lt;/code&gt;&lt;/pre&gt;&lt;blockquote data-ke-style=&quot;style1&quot;&gt;배열 state는 &lt;b&gt;기존 배열을 직접 바꾸지 말고, 새 배열을 만들어 교체&lt;/b&gt;하는 방식으로 다뤄야 합니다.&lt;/blockquote&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  자주 막히는 포인트 / 문제해결
 &lt;/div&gt; 
 &lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;
  배열과 객체는 직접 수정 금지 원칙만 잡아도 실수가 크게 줄어듭니다.
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 18px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
  문제 1. push 사용
 &lt;/div&gt; 
 &lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;
  기존 배열에 직접 push를 하면 React가 변경을 제대로 감지하지 못할 수 있습니다.
 &lt;/div&gt; 
&lt;/div&gt;&lt;pre class=&quot;less&quot;&gt;&lt;code&gt;// 피해야 할 방식
items.push('새 항목');
setItems(items);
&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;margin: 18px 0 18px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
  문제 2. 객체 속성 직접 변경
 &lt;/div&gt; 
 &lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;
  객체 state도 직접 수정하지 말고 spread 문법으로 새 객체를 만들어야 합니다.
 &lt;/div&gt; 
&lt;/div&gt;&lt;pre class=&quot;yaml&quot;&gt;&lt;code&gt;const [user, setUser] = useState({ name: 'Ace', age: 28 });

setUser({
  ...user,
  age: 29,
});
&lt;/code&gt;&lt;/pre&gt;&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(245,158,11,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #92400e; margin-bottom: 10px;&quot;&gt;
  설정/이해 체크리스트
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;state는 setter 함수로 바꿨는지 확인&lt;/li&gt; 
  &lt;li&gt;배열은 &lt;code&gt;map&lt;/code&gt;, &lt;code&gt;filter&lt;/code&gt;, spread 문법으로 새 배열을 만들었는지 확인&lt;/li&gt; 
  &lt;li&gt;객체는 &lt;code&gt;...기존객체&lt;/code&gt;로 복사 후 필요한 값만 바꿨는지 확인&lt;/li&gt; 
  &lt;li&gt;기존 값을 직접 수정하고 있지 않은지 확인&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div id=&quot;code_coupang_usestate_2&quot; data-ke-type=&quot;html&quot; data-source=&quot;&lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&lt;/script&gt;&quot;&gt; 
 &lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt; 
 &lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.07);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  객체 업데이트는 어떻게 해야 할까?
 &lt;/div&gt; 
 &lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;
  객체 state도 배열과 마찬가지로 직접 수정이 아니라 새 객체 생성이 핵심입니다.
 &lt;/div&gt; 
&lt;/div&gt;&lt;pre class=&quot;javascript&quot;&gt;&lt;code&gt;const [form, setForm] = useState({
  email: '',
  password: '',
});

const handleEmailChange = (e) =&amp;gt; {
  setForm({
    ...form,
    email: e.target.value,
  });
};
&lt;/code&gt;&lt;/pre&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;이 방식의 핵심은 기존 객체 전체를 복사한 뒤, 바꾸고 싶은 속성만 새 값으로 덮는 것입니다.&lt;br&gt;즉 객체 state를 다룰 때는 &lt;b&gt;일부만 바꾸는 것처럼 보여도 실제로는 새 객체를 만드는 것&lt;/b&gt;이라고 이해하면 됩니다.&lt;/p&gt;&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(239,68,68,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #7f1d1d; margin-bottom: 10px;&quot;&gt;
  초보자가 꼭 체크할 포인트
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;useState는 화면과 연결된 값을 관리하는 Hook입니다.&lt;/li&gt; 
  &lt;li&gt;값 변경은 setter 함수로 해야 합니다.&lt;/li&gt; 
  &lt;li&gt;배열과 객체는 직접 수정하지 말고 새 값으로 교체해야 합니다.&lt;/li&gt; 
  &lt;li&gt;React에서는 &quot;값을 수정&quot;보다 &quot;새 값을 만들어 교체&quot;한다는 감각이 중요합니다.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
  FAQ
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; useState 값은 왜 바로 안 바뀌는 것처럼 보이나요?&lt;br&gt;→ state 업데이트는 렌더링 흐름 안에서 반영되기 때문에, 호출 직후 바로 일반 변수처럼 바뀌는 감각과는 다르게 느껴질 수 있습니다.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 배열에 push를 쓰면 왜 안 좋나요?&lt;br&gt;→ push는 기존 배열 자체를 바꾸기 때문에 React가 변경을 감지하는 방식과 잘 맞지 않습니다. 새 배열을 만들어 넣는 편이 안전합니다.&lt;/li&gt; 
  &lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 객체 state를 일부만 바꾸고 싶은데 꼭 spread를 써야 하나요?&lt;br&gt;→ 대부분의 경우 기존 객체를 유지하면서 일부 속성만 바꾸기 위해 spread 문법을 자주 씁니다.&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  결론
 &lt;/div&gt; 
 &lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;
  useState는 문법보다 &quot;새 값으로 교체&quot;하는 사고방식을 익히는 것이 중요합니다.
 &lt;/div&gt; 
&lt;/div&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;React의 useState는 처음엔 단순한 Hook처럼 보이지만, 실제로는 React 상태 관리의 가장 기초를 이루는 개념입니다.&lt;/p&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;화면과 연결된 값을 관리하고&lt;/li&gt;&lt;li&gt;setter 함수로 새 값을 넣고&lt;/li&gt;&lt;li&gt;배열과 객체는 직접 수정하지 않고 새 값으로 교체한다&lt;/li&gt;&lt;/ul&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;이 흐름만 제대로 이해해도 React 입문 단계에서 가장 많이 하는 실수를 크게 줄일 수 있습니다.&lt;br&gt;특히 useState를 잘 쓰려면 문법보다 &lt;b&gt;&quot;이 값이 화면에 영향을 주는가?&quot;와 &quot;기존 값을 직접 바꾸지 않고 새 값으로 교체했는가?&quot;&lt;/b&gt;를 먼저 점검하는 습관이 중요합니다.&lt;/p&gt;&lt;blockquote data-ke-style=&quot;style1&quot;&gt;useState는 &lt;b&gt;값을 저장하는 Hook&lt;/b&gt;이 아니라, &lt;b&gt;화면과 연결된 상태를 React 방식으로 관리하는 Hook&lt;/b&gt;입니다.&lt;/blockquote&gt;&lt;div style=&quot;margin: 24px 0 0; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
  관련 글 링크
 &lt;/div&gt; 
 &lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
  &lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/what-is-react-features-benefits-guide&quot;&gt;React란 무엇인가? 특징, 장점, 사용하는 이유까지 쉽게 정리&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/react-useeffect-dependency-array-guide&quot;&gt;React useEffect 사용법 정리 | 실행 시점, 의존성 배열, API 호출까지&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/react-jsx-syntax-conditional-rendering-list-guide&quot;&gt;React JSX 문법 정리 | 기본 문법, 조건부 렌더링, 리스트 렌더링까지&lt;/a&gt;&lt;/li&gt; 
  &lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/react-project-structure-src-public-components-guide&quot;&gt;React 프로젝트 구조 정리 | src, public, components 폴더 역할 쉽게 이해하기&lt;/a&gt;&lt;/li&gt; 
 &lt;/ul&gt; 
&lt;/div&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;※ 이 글은 React useState를 처음 이해하기 위한 입문 가이드입니다. 실제 프로젝트에서는 여러 state 조합, derived state, 상태 분리 기준, 전역 상태 관리와의 연결까지 함께 보면 더 좋습니다.&lt;/p&gt;</description>
      <category>Front/React</category>
      <category>react</category>
      <category>react hook</category>
      <category>useState</category>
      <category>객체 업데이트</category>
      <category>리액트</category>
      <category>배열 업데이트</category>
      <category>상태 관리</category>
      <category>프론트엔드</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/105</guid>
      <comments>https://trace90.tistory.com/entry/react-usestate-state-update-array-object-guide#entry105comment</comments>
      <pubDate>Sat, 4 Apr 2026 08:20:51 +0900</pubDate>
    </item>
    <item>
      <title>React useEffect 사용법 정리 | 실행 시점, 의존성 배열, API 호출까지</title>
      <link>https://trace90.tistory.com/entry/react-useeffect-dependency-array-guide</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;React를 공부하다 보면 &lt;code&gt;useState&lt;/code&gt; 다음으로 가장 많이 막히는 Hook이 바로 &lt;b&gt;useEffect&lt;/b&gt;입니다. 문법 자체는 짧아 보이는데, 막상 써보면 &amp;ldquo;이게 왜 두 번 실행되지?&amp;rdquo;, &amp;ldquo;의존성 배열을 비우면 뭐가 달라지지?&amp;rdquo;, &amp;ldquo;API 호출은 어디에 넣어야 하지?&amp;rdquo; 같은 질문이 한꺼번에 생깁니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 입문자 입장에서는 아래 포인트에서 많이 헷갈립니다.&lt;/p&gt;
&lt;ul style=&quot;margin: 14px 0 22px; padding-left: 20px; line-height: 1.95; color: #334155;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;useEffect는 정확히 언제 실행되는가?&lt;/li&gt;
&lt;li&gt;의존성 배열은 왜 필요한가?&lt;/li&gt;
&lt;li&gt;빈 배열 &lt;code&gt;[]&lt;/code&gt;은 무슨 의미인가?&lt;/li&gt;
&lt;li&gt;무한 렌더링은 왜 생기고 어떻게 막아야 하는가?&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 글에서는 React 입문자가 가장 자주 찾는 &lt;b&gt;useEffect 사용법 정리&lt;/b&gt;를 기준으로, &lt;b&gt;실행 시점 &amp;rarr; 의존성 배열 &amp;rarr; API 호출 &amp;rarr; cleanup &amp;rarr; 자주 하는 실수&lt;/b&gt;까지 한 번에 정리하겠습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%); box-shadow: 0 10px 28px rgba(37,99,235,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;핵심 요약&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;useEffect&lt;/b&gt;는 렌더링 이후 실행해야 하는 작업을 처리하는 Hook입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;의존성 배열&lt;/b&gt;은 effect가 다시 실행될 조건을 정하는 역할을 합니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;가장 많이 쓰는 예&lt;/b&gt;는 API 호출, 이벤트 등록, 타이머 처리, 외부 상태 동기화입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;즉 useEffect는 화면을 그리는 Hook이 아니라, 렌더링 이후 필요한 부수 작업(side effect)을 관리하는 Hook&lt;/b&gt;이라고 보면 됩니다.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
&lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
&lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
&lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
&lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;쉬운 정의&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;useEffect는 렌더링이 끝난 뒤 실행해야 하는 작업을 넣는 곳입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;React 컴포넌트는 먼저 화면을 그립니다. 그런데 어떤 작업은 화면을 그리는 도중이 아니라, &lt;b&gt;화면이 그려진 다음&lt;/b&gt;에 실행해야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들면 아래 같은 것들입니다.&lt;/p&gt;
&lt;ul style=&quot;margin: 14px 0 22px; padding-left: 20px; line-height: 1.95; color: #334155;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서버에서 데이터 가져오기&lt;/li&gt;
&lt;li&gt;이벤트 리스너 등록하기&lt;/li&gt;
&lt;li&gt;setInterval 같은 타이머 시작하기&lt;/li&gt;
&lt;li&gt;props나 state 변화에 맞춰 외부 동작 연결하기&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 작업을 처리하는 대표적인 Hook이 useEffect입니다.&lt;/p&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;useEffect는 &lt;b&gt;렌더링 이후 필요한 부수 작업&lt;/b&gt;을 실행하는 Hook입니다.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 useEffect를 이해할 때는 &amp;ldquo;언제 화면이 바뀌는가?&amp;rdquo;보다 &lt;b&gt;&amp;ldquo;렌더링 후 어떤 작업을 연결해야 하는가?&amp;rdquo;&lt;/b&gt;로 보면 훨씬 쉽습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;useEffect 기본 문법과 실행 시점&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;의존성 배열을 어떻게 넣느냐에 따라 실행 시점이 달라집니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가장 기본적인 형태는 아래와 같습니다.&lt;/p&gt;
&lt;pre class=&quot;coffeescript&quot;&gt;&lt;code&gt;import { useEffect } from 'react';

useEffect(() =&amp;gt; {
  console.log('effect 실행');
}, []);
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;핵심은 두 번째 인자인 &lt;b&gt;의존성 배열&lt;/b&gt;입니다.&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.8; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 32%; text-align: left; color: #1d4ed8;&quot;&gt;형태&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 68%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;실행 시점&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;&lt;b&gt;useEffect(() =&amp;gt; { ... })&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;렌더링될 때마다 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;useEffect(() =&amp;gt; { ... }, [])&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;처음 마운트될 때 한 번 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;useEffect(() =&amp;gt; { ... }, [value])&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;value가 바뀔 때마다 실행&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;pre class=&quot;javascript&quot;&gt;&lt;code&gt;function Example({ userId }) {
  useEffect(() =&amp;gt; {
    console.log('처음 렌더링되거나 userId가 바뀔 때 실행');
  }, [userId]);

  return &amp;lt;div&amp;gt;예제&amp;lt;/div&amp;gt;;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;중요한 관점&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;useEffect는 &quot;언제 실행할지&quot;보다 &lt;b&gt;어떤 값이 바뀌었을 때 다시 실행할지&lt;/b&gt;를 기준으로 이해하는 편이 훨씬 쉽습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;의존성 배열은 왜 중요한가?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;useEffect를 어렵게 만드는 핵심이지만, 반대로 가장 중요한 기준이기도 합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;의존성 배열은 effect 안에서 사용하는 값 중 어떤 값이 바뀌면 다시 effect를 실행할지 정하는 역할을 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;쉽게 보면 이렇게 이해할 수 있습니다.&lt;/p&gt;
&lt;pre class=&quot;elm&quot;&gt;&lt;code&gt;렌더링 후 effect 실행
 &amp;darr;
배열 안 값 변화 감시
 &amp;darr;
값이 바뀌면 다시 실행
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 검색어가 바뀔 때마다 데이터를 다시 불러오고 싶다면 아래처럼 쓸 수 있습니다.&lt;/p&gt;
&lt;pre class=&quot;javascript&quot;&gt;&lt;code&gt;function SearchResult({ keyword }) {
  useEffect(() =&amp;gt; {
    console.log(`${keyword}로 다시 검색`);
  }, [keyword]);

  return &amp;lt;div&amp;gt;검색 결과&amp;lt;/div&amp;gt;;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 &lt;code&gt;keyword&lt;/code&gt;가 바뀌면 effect도 다시 실행됩니다.&lt;/p&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #0ea5e9; background: #ecfeff; color: #0f766e; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;의존성 배열은 &amp;ldquo;이 값이 바뀌면 effect를 다시 실행해라&amp;rdquo;라고 React에 알려주는 목록입니다.&lt;/blockquote&gt;
&lt;div id=&quot;code_coupang_useeffect_1&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #818cf8; background: #f5f7ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(129,140,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;useEffect는 어디에 많이 쓰일까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;실전에서는 데이터 처리와 외부 연결 작업에서 가장 자주 나옵니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대표적으로 많이 나오는 예시는 아래와 같습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 18px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;1. API 호출&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;컴포넌트가 처음 열릴 때 서버에서 데이터를 가져오는 패턴입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;pre class=&quot;javascript&quot;&gt;&lt;code&gt;import { useEffect, useState } from 'react';

function UserList() {
  const [users, setUsers] = useState([]);

  useEffect(() =&amp;gt; {
    fetch('/api/users')
      .then((res) =&amp;gt; res.json())
      .then((data) =&amp;gt; setUsers(data));
  }, []);

  return &amp;lt;div&amp;gt;{users.length}명&amp;lt;/div&amp;gt;;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 18px 0 18px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;2. 이벤트 리스너 등록&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;윈도우 resize, scroll 같은 외부 이벤트를 연결할 때 자주 씁니다.&lt;/div&gt;
&lt;/div&gt;
&lt;pre class=&quot;javascript&quot;&gt;&lt;code&gt;useEffect(() =&amp;gt; {
  const handleResize = () =&amp;gt; {
    console.log(window.innerWidth);
  };

  window.addEventListener('resize', handleResize);

  return () =&amp;gt; {
    window.removeEventListener('resize', handleResize);
  };
}, []);
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 18px 0 18px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;3. 타이머 / interval 처리&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;일정 시간마다 반복 실행해야 하는 로직도 useEffect 안에서 자주 처리합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;pre class=&quot;javascript&quot;&gt;&lt;code&gt;useEffect(() =&amp;gt; {
  const timer = setInterval(() =&amp;gt; {
    console.log('3초마다 실행');
  }, 3000);

  return () =&amp;gt; clearInterval(timer);
}, []);
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #fffbeb; box-shadow: 0 6px 18px rgba(245,158,11,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #92400e; margin-bottom: 10px;&quot;&gt;꼭 봐야 할 포인트&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #78350f;&quot;&gt;useEffect는 &lt;b&gt;화면 그리기 자체&lt;/b&gt;보다 &lt;b&gt;화면 바깥과 연결되는 작업&lt;/b&gt;에서 가장 많이 사용됩니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;자주 막히는 포인트 / 문제해결&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;useEffect는 개념보다 실수 패턴을 알면 훨씬 빨리 익힙니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 18px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;문제 1. 무한 렌더링&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;effect 안에서 state를 바꾸는데 의존성 배열을 잘못 잡으면 계속 다시 실행되는 문제가 생길 수 있습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;pre class=&quot;lisp&quot;&gt;&lt;code&gt;useEffect(() =&amp;gt; {
  setCount(count + 1);
}, [count]);
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 코드는 &lt;code&gt;count&lt;/code&gt;가 바뀔 때마다 effect가 다시 실행되고, 그 안에서 또 &lt;code&gt;setCount&lt;/code&gt;를 호출하므로 반복될 수 있습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 18px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;문제 2. 의존성 배열을 빼먹음&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;effect 안에서 쓰는 값을 배열에 넣지 않으면 예상과 다른 타이밍에 동작하거나 오래된 값을 참조할 수 있습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 18px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;문제 3. cleanup을 안 함&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;이벤트 리스너, interval, subscription 같은 작업은 effect가 끝날 때 정리(cleanup)해야 중복 등록이나 메모리 누수를 막을 수 있습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(245,158,11,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #92400e; margin-bottom: 10px;&quot;&gt;설정/이해 체크리스트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;effect가 언제 실행돼야 하는지 먼저 말로 설명할 수 있는지 확인&lt;/li&gt;
&lt;li&gt;effect 안에서 사용하는 값이 의존성 배열에 들어갔는지 확인&lt;/li&gt;
&lt;li&gt;이벤트 / 타이머 / 구독이 있다면 cleanup이 있는지 확인&lt;/li&gt;
&lt;li&gt;state 변경이 effect 재실행을 계속 유발하지 않는지 확인&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_useeffect_2&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;cleanup은 왜 중요한가?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;useEffect를 &quot;실행&quot;만 보지 말고 &quot;정리&quot;까지 같이 이해해야 합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;useEffect는 return 함수로 cleanup 로직을 넣을 수 있습니다.&lt;/p&gt;
&lt;pre class=&quot;javascript&quot;&gt;&lt;code&gt;useEffect(() =&amp;gt; {
  console.log('effect 시작');

  return () =&amp;gt; {
    console.log('이전 effect 정리');
  };
}, [value]);
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 cleanup은 보통 아래 상황에서 중요합니다.&lt;/p&gt;
&lt;ul style=&quot;margin: 14px 0 22px; padding-left: 20px; line-height: 1.95; color: #334155;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;컴포넌트가 사라질 때 정리해야 하는 이벤트&lt;/li&gt;
&lt;li&gt;반복 실행되는 interval 정리&lt;/li&gt;
&lt;li&gt;이전 요청/구독 상태 해제&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 useEffect는 단순히 &quot;실행&quot; Hook이 아니라, &lt;b&gt;시작과 정리를 같이 다루는 Hook&lt;/b&gt;으로 이해하는 편이 더 정확합니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(239,68,68,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #7f1d1d; margin-bottom: 10px;&quot;&gt;초보자가 꼭 체크할 포인트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;useEffect는 렌더링을 직접 만드는 Hook이 아니라 렌더링 이후 부수 작업을 처리하는 Hook입니다.&lt;/li&gt;
&lt;li&gt;의존성 배열은 다시 실행될 조건을 정하는 목록입니다.&lt;/li&gt;
&lt;li&gt;빈 배열은 보통 처음 한 번 실행하려는 의도에서 사용합니다.&lt;/li&gt;
&lt;li&gt;이벤트 리스너나 interval은 cleanup까지 같이 써야 안전합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;FAQ&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; useEffect는 왜 두 번 실행되는 것처럼 보이나요?&lt;br /&gt;&amp;rarr; 개발 환경과 Strict Mode 설정에 따라 effect가 한 번 더 확인용으로 실행되는 것처럼 보일 수 있습니다. 무조건 배포 환경 문제라고 보진 말고 실행 환경을 같이 확인해야 합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 의존성 배열에 무엇을 넣어야 하나요?&lt;br /&gt;&amp;rarr; effect 안에서 실제로 사용하는 값 중, 변경되면 다시 실행돼야 하는 값을 기준으로 생각하면 됩니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; API 호출은 무조건 useEffect에 넣어야 하나요?&lt;br /&gt;&amp;rarr; 전통적인 패턴에서는 자주 그렇게 처리하지만, 상황에 따라 데이터 패칭 라이브러리나 서버 컴포넌트 구조를 함께 고려할 수도 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;결론&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;useEffect는 실행 시점보다 의존성 기준으로 이해하면 훨씬 쉬워집니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;React의 useEffect는 처음 보면 어렵지만, 핵심은 의외로 단순합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;렌더링 이후 실행해야 하는 작업을 넣고&lt;/li&gt;
&lt;li&gt;어떤 값이 바뀌면 다시 실행할지 정하고&lt;/li&gt;
&lt;li&gt;필요하면 cleanup으로 정리한다&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 흐름만 잡히면 useEffect는 훨씬 덜 어렵게 느껴집니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 useEffect를 잘 쓰려면 문법 자체보다 &lt;b&gt;&quot;언제 실행돼야 하는가&quot;와 &quot;무엇이 바뀌면 다시 실행돼야 하는가&quot;&lt;/b&gt;를 먼저 말로 설명할 수 있어야 합니다.&lt;/p&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;useEffect는 &lt;b&gt;렌더링 이후 부수 작업을 관리하는 Hook&lt;/b&gt;이고, 의존성 배열은 &lt;b&gt;그 작업의 재실행 조건&lt;/b&gt;을 정하는 장치입니다.&lt;/blockquote&gt;
&lt;div style=&quot;margin: 24px 0 0; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;관련 글 링크&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/what-is-react-features-benefits-guide&quot;&gt;React란 무엇인가? 특징, 장점, 사용하는 이유까지 쉽게 정리&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/react-jsx-syntax-conditional-rendering-list-guide&quot;&gt;React JSX 문법 정리 | 기본 문법, 조건부 렌더링, 리스트 렌더링까지&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/react-router-basic-routing-navigation-guide&quot;&gt;React Router 사용법 | 페이지 이동, Link, 기본 라우팅 적용 방법&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/react-project-structure-src-public-components-guide&quot;&gt;React 프로젝트 구조 정리 | src, public, components 폴더 역할 쉽게 이해하기&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #6b7280; font-size: 14px; line-height: 1.7; margin-top: 24px;&quot; data-ke-size=&quot;size16&quot;&gt;※ 이 글은 React useEffect를 처음 이해하기 위한 입문 가이드입니다. 실제 프로젝트에서는 Strict Mode, 비동기 처리, 데이터 패칭 라이브러리, cleanup 전략까지 함께 보는 것이 좋습니다.&lt;/p&gt;</description>
      <category>Front/React</category>
      <category>react</category>
      <category>react hook</category>
      <category>useEffect</category>
      <category>데이터 요청</category>
      <category>리액트</category>
      <category>사이드 이펙트</category>
      <category>의존성 배열</category>
      <category>프론트엔드</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/104</guid>
      <comments>https://trace90.tistory.com/entry/react-useeffect-dependency-array-guide#entry104comment</comments>
      <pubDate>Fri, 3 Apr 2026 21:06:28 +0900</pubDate>
    </item>
    <item>
      <title>쿠버네티스(Kubernetes)란 무엇인가? | 왜 이렇게 많이 쓰는지 쉽게 정리</title>
      <link>https://trace90.tistory.com/entry/what-is-kubernetes-why-it-is-used-guide</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;개발이나 서버 운영 공부를 하다 보면 어느 순간 거의 반드시 만나게 되는 이름이 바로 &lt;b&gt;쿠버네티스(Kubernetes)&lt;/b&gt;입니다. Docker까진 이해했는데, 그다음부터는 &amp;ldquo;그래서 왜 쿠버네티스까지 써야 하지?&amp;rdquo;, &amp;ldquo;컨테이너 여러 개 띄우는 것과 뭐가 다른 거지?&amp;rdquo;에서 많이 막히게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 입문자 입장에서는 아래 질문이 한꺼번에 나옵니다.&lt;/p&gt;
&lt;ul style=&quot;margin: 14px 0 22px; padding-left: 20px; line-height: 1.95; color: #334155;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;쿠버네티스는 정확히 무엇인가?&lt;/li&gt;
&lt;li&gt;Docker만 있으면 되는 것 아닌가?&lt;/li&gt;
&lt;li&gt;왜 기업 서비스에서 쿠버네티스를 많이 쓰는가?&lt;/li&gt;
&lt;li&gt;Pod, Node, Deployment 같은 용어는 어떻게 이해해야 하는가?&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 글에서는 쿠버네티스를 처음 접하는 분 기준으로 &lt;b&gt;쉬운 정의 &amp;rarr; 왜 중요한가 &amp;rarr; 기본 구조 &amp;rarr; Docker와 차이 &amp;rarr; 어디서 많이 쓰이는지 &amp;rarr; 자주 헷갈리는 포인트&lt;/b&gt; 순서로 한 번에 정리하겠습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%); box-shadow: 0 10px 28px rgba(37,99,235,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;핵심 요약&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;쿠버네티스&lt;/b&gt;는 컨테이너를 여러 서버에서 자동으로 배치&amp;middot;관리&amp;middot;복구해주는 오케스트레이션 플랫폼입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Docker&lt;/b&gt;가 컨테이너를 만드는 도구에 가깝다면, &lt;b&gt;쿠버네티스&lt;/b&gt;는 그 컨테이너들을 실제 서비스 환경에서 운영하는 구조에 가깝습니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;핵심 가치&lt;/b&gt;는 자동 배포, 자동 복구, 확장성, 운영 표준화입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;즉 쿠버네티스는 컨테이너를 띄우는 기술이 아니라, 컨테이너 기반 서비스를 안정적으로 운영하기 위한 관리 체계&lt;/b&gt;라고 보면 됩니다.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
&lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
&lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
&lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
&lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;쉬운 정의&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;쿠버네티스는 컨테이너를 자동으로 배치하고 관리해주는 운영 플랫폼입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Docker로 애플리케이션을 컨테이너로 묶는 것까지는 비교적 이해하기 쉽습니다. 문제는 그다음입니다. 컨테이너가 여러 개가 되고, 서버도 여러 대가 되고, 배포도 자주 일어나고, 장애가 나면 자동으로 다시 띄워야 하는 상황이 오면 수작업만으로는 운영이 빠르게 복잡해집니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;바로 이 지점에서 쿠버네티스가 등장합니다.&lt;/p&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;쿠버네티스는 &lt;b&gt;컨테이너를 어디에 띄울지, 몇 개 띄울지, 죽으면 어떻게 다시 살릴지, 트래픽은 어떻게 나눌지&lt;/b&gt;를 자동으로 관리해주는 도구입니다.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;쉽게 말하면 Docker가 &amp;ldquo;컨테이너를 만드는 기술&amp;rdquo;에 가깝다면, 쿠버네티스는 &amp;ldquo;그 컨테이너들을 실제 서비스처럼 운영하는 시스템&amp;rdquo;에 가깝습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;왜 쿠버네티스가 중요한가?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;컨테이너 수가 늘어날수록 운영 자동화가 필요해집니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;작은 프로젝트에서는 컨테이너 몇 개를 직접 띄우고 재시작해도 큰 문제가 없습니다. 하지만 서비스 규모가 커지면 아래 문제들이 금방 생깁니다.&lt;/p&gt;
&lt;ul style=&quot;margin: 14px 0 22px; padding-left: 20px; line-height: 1.95; color: #334155;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서버가 여러 대일 때 어떤 서버에 컨테이너를 배치할지 결정해야 하고&lt;/li&gt;
&lt;li&gt;트래픽이 늘어나면 컨테이너 수를 빠르게 늘려야 하며&lt;/li&gt;
&lt;li&gt;하나가 죽었을 때 자동으로 다시 띄워야 하고&lt;/li&gt;
&lt;li&gt;배포 중에도 서비스가 끊기지 않도록 관리해야 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 운영 문제를 사람이 매번 수동으로 처리하면 실수와 장애 위험이 커집니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;중요한 관점&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;쿠버네티스가 많이 쓰이는 이유는 단순히 최신 기술이라서가 아니라, &lt;b&gt;여러 컨테이너와 여러 서버를 운영하는 복잡성을 표준화하고 자동화해주기 때문&lt;/b&gt;입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.8; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 30%; text-align: left; color: #1d4ed8;&quot;&gt;운영 상황&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 35%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;수작업 운영&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 35%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;쿠버네티스 기반 운영&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;컨테이너 배치&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;직접 서버 선택&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;스케줄러가 자동 배치&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;장애 복구&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;사람이 확인 후 재시작&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;자동 재시작/재생성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;확장&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;수동 증설&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;복제 수 기준 자동/반자동 확장&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;배포&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;중단 위험 높음&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;롤링 업데이트 같은 방식 활용 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_k8s_1&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;쿠버네티스 기본 구조는 어떻게 이해하면 쉬울까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;입문 단계에서는 Pod, Node, Deployment, Service 4개부터 잡으면 됩니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;쿠버네티스 용어가 어려워 보이는 이유는 처음부터 너무 많은 개념이 한꺼번에 나오기 때문입니다. 입문자는 아래 4개를 먼저 잡는 편이 가장 쉽습니다.&lt;/p&gt;
&lt;pre class=&quot;routeros&quot;&gt;&lt;code&gt;사용자 요청
 &amp;darr;
Service
 &amp;darr;
Pod(컨테이너 실행 단위)
 &amp;darr;
Node(서버)
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 18px 0 18px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;1. Pod&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;쿠버네티스에서 컨테이너를 실행하는 가장 작은 단위입니다. 보통 &quot;컨테이너를 직접 띄운다&quot;보다 &quot;Pod를 만든다&quot;는 감각으로 이해하면 쉽습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 18px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;2. Node&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;Pod가 실제로 올라가는 서버입니다. 물리 서버일 수도 있고 가상머신일 수도 있습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 18px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;3. Deployment&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;몇 개의 Pod를 유지할지, 업데이트는 어떻게 할지 같은 운영 규칙을 관리하는 객체입니다. 실무에서는 Pod를 직접 띄우기보다 Deployment로 관리하는 경우가 많습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 18px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;4. Service&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;바뀌는 Pod들을 안정적으로 묶어서 접근할 수 있게 해주는 네트워크 진입점입니다. Pod IP는 바뀔 수 있지만 Service를 두면 안정적인 접근 경로를 만들 수 있습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;한 줄 포인트&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;입문 단계에서는 &lt;b&gt;Pod = 실행 단위, Node = 서버, Deployment = 운영 규칙, Service = 접근 경로&lt;/b&gt;로 먼저 외우면 구조가 훨씬 쉽게 잡힙니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #818cf8; background: #f5f7ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(129,140,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;Docker와 쿠버네티스는 무엇이 다를까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;가장 많이 헷갈리는 비교 포인트입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.8; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 30%; text-align: left; color: #1d4ed8;&quot;&gt;비교 항목&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 35%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;Docker&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 35%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;Kubernetes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;역할&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;컨테이너 생성/실행&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;컨테이너 대규모 운영/관리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;강한 구간&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;개발, 테스트, 단일 실행&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;배포, 확장, 복구, 운영 자동화&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;장애 대응&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;직접 처리&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;자동 복구 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;확장&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;수동 위주&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;복제&amp;middot;오토스케일링 구조 활용 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 Docker와 Kubernetes는 경쟁 관계라기보다, 많이 붙어서 언급되지만 역할이 다른 도구라고 보는 편이 맞습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;자주 막히는 포인트 / 문제해결&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;개념 설명에서 끝내지 말고 초보자가 실제로 헷갈리는 지점을 정리합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;왜 Pod를 직접 만들지 않고 Deployment를 쓰는가?&lt;/b&gt;&lt;br /&gt;&amp;rarr; Pod는 죽으면 다시 만들어야 하는데, Deployment는 원하는 개수와 상태를 계속 유지하려고 하기 때문입니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;왜 Service가 필요한가?&lt;/b&gt;&lt;br /&gt;&amp;rarr; Pod는 교체되면서 IP가 바뀔 수 있으므로, 안정적인 접근 지점이 필요하기 때문입니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;왜 설정 파일(YAML)이 많이 나오는가?&lt;/b&gt;&lt;br /&gt;&amp;rarr; 쿠버네티스는 원하는 상태를 선언형으로 적고, 그 상태를 유지하도록 동작하는 시스템이기 때문입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(245,158,11,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #92400e; margin-bottom: 10px;&quot;&gt;설정/이해 체크리스트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Docker와 Kubernetes 역할 차이를 구분했는지 확인&lt;/li&gt;
&lt;li&gt;Pod, Node, Deployment, Service 개념을 먼저 잡았는지 확인&lt;/li&gt;
&lt;li&gt;쿠버네티스를 &quot;컨테이너 실행기&quot;가 아니라 &quot;컨테이너 운영 플랫폼&quot;으로 이해했는지 확인&lt;/li&gt;
&lt;li&gt;배포&amp;middot;확장&amp;middot;복구 자동화가 왜 중요한지 서비스 운영 관점에서 연결해봤는지 확인&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_k8s_2&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;왜 기업에서 쿠버네티스를 많이 쓸까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;결국 핵심은 운영 표준화와 확장성입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기업 서비스에서 쿠버네티스가 많이 언급되는 이유는 아래처럼 정리할 수 있습니다.&lt;/p&gt;
&lt;ul style=&quot;margin: 14px 0 22px; padding-left: 20px; line-height: 1.95; color: #334155;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스 규모가 커져도 운영 기준을 통일하기 쉽고&lt;/li&gt;
&lt;li&gt;배포와 롤백을 체계적으로 가져가기 좋으며&lt;/li&gt;
&lt;li&gt;클라우드 환경과도 잘 연결되고&lt;/li&gt;
&lt;li&gt;여러 팀이 함께 운영할 때 표준 플랫폼 역할을 하기 때문입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다만 여기서 중요한 점은 &lt;b&gt;모든 서비스가 무조건 쿠버네티스를 써야 하는 것은 아니라는 점&lt;/b&gt;입니다. 작은 서비스나 단순 구조에서는 Docker Compose나 단순 VM 배포가 더 현실적일 수도 있습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(239,68,68,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #7f1d1d; margin-bottom: 10px;&quot;&gt;초보자가 꼭 체크할 포인트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;쿠버네티스는 Docker를 대체하는 기술이 아니라 운영 범위를 확장하는 쪽에 가깝습니다.&lt;/li&gt;
&lt;li&gt;용어가 많아 보여도 Pod, Node, Deployment, Service부터 먼저 이해하면 됩니다.&lt;/li&gt;
&lt;li&gt;쿠버네티스를 배우는 이유는 명령어를 외우기보다 운영 자동화 구조를 이해하기 위해서입니다.&lt;/li&gt;
&lt;li&gt;작은 프로젝트에 바로 쿠버네티스를 강박적으로 넣기보다, 언제 필요한지 판단 기준을 같이 보는 것이 중요합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #8b5cf6; background: #faf5ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(139,92,246,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;조금 더 깊게 보면: 쿠버네티스는 결국 어떤 문제를 푸는가?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;심화 설명은 무겁지 않게, 왜 필요한지를 운영 문제 관점에서 이해하면 쉽습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;쿠버네티스가 푸는 문제를 한 문장으로 줄이면 이렇습니다. &lt;b&gt;&quot;컨테이너 기반 서비스를 여러 서버에서 안정적으로 계속 돌리는 문제&quot;&lt;/b&gt;입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예전에는 애플리케이션을 한 서버에 올리고 직접 관리하는 방식이 더 일반적이었습니다. 하지만 마이크로서비스, 클라우드, 컨테이너 환경이 확산되면서 서비스 하나가 여러 프로세스, 여러 컨테이너, 여러 서버로 나뉘는 일이 흔해졌습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이때 필요한 것은 단순 실행 명령어가 아니라, &lt;b&gt;배포 상태를 원하는 형태로 계속 유지하는 운영 시스템&lt;/b&gt;입니다. 쿠버네티스는 바로 그 역할을 합니다.&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #06b6d4; background: #ecfeff; border-radius: 14px; box-shadow: 0 6px 18px rgba(6,182,212,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;현실적으로는 어떻게 이해하면 좋을까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;실무 포인트는 짧고 분명하게 정리합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Docker는 먼저 배우고, Kubernetes는 그다음에 배우는 흐름이 자연스럽습니다.&lt;/li&gt;
&lt;li&gt;쿠버네티스는 개념을 처음 보면 어렵지만, &quot;운영 자동화 문제를 푸는 도구&quot;라고 생각하면 훨씬 이해가 쉽습니다.&lt;/li&gt;
&lt;li&gt;실무에서는 단순 명령어보다 배포 구조, 장애 대응, 서비스 연결, 설정 관리 관점이 더 중요합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;자주 나오는 질문&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 쿠버네티스는 Docker 없이 못 쓰나요?&lt;br /&gt;&amp;rarr; 현재는 컨테이너 런타임 구조가 조금 더 다양해졌지만, 학습 관점에서는 Docker/컨테이너 개념을 먼저 이해하는 편이 훨씬 쉽습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 작은 프로젝트도 쿠버네티스를 써야 하나요?&lt;br /&gt;&amp;rarr; 꼭 그렇진 않습니다. 규모와 운영 복잡도에 따라 더 단순한 배포 방식이 맞을 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 쿠버네티스 공부를 시작할 때 무엇부터 보면 좋나요?&lt;br /&gt;&amp;rarr; Pod, Deployment, Service, Ingress 같은 기본 객체와, 왜 자동 복구/확장이 필요한지부터 보는 것이 좋습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;결론 | 쿠버네티스는 컨테이너 시대의 운영 플랫폼&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;마지막에 독자가 무엇을 기억해야 하는지 정리합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;쿠버네티스는 단순히 유명한 DevOps 도구가 아니라, 컨테이너 기반 서비스를 실제 운영 환경에서 안정적으로 돌리기 위한 표준 플랫폼에 가깝습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;컨테이너를 자동으로 배치하고&lt;/li&gt;
&lt;li&gt;장애가 나면 다시 복구하고&lt;/li&gt;
&lt;li&gt;배포와 확장을 체계적으로 관리하고&lt;/li&gt;
&lt;li&gt;여러 서버 환경을 일관되게 운영하게 해줍니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 쿠버네티스를 이해한다는 것은 단순히 새로운 기술 이름을 아는 것이 아니라, &lt;b&gt;현대 서비스가 어떻게 배포되고 운영되는지의 큰 구조를 이해하는 것&lt;/b&gt;과 연결됩니다.&lt;/p&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;쿠버네티스는 &quot;컨테이너를 많이 띄우는 기술&quot;이 아니라, &lt;b&gt;컨테이너 기반 서비스를 자동으로 운영하게 해주는 관리 플랫폼&lt;/b&gt;입니다.&lt;/blockquote&gt;
&lt;div style=&quot;margin: 24px 0 0; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;관련 글 링크&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/what-is-docker-container-guide&quot;&gt;Docker란 무엇인가? | 컨테이너 개념을 초보도 쉽게 이해하기&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/what-is-nginx-reverse-proxy-load-balancing-guide&quot;&gt;Nginx란 무엇인가? 리버스 프록시와 로드밸런싱 개념 쉽게 이해하기&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/what-is-load-balancer-l4-l7-guide&quot;&gt;로드밸런서란 무엇인가? | L4, L7 차이까지 쉽게 정리&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/what-is-ci-cd-deployment-automation-guide&quot;&gt;CI/CD란 무엇인가? | 배포 자동화를 쉽게 이해하기&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #6b7280; font-size: 14px; line-height: 1.7; margin-top: 24px;&quot; data-ke-size=&quot;size16&quot;&gt;※ 이 글은 쿠버네티스 개념을 처음 이해하기 위한 입문 가이드입니다. 실제 운영 환경에서는 클러스터 구성, Ingress, ConfigMap, Secret, Helm, 모니터링 등 더 많은 요소를 함께 봐야 합니다.&lt;/p&gt;</description>
      <category>IT/DevOps&amp;middot;Infra</category>
      <category>DevOps</category>
      <category>Docker</category>
      <category>kubernetes</category>
      <category>POD</category>
      <category>배포 자동화</category>
      <category>컨테이너 오케스트레이션</category>
      <category>쿠버네티스</category>
      <category>클러스터</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/103</guid>
      <comments>https://trace90.tistory.com/entry/what-is-kubernetes-why-it-is-used-guide#entry103comment</comments>
      <pubDate>Fri, 3 Apr 2026 18:30:36 +0900</pubDate>
    </item>
    <item>
      <title>React 리눅스 서버 배포 방법 | build 파일 업로드부터 실제 서비스 적용까지</title>
      <link>https://trace90.tistory.com/entry/react-linux-server-deployment-guide</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;React 프로젝트를 어느 정도 만들고 나면 그다음부터 막히는 건 코드보다 배포입니다. 로컬에서는 잘 돌아가는데, 막상 리눅스 서버에 올리려 하면 &lt;b&gt;build 파일은 어디에 올려야 하는지&lt;/b&gt;, &lt;b&gt;정적 파일은 어떻게 서비스해야 하는지&lt;/b&gt;, &lt;b&gt;새로고침했을 때 404는 왜 나는지&lt;/b&gt; 같은 문제가 한꺼번에 생기기 때문입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음 배포를 할 때는 &amp;ldquo;그냥 build 폴더만 업로드하면 끝나는 거 아닌가?&amp;rdquo; 싶지만, 실제로는 그 뒤에 한 번 더 봐야 할 부분이 있습니다. 서버에 파일을 어디에 둘지, 웹서버가 어느 경로를 바라보게 할지, React Router를 쓰고 있다면 새로고침 이슈는 어떻게 처리할지까지 같이 맞춰야 실제 서비스처럼 보입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 이 글에서는 어렵게 이론부터 길게 설명하지 않고, &lt;b&gt;React 프로젝트를 build하고, 리눅스 서버에 올리고, Nginx로 실제 서비스하는 흐름&lt;/b&gt;을 처음 하는 사람도 따라가기 쉽게 정리해보겠습니다. 중간에 자주 막히는 포인트도 같이 짚겠습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%); box-shadow: 0 10px 28px rgba(37,99,235,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;핵심 요약&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;React 배포&lt;/b&gt;는 개발 서버를 올리는 게 아니라 build 결과물을 서버에서 정적 파일로 서비스하는 과정입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;핵심 흐름&lt;/b&gt;은 build 생성 &amp;rarr; 서버 업로드 &amp;rarr; 웹서버 경로 연결 &amp;rarr; 접속 확인입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;가장 많이 막히는 지점&lt;/b&gt;은 파일 위치, Nginx 설정, React Router 새로고침 404 처리입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;즉 React 배포는 build 폴더만 만드는 게 아니라, 서버에서 실제로 열리게 연결하는 작업까지 포함됩니다.&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
&lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
&lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
&lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
&lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;쉬운 정의&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;React를 서버에 배포한다는 건 build 결과물을 웹에서 열리게 만드는 과정입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;많이 헷갈리는 부분부터 먼저 정리하면, React 프로젝트를 리눅스 서버에 배포할 때 Node.js로 개발 서버를 그대로 띄우는 게 핵심은 아닙니다. 보통은 &lt;b&gt;&lt;code&gt;npm run build&lt;/code&gt;로 만든 정적 파일 묶음&lt;/b&gt;을 서버에 올리고, 그 파일을 Nginx 같은 웹서버가 읽어서 브라우저에 내려주는 방식으로 운영합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 배포 흐름을 아주 단순하게 보면 이렇게 이해하시면 됩니다.&lt;/p&gt;
&lt;pre class=&quot;armasm&quot;&gt;&lt;code&gt;React 프로젝트 개발 완료
   &amp;darr;
npm run build
   &amp;darr;
build 폴더 생성
   &amp;darr;
리눅스 서버 업로드
   &amp;darr;
Nginx가 build 파일 서비스
   &amp;darr;
브라우저 접속 확인
&lt;/code&gt;&lt;/pre&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;React 배포는 &amp;ldquo;React 앱을 실행한다&amp;rdquo;보다 &amp;ldquo;build된 정적 파일을 서버에서 열리게 만든다&amp;rdquo;라고 생각하면 훨씬 이해가 쉽습니다.&lt;/blockquote&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;비교/구조&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;개발 환경과 운영 배포 환경은 목적이 다릅니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.8; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 26%; text-align: left; color: #1d4ed8;&quot;&gt;비교 항목&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 37%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;개발 환경&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 37%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;운영 배포 환경&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;목적&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;빠른 개발, HMR, 디버깅&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;실제 사용자 서비스&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;실행 방식&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;npm run dev / npm start&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;build 결과물을 정적 파일로 서비스&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;주요 구성&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;로컬 개발 서버&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;Nginx, 정적 파일 경로, 도메인/포트&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;자주 막히는 점&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;환경변수, API 연결&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;404, 경로 문제, Nginx 설정, 새로고침 이슈&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;배포 전체 구조&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.9; color: #334155;&quot;&gt;로컬에서 만든 React 앱은 build를 거치면 HTML, CSS, JS 파일 묶음으로 바뀝니다. 이 파일들을 서버에 올리고, Nginx가 그 폴더를 웹 루트로 바라보게 하면 사용자는 브라우저에서 React 앱에 접속할 수 있습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;예시&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;실제로 따라갈 수 있게 build &amp;rarr; 업로드 &amp;rarr; 서비스 흐름으로 보겠습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. build 파일 만들기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;배포 전에 먼저 로컬 또는 빌드 서버에서 React 프로젝트를 build해야 합니다.&lt;/p&gt;
&lt;pre class=&quot;coffeescript&quot;&gt;&lt;code&gt;npm install
npm run build
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보통 build가 끝나면 &lt;code&gt;build/&lt;/code&gt; 폴더가 생성됩니다. 이 폴더 안에는 배포에 필요한 정적 파일이 들어 있습니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 리눅스 서버로 업로드하기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 생성된 build 폴더를 서버로 올립니다. 예를 들어 &lt;code&gt;/var/www/react-app&lt;/code&gt; 같은 디렉터리를 만들고 그 안에 build 결과물을 복사할 수 있습니다.&lt;/p&gt;
&lt;pre class=&quot;elixir&quot;&gt;&lt;code&gt;scp -r build/* user@server:/var/www/react-app/
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;혹은 &lt;code&gt;rsync&lt;/code&gt;를 쓰면 변경 파일만 반영하기 쉬워서 운영할 때 더 편합니다.&lt;/p&gt;
&lt;pre class=&quot;elixir&quot;&gt;&lt;code&gt;rsync -avz --delete build/ user@server:/var/www/react-app/
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. Nginx에서 정적 파일 서비스하기&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Nginx는 React 앱 자체를 &amp;ldquo;실행&amp;rdquo;하는 것이 아니라, 업로드된 build 파일을 사용자에게 보여주는 역할을 합니다.&lt;/p&gt;
&lt;pre class=&quot;nginx&quot;&gt;&lt;code&gt;server {
    listen 80;
    server_name example.com;

    root /var/www/react-app;
    index index.html;

    location / {
        try_files $uri $uri/ /index.html;
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 중요한 건 &lt;code&gt;try_files&lt;/code&gt; 설정입니다. React Router를 쓰는 프로젝트는 &lt;code&gt;/about&lt;/code&gt;, &lt;code&gt;/profile&lt;/code&gt; 같은 경로를 직접 새로고침하면 서버는 실제 파일을 찾으려다가 404를 낼 수 있는데, &lt;code&gt;index.html&lt;/code&gt;로 다시 넘겨줘야 정상적으로 열립니다.&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;자주 막히는 포인트 / 문제해결&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;실제 배포는 build보다 그다음 설정에서 더 많이 막힙니다.&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;문제 1. 첫 화면은 열리는데 새로고침하면 404가 나는 경우&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이건 React Router를 쓰는 프로젝트에서 정말 자주 나오는 문제입니다. 브라우저는 &lt;code&gt;/users&lt;/code&gt; 같은 경로로 접근했는데, 서버는 그 경로에 실제 파일이 없다고 판단해 404를 내는 겁니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이럴 때는 Nginx에서 아래 설정이 필요합니다.&lt;/p&gt;
&lt;pre class=&quot;nginx&quot;&gt;&lt;code&gt;location / {
    try_files $uri $uri/ /index.html;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;문제 2. build 파일을 올렸는데 예전 화면이 계속 보이는 경우&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이럴 때는 서버에 파일이 제대로 덮어써졌는지, 브라우저 캐시가 남아 있는지, Nginx가 다른 경로를 보고 있지는 않은지 같이 확인해야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 &lt;code&gt;root&lt;/code&gt; 경로가 실제 업로드 경로와 다르면 배포를 여러 번 해도 화면이 안 바뀝니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;문제 3. API 호출만 실패하는 경우&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프론트 배포는 됐는데 API만 실패한다면 보통은 React 문제가 아니라 환경변수, API 서버 주소, 프록시, CORS 쪽을 같이 봐야 합니다. 즉 화면이 떴다고 배포가 완전히 끝난 건 아니라는 뜻입니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(245,158,11,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #92400e; margin-bottom: 10px;&quot;&gt;설정/확인 체크리스트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;`npm run build`가 정상 완료됐는지 확인&lt;/li&gt;
&lt;li&gt;서버 업로드 경로와 Nginx `root` 경로가 일치하는지 확인&lt;/li&gt;
&lt;li&gt;`try_files $uri $uri/ /index.html;` 설정이 들어갔는지 확인&lt;/li&gt;
&lt;li&gt;정적 파일 권한이 웹서버가 읽을 수 있는 상태인지 확인&lt;/li&gt;
&lt;li&gt;배포 후 브라우저 새로고침 / 직접 URL 접근 / API 요청까지 같이 점검&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;실무 포인트&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;배포를 한 번 성공시키는 것보다, 다음 배포를 쉽게 만드는 게 더 중요합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;build 후 수동 업로드가 가능하더라도, 파일 덮어쓰기 방식을 미리 정리해두면 다음 배포가 훨씬 편합니다.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;scp&lt;/code&gt;보다 &lt;code&gt;rsync --delete&lt;/code&gt;를 선호하는 경우가 많은 이유도 불필요한 이전 파일을 같이 정리하기 쉽기 때문입니다.&lt;/li&gt;
&lt;li&gt;React Router를 쓰는 프로젝트라면 &lt;code&gt;try_files&lt;/code&gt; 설정은 거의 필수라고 봐도 됩니다.&lt;/li&gt;
&lt;li&gt;운영 중에는 &amp;ldquo;화면이 뜬다&amp;rdquo;에서 끝내지 말고, 정적 파일 캐시&amp;middot;API 연결&amp;middot;새로고침까지 같이 확인해야 실제 배포가 끝납니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(239,68,68,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #7f1d1d; margin-bottom: 10px;&quot;&gt;초보자가 꼭 체크할 포인트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;React 배포는 개발 서버를 띄우는 것과 다르고, build 결과물을 서비스하는 과정입니다.&lt;/li&gt;
&lt;li&gt;build 폴더를 올린 뒤 Nginx가 그 경로를 바라보게 해야 브라우저에서 열립니다.&lt;/li&gt;
&lt;li&gt;새로고침 404는 React Router 프로젝트에서 아주 흔한 문제입니다.&lt;/li&gt;
&lt;li&gt;배포 후에는 화면뿐 아니라 API, 라우팅, 캐시까지 같이 확인해야 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 24px 0 18px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;빠른 체크리스트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;npm run build&lt;/code&gt; 성공 여부 확인&lt;/li&gt;
&lt;li&gt;업로드 경로와 Nginx &lt;code&gt;root&lt;/code&gt; 경로 일치 여부 확인&lt;/li&gt;
&lt;li&gt;&lt;code&gt;try_files $uri $uri/ /index.html;&lt;/code&gt; 설정 여부 확인&lt;/li&gt;
&lt;li&gt;새로고침 / 직접 URL 접근 / API 호출까지 점검했는지 확인&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;FAQ&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; React 배포할 때 꼭 Nginx가 있어야 하나요?&lt;br /&gt;&amp;rarr; 꼭 Nginx만 써야 하는 건 아닙니다. 다만 리눅스 서버에서 정적 파일을 안정적으로 서비스할 때 많이 쓰는 방식이라, 실제 배포 흐름을 설명할 때 함께 보는 경우가 많습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; build 폴더만 서버에 올리면 끝인가요?&lt;br /&gt;&amp;rarr; 거의 맞지만, 정확히는 그다음 단계까지 봐야 합니다. 업로드한 경로를 웹서버가 제대로 바라보는지, 새로고침 시 404가 나지 않는지까지 확인해야 실제 서비스가 됩니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; React Router를 안 쓰면 `try_files` 설정이 필요 없나요?&lt;br /&gt;&amp;rarr; 라우팅 구조에 따라 다르지만, SPA 방식으로 여러 경로를 브라우저에서 직접 여는 구조라면 필요할 가능성이 큽니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;결론&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;React 배포는 build 생성, 서버 업로드, Nginx 연결, 새로고침 점검까지 한 흐름으로 봐야 합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음에는 React 배포가 복잡해 보여도, 실제로는 흐름이 정해져 있습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;build 만들기&lt;/li&gt;
&lt;li&gt;서버에 올리기&lt;/li&gt;
&lt;li&gt;Nginx가 파일을 바라보게 하기&lt;/li&gt;
&lt;li&gt;새로고침/직접 URL 접근 확인하기&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 순서만 잡히면 처음 배포도 생각보다 어렵지 않습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 리눅스 서버에서 React를 운영할 때는 &amp;ldquo;파일을 올렸다&amp;rdquo;에서 끝내지 말고, &lt;b&gt;웹서버 설정과 라우팅 동작까지 같이 확인하는 것&lt;/b&gt;이 정말 중요합니다. 여기까지 맞아야 실제 서비스라고 볼 수 있습니다.&lt;/p&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;React를 리눅스 서버에 배포할 때는 build 파일을 올리는 것에서 끝나는 게 아니라, Nginx가 그 파일을 제대로 서비스하고 라우팅까지 정상 동작하는지 확인해야 합니다.&lt;/blockquote&gt;
&lt;div style=&quot;margin: 24px 0 0; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;관련 글 링크&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/react-development-environment-setup-guide&quot;&gt;React 설치 및 개발환경 세팅 방법 | Node.js 설치부터 프로젝트 생성까지&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/react-project-structure-src-public-components-guide&quot;&gt;React 프로젝트 구조 정리 | src, public, components 폴더 역할 쉽게 이해하기&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/react-router-basic-routing-navigation-guide&quot;&gt;React Router 사용법 | 페이지 이동, Link, 기본 라우팅 적용 방법&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #6b7280; font-size: 14px; line-height: 1.7; margin-top: 24px;&quot; data-ke-size=&quot;size16&quot;&gt;※ 이 글은 React 정적 파일 배포 흐름을 쉽게 이해하기 위한 입문형 배포 가이드입니다. 실제 운영 환경에서는 HTTPS, 캐시 정책, 도메인 설정, CI/CD 자동 배포까지 함께 고려하면 더 안정적으로 운영할 수 있습니다.&lt;/p&gt;</description>
      <category>Front/React</category>
      <category>build 파일</category>
      <category>nginx</category>
      <category>react</category>
      <category>React Router</category>
      <category>React 배포</category>
      <category>리눅스 서버</category>
      <category>정적 파일 배포</category>
      <category>프론트엔드 배포</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/102</guid>
      <comments>https://trace90.tistory.com/entry/react-linux-server-deployment-guide#entry102comment</comments>
      <pubDate>Fri, 3 Apr 2026 14:00:26 +0900</pubDate>
    </item>
    <item>
      <title>중개형 ISA에서 살 수 있는 미국 ETF 추천 | 안전형&amp;middot;성장형&amp;middot;배당형 대표 상품 정리</title>
      <link>https://trace90.tistory.com/entry/intermediary-isa-us-etf-recommendation-guide</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;중개형 ISA로 미국 ETF 투자를 해보려 하면 생각보다 첫 단계에서 바로 막히는 경우가 많습니다. &lt;b&gt;&amp;ldquo;이거 미국 ETF 직접 살 수 있는 거야?&amp;rdquo;&lt;/b&gt;, &lt;b&gt;&amp;ldquo;된다면 뭘 먼저 봐야 해?&amp;rdquo;&lt;/b&gt; 같은 질문이 한꺼번에 나오기 때문입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 먼저 정리하고 가면 좋은 포인트가 하나 있습니다. &lt;b&gt;중개형 ISA에서는 미국 증시에 직접 상장된 ETF를 그대로 사는 방식보다&lt;/b&gt;, &lt;b&gt;국내 증시에 상장된 미국 지수&amp;middot;미국 자산 추종 ETF를 활용하는 흐름&lt;/b&gt;으로 보는 쪽이 더 현실적입니다. 그래서 이 글도 &amp;ldquo;미국 ETF는 다 가능하다&amp;rdquo;처럼 넓게 말하지 않고, &lt;b&gt;중개형 ISA 안에서 실제로 많이 검토되는 국내 상장 미국 투자형 ETF&lt;/b&gt;만 기준으로 정리하겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 글에서 보실 건 단순한 상품 목록이 아닙니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 유형으로 나눠서 봐야 하는지&lt;/li&gt;
&lt;li&gt;내 투자 목적과 더 잘 맞는 쪽이 무엇인지&lt;/li&gt;
&lt;li&gt;안전형 / 성장형 / 배당형을 어떤 기준으로 고르면 되는지 이 흐름이 한 번에 잡히도록 정리해보겠습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #fefce8 100%); box-shadow: 0 10px 28px rgba(245,158,11,0.08);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;핵심 요약&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;중개형 ISA&lt;/b&gt;에서는 미국 증시 상장 ETF 직접 매수보다 국내 상장 미국 투자 ETF 접근이 일반적입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;성장형&lt;/b&gt;은 S&amp;amp;P500&amp;middot;나스닥100 계열, &lt;b&gt;배당형&lt;/b&gt;은 미국 배당주 추종 ETF, &lt;b&gt;안전형&lt;/b&gt;은 미국채 중심으로 보는 것이 이해하기 쉽습니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;선택 핵심&lt;/b&gt;은 수익 기대보다 먼저 투자 기간, 변동성 허용 범위, 현금흐름 필요 여부를 보는 것입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;즉 중개형 ISA에서는 &amp;ldquo;미국 ETF 직접 매수&amp;rdquo;보다 &amp;ldquo;국내 상장 미국 투자 ETF를 어떤 유형으로 고를지&amp;rdquo;가 더 중요합니다.&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
&lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
&lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
&lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
&lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;먼저 결론&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;바쁜 독자가 가장 먼저 가져가야 할 판단 기준&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;중개형 ISA에서 미국 투자 ETF를 고를 때는 너무 어렵게 볼 필요 없습니다. 먼저 내 목적부터 나누면 훨씬 쉬워집니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(245,158,11,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #92400e; margin-bottom: 10px;&quot;&gt;이런 사람에게 맞습니다&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;안전형&lt;/b&gt; &amp;rarr; 원금 변동성이 너무 큰 상품이 부담스럽고, 미국채 중심으로 안정성을 보고 싶은 사람&lt;/li&gt;
&lt;li&gt;&lt;b&gt;성장형&lt;/b&gt; &amp;rarr; 장기 투자 관점에서 미국 대표 지수 성장을 가져가고 싶은 사람&lt;/li&gt;
&lt;li&gt;&lt;b&gt;배당형&lt;/b&gt; &amp;rarr; 현금흐름, 배당 성향, 상대적으로 덜 흔들리는 배당주 스타일을 선호하는 사람&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아주 간단하게 정리하면 이렇습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;처음 시작&lt;/b&gt;이라면 보통 성장형부터 많이 봅니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;가격 흔들림이 부담&lt;/b&gt;되면 안전형을 같이 보는 편이 낫습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;배당 선호&lt;/b&gt;가 분명하면 배당형을 따로 비교해보는 쪽이 더 잘 맞습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;비교&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;유형별로 무엇이 다른지 한눈에 보는 구간&lt;/div&gt;
&lt;/div&gt;
&lt;p style=&quot;margin: 12px 0 18px; color: #475467; font-size: 15px; line-height: 1.9;&quot; data-ke-size=&quot;size16&quot;&gt;여기서 말하는 &amp;ldquo;미국 ETF&amp;rdquo;는 &lt;b&gt;중개형 ISA 안에서 매수 가능한 국내 상장 미국 투자형 ETF&lt;/b&gt;를 뜻합니다. 즉 미국 증시에 직접 상장된 ETF 원종목을 그대로 사는 것과는 구분해서 봐야 하고, 최종 매수 전에는 본인 증권사 앱에서 실제 주문 가능 종목을 다시 확인하는 편이 좋습니다.&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.8; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 20%; text-align: left; color: #1d4ed8;&quot;&gt;유형&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;대표 예시&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 27%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;장점&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 25%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;주의점&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;안전형&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;미국채 10년&amp;middot;30년 중심 국내 상장 ETF&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;주식형보다 변동성이 낮은 편, 방어 역할 기대&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;금리 방향에 민감, 수익 기대는 낮을 수 있음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;성장형&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;미국 S&amp;amp;P500, 미국 나스닥100 추종 국내 상장 ETF&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;장기 성장 기대, 가장 대중적인 선택지&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;하락 구간 변동성 큼, 단기 타이밍 접근은 부담&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;배당형&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;미국 배당주 / 배당성장주 추종 국내 상장 ETF&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;배당 성향, 상대적 안정감, 현금흐름 선호 투자자에게 적합&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;성장주 강세장에서는 수익률이 덜 강할 수 있음&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;대표 상품 예시&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;성장형&lt;/b&gt;: TIGER 미국S&amp;amp;P500, ACE 미국S&amp;amp;P500, TIGER 미국나스닥100, ACE 미국나스닥100&lt;/li&gt;
&lt;li&gt;&lt;b&gt;배당형&lt;/b&gt;: TIGER 미국배당다우존스, SOL 미국배당다우존스&lt;/li&gt;
&lt;li&gt;&lt;b&gt;안전형&lt;/b&gt;: 미국채 10년&amp;middot;30년 중심 국내 상장 채권 ETF 계열&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;판단 기준&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;내 상황에서 무엇을 우선 봐야 하는지 정리&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 길게 가져갈 생각이라면 성장형부터 보는 경우가 많습니다&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;중개형 ISA를 장기 절세 계좌처럼 활용할 생각이라면, 많은 투자자가 가장 먼저 보는 건 성장형입니다. 미국 대표 지수인 S&amp;amp;P500이나 나스닥100 추종 ETF는 장기 투자 관점에서 가장 익숙하고 대중적인 선택지이기 때문입니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;5년 이상 길게 볼 수 있는가&lt;/li&gt;
&lt;li&gt;중간 조정 구간을 버틸 수 있는가&lt;/li&gt;
&lt;li&gt;월별 가격 변동보다 장기 누적 수익을 더 중요하게 보는가&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 질문에 가깝다면 성장형 쪽이 더 자연스럽습니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 가격이 크게 흔들리는 게 부담되면 안전형을 함께 보세요&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;주식형만 들고 가기 부담스럽다면 미국채 추종 ETF를 같이 보는 방법이 있습니다. 이 유형은 수익률이 크게 튀는 걸 기대하기보다, 전체 포트폴리오의 흔들림을 조금 줄이는 역할에 더 가깝습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다만 &amp;ldquo;안전형 = 무조건 수익 손실이 없다&amp;rdquo;는 의미는 아닙니다. 채권 ETF도 금리 환경에 따라 가격 변동이 생길 수 있으므로, 변동성이 아예 없는 상품처럼 이해하면 안 됩니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. 배당이 꾸준히 들어오는 흐름이 좋다면 배당형이 더 잘 맞을 수 있습니다&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;배당형은 미국 배당주 또는 배당성장주 중심 ETF를 말합니다. 배당을 꾸준히 주는 기업 중심으로 구성되기 때문에, 성장주보다 조금 더 편하게 느끼는 투자자도 많습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대표적으로 미국 배당다우존스 계열을 추종하는 국내 상장 ETF가 자주 거론됩니다. 다만 배당형도 결국 주식형이기 때문에 하락장에서 안 흔들리는 상품으로 이해하면 안 되고, 성장형과 성격이 다르다고 보는 쪽이 맞습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;상황별 선택 가이드&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장기 성장 우선 &amp;rarr; 미국 S&amp;amp;P500 / 나스닥100 계열부터 검토&lt;/li&gt;
&lt;li&gt;변동성 부담 완화 &amp;rarr; 미국채 ETF 일부 병행 검토&lt;/li&gt;
&lt;li&gt;배당 선호 / 현금흐름 중시 &amp;rarr; 미국 배당주 추종 ETF 검토&lt;/li&gt;
&lt;li&gt;처음이라 헷갈리면 &amp;rarr; 성장형 1개부터 이해하고, 이후 배당형&amp;middot;안전형으로 확장&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #ef4444; background: #fff5f5; border-radius: 14px; box-shadow: 0 6px 18px rgba(239,68,68,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;주의할 점&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;실수하기 쉬운 조건과 오해를 미리 차단하는 구간&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;중개형 ISA에서 미국 ETF를 직접 산다&lt;/b&gt;는 표현은 오해를 부를 수 있습니다. 실제로는 국내 상장 미국 투자형 ETF를 매수하는 방식으로 이해하는 편이 더 정확합니다.&lt;/li&gt;
&lt;li&gt;같은 미국 투자 ETF라도 &lt;b&gt;환헤지(H) 여부, TR 구조 여부, 분배금 방식&lt;/b&gt;이 다를 수 있으므로 이름만 보고 같다고 보면 안 됩니다.&lt;/li&gt;
&lt;li&gt;ETF 이름이 비슷해도 운용사, 추종지수, 총보수, 분배금 정책이 다를 수 있습니다.&lt;/li&gt;
&lt;li&gt;최종 투자 전에는 반드시 본인이 사용하는 증권사 앱에서 &lt;b&gt;중개형 ISA 매수 가능 여부&lt;/b&gt;를 다시 확인해야 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(239,68,68,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #7f1d1d; margin-bottom: 10px;&quot;&gt;꼭 체크할 포인트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;중개형 ISA에서는 미국 증시 원종목 ETF 직접 매수와 국내 상장 미국 투자 ETF 매수를 구분해서 이해해야 합니다.&lt;/li&gt;
&lt;li&gt;안전형&amp;middot;성장형&amp;middot;배당형은 수익률이 아니라 성격과 역할이 다릅니다.&lt;/li&gt;
&lt;li&gt;처음부터 여러 개를 한꺼번에 담기보다, 내가 원하는 투자 목적부터 먼저 정하는 것이 중요합니다.&lt;/li&gt;
&lt;li&gt;상품명, 환헤지 여부, 추종지수, 분배금 정책까지 최종 확인한 뒤 매수해야 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;FAQ&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 중개형 ISA에서 미국 증시 상장 ETF를 직접 살 수 있나요?&lt;br /&gt;&amp;rarr; 이 글에서는 미국 증시에 직접 상장된 ETF 원종목을 그대로 사는 경우보다, &lt;b&gt;국내 상장 미국 투자형 ETF를 중개형 ISA 계좌에서 매수하는 경우&lt;/b&gt;를 기준으로 설명했습니다. 쉽게 말해, ISA 안에서는 &amp;ldquo;미국 투자 성격을 가진 국내 상장 ETF를 고른다&amp;rdquo;는 감각으로 보시면 이해가 훨씬 쉽습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 처음 시작하면 안전형, 성장형, 배당형 중 무엇부터 보면 되나요?&lt;br /&gt;&amp;rarr; 처음이라면 보통 성장형부터 많이 봅니다. 다만 가격이 흔들리는 게 부담되면 안전형을 함께 보고, 배당이 들어오는 흐름이 더 중요하면 배당형을 따로 비교해보는 쪽이 더 잘 맞습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 배당형 ETF는 성장형 ETF보다 무조건 덜 위험한가요?&lt;br /&gt;&amp;rarr; 꼭 그렇게 보기는 어렵습니다. 배당형도 주식형 ETF라서 시장이 흔들리면 같이 내려갈 수 있습니다. 다만 구성 종목 성격이 다르다 보니, 성장형보다 덜 부담스럽게 느끼는 투자자가 많은 편입니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 같은 미국 S&amp;amp;P500 추종 ETF면 아무거나 골라도 되나요?&lt;br /&gt;&amp;rarr; 이름만 같다고 같은 상품이라고 보면 안 됩니다. 운용사, 총보수, 환헤지 여부, TR 구조, 분배금 정책이 다를 수 있어서, 실제로는 상품 구조를 한 번 더 확인하고 고르는 쪽이 좋습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;결론 / 선택 정리&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;중개형 ISA에서는 직접 매수 가능 여부보다, 어떤 유형의 국내 상장 미국 투자 ETF가 내 목적에 맞는지가 더 중요합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;중개형 ISA에서 미국 ETF 투자를 고민할 때 가장 중요한 건 &amp;ldquo;가능하냐/불가능하냐&amp;rdquo;만 보는 것이 아닙니다. 실제로는 &lt;b&gt;중개형 ISA 안에서 접근 가능한 국내 상장 미국 투자 ETF를 어떤 목적에 맞게 고를지&lt;/b&gt;가 더 중요합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;변동성보다 성장성 우선이면 성장형&lt;/li&gt;
&lt;li&gt;흔들림을 줄이고 싶으면 안전형&lt;/li&gt;
&lt;li&gt;배당 성향을 선호하면 배당형&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 목적을 먼저 나누면 선택이 훨씬 쉬워집니다.&lt;/p&gt;
&lt;div style=&quot;margin: 24px 0 18px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;빠른 체크리스트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;미국 원종 ETF 직접 매수와 국내 상장 미국 투자 ETF를 구분했는지 확인&lt;/li&gt;
&lt;li&gt;안전형 / 성장형 / 배당형 중 내 목적이 먼저 정해졌는지 확인&lt;/li&gt;
&lt;li&gt;환헤지 여부, 분배금 정책, 추종지수를 비교했는지 확인&lt;/li&gt;
&lt;li&gt;증권사 앱에서 중개형 ISA 매수 가능 종목인지 최종 확인했는지 체크&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;margin: 18px 0 28px; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;중개형 ISA에서는 &amp;ldquo;미국 ETF를 직접 살 수 있느냐&amp;rdquo;보다 &amp;ldquo;국내 상장 미국 투자 ETF 중 내 목적에 맞는 유형이 무엇이냐&amp;rdquo;를 먼저 보는 것이 더 실전적입니다.&lt;/blockquote&gt;
&lt;div style=&quot;margin: 24px 0 0; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;관련 글 링크&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/isa-maturity-transfer-to-pension-savings-irp-tax-order-guide&quot;&gt;ISA 만기 후 어디로 옮겨야 할까? 연금저축&amp;middot;IRP 재투자 순서와 절세 포인트 정리&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/monthly-dividend-etf-schd-jepi-jepq-korea-guide&quot;&gt;월배당 ETF 투자할까? | SCHD&amp;middot;JEPI&amp;middot;JEPQ&amp;middot;국내 월배당 ETF 차이와 주의점 정리&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/sp500-vs-nasdaq100-30year-comparison-guide&quot;&gt;S&amp;amp;P500 vs 나스닥100 차이 | 시작 시점부터 수익률&amp;middot;대표종목&amp;middot;국내 ETF까지 한 번에 비교&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #6b7280; font-size: 14px; line-height: 1.7; margin-top: 24px;&quot; data-ke-size=&quot;size16&quot;&gt;※ 이 글은 중개형 ISA 안에서 접근 가능한 미국 투자형 ETF를 유형별로 이해하기 위한 가이드입니다. 실제 매수 가능 종목, 세부 상품 구조, 보수, 환헤지 여부, 분배금 정책은 증권사 및 상품 설명서 기준으로 최종 확인해야 합니다.&lt;/p&gt;</description>
      <category>경제&amp;middot;재테크/ETF&amp;middot;계좌전략</category>
      <category>etf 추천</category>
      <category>S&amp;amp;P500 ETF</category>
      <category>SCHD</category>
      <category>나스닥100 ETF</category>
      <category>미국 ETF</category>
      <category>배당 etf</category>
      <category>절세계좌</category>
      <category>중개형 isa</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/101</guid>
      <comments>https://trace90.tistory.com/entry/intermediary-isa-us-etf-recommendation-guide#entry101comment</comments>
      <pubDate>Fri, 3 Apr 2026 08:24:35 +0900</pubDate>
    </item>
    <item>
      <title>Spring Boot JWT 로그인 구현 방법 | Spring Security 설정부터 Access Token&amp;middot;Refresh Token 발급&amp;middot;검증까지</title>
      <link>https://trace90.tistory.com/entry/Spring-Boot-JWT-EBA19CEAB7B8EC9DB8-EAB5ACED9884</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;Spring Boot에서 로그인 기능을 구현하려고 하면 많은 개발자가 여기서 막힙니다. &lt;b&gt;세션 로그인과 JWT 로그인은 무엇이 다르고&lt;/b&gt;, Spring Security 설정은 어떻게 잡아야 하며, Access Token과 Refresh Token은 어디서 발급하고 어떻게 검증해야 하는지 한 번에 정리되지 않기 때문입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 JWT 로그인은 단순히 토큰 하나 발급해서 끝나는 구조가 아닙니다. 인증 필터, Security 설정, 토큰 생성, 토큰 검증, 만료 처리, Refresh Token 재발급 흐름까지 같이 봐야 실제 서비스에 넣을 수 있습니다. 그래서 이 글에서는 &lt;b&gt;개념 설명과 함께 실제 구현 흐름, 자주 막히는 포인트, 확인 방법&lt;/b&gt;까지 같이 정리합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결론부터 말하면 Spring Boot JWT 로그인 구현의 핵심은 &lt;b&gt;Spring Security의 인증 흐름 안에 JWT 발급/검증 로직을 정확히 끼워 넣는 것&lt;/b&gt;입니다. 그리고 실제 운영 관점에서는 Access Token만 볼 게 아니라 Refresh Token 저장 전략, 만료 처리, 예외 응답 구조까지 같이 설계해야 합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Spring Boot JWT 로그인은 어떤 구조로 동작하는가?&lt;/li&gt;
&lt;li&gt;Spring Security 설정은 어떻게 잡아야 하는가?&lt;/li&gt;
&lt;li&gt;Access Token / Refresh Token은 어떻게 발급하고 검증하는가?&lt;/li&gt;
&lt;li&gt;구현할 때 어디서 가장 많이 막히는가?&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%); box-shadow: 0 10px 28px rgba(37,99,235,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;핵심 요약&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;Spring Security&lt;/b&gt;는 인증/인가 흐름을 관리하고, JWT는 그 안에서 인증 정보를 담아 전달합니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Access Token&lt;/b&gt;은 API 인증에 쓰고, &lt;b&gt;Refresh Token&lt;/b&gt;은 재발급에 씁니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;구현 핵심&lt;/b&gt;은 Security 설정 + JWT 필터 + 토큰 유틸 + 로그인/재발급 API를 함께 맞추는 것입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;즉 JWT 로그인은 토큰 발급만이 아니라 검증&amp;middot;만료&amp;middot;재발급까지 포함한 전체 인증 구조&lt;/b&gt;입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
&lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
&lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
&lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
&lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;쉬운 정의&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;JWT 로그인은 서버 세션 대신 토큰으로 인증 상태를 확인하는 방식입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;세션 로그인은 서버가 로그인 상태를 직접 들고 있는 구조이고, JWT 로그인은 서버가 발급한 토큰을 클라이언트가 가지고 다니면서 요청마다 인증을 증명하는 구조입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Spring Boot에서 JWT 로그인 구현을 한다는 건 보통 아래를 함께 만든다는 뜻입니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;로그인 API&lt;/li&gt;
&lt;li&gt;사용자 인증 로직&lt;/li&gt;
&lt;li&gt;JWT 발급 로직&lt;/li&gt;
&lt;li&gt;요청 시 JWT 검증 필터&lt;/li&gt;
&lt;li&gt;만료/예외 응답 처리&lt;/li&gt;
&lt;li&gt;Refresh Token 재발급 API&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;Spring Boot JWT 로그인은 &amp;ldquo;로그인 성공 시 토큰을 발급하고, 이후 요청에서는 그 토큰으로 인증을 확인하는 구조&amp;rdquo;라고 이해하면 됩니다.&lt;/blockquote&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;비교/구조&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;세션 로그인과 JWT 로그인을 먼저 비교하면 구조가 훨씬 쉽게 잡힙니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.8; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; color: #1d4ed8;&quot;&gt;비교 항목&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 36%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;세션 로그인&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 36%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;JWT 로그인&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;인증 상태 저장&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;서버 세션 저장소&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;토큰 자체에 인증 정보 포함&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;요청 인증 방식&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;세션 조회&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;JWT 서명/만료 검증&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;확장성&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;세션 저장 전략 영향 큼&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;상대적으로 Stateless 구조에 유리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;주의점&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;세션 관리 부담&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;만료/재발급/탈취 대응 설계 필요&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;JWT 로그인 전체 흐름은 보통 아래처럼 봅니다.&lt;/p&gt;
&lt;pre class=&quot;gauss&quot;&gt;&lt;code&gt;사용자 로그인 요청
   &amp;darr;
AuthenticationManager 인증
   &amp;darr;
인증 성공
   &amp;darr;
Access Token / Refresh Token 발급
   &amp;darr;
클라이언트가 Access Token으로 API 요청
   &amp;darr;
JWT 필터가 토큰 검증
   &amp;darr;
인증 정보(SecurityContext) 저장
   &amp;darr;
컨트롤러 진입
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;구현 핵심 흐름&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.9; color: #334155;&quot;&gt;로그인 API에서 인증을 끝내고, 발급된 JWT를 이후 모든 요청의 인증 근거로 사용합니다. 그리고 요청이 들어올 때마다 JWT 필터가 토큰을 검증한 뒤 인증 객체를 SecurityContext에 넣어줘야 Spring Security가 인증된 사용자로 인식합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;예시&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;실제 구현 흐름에 대입해보면 어디서 무엇을 넣어야 하는지 보입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;예시 1. 로그인 성공 시 토큰 발급&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;로그인 API에서 아이디/비밀번호를 받아 인증하고, 인증 성공 시 Access Token과 Refresh Token을 발급할 수 있습니다.&lt;/p&gt;
&lt;pre class=&quot;reasonml&quot;&gt;&lt;code&gt;@PostMapping(&quot;/login&quot;)
public ResponseEntity&amp;lt;LoginResponse&amp;gt; login(@RequestBody LoginRequest request) {
    Authentication authentication = authenticationManager.authenticate(
        new UsernamePasswordAuthenticationToken(request.getEmail(), request.getPassword())
    );

    String accessToken = jwtTokenProvider.createAccessToken(authentication);
    String refreshToken = jwtTokenProvider.createRefreshToken(authentication);

    return ResponseEntity.ok(new LoginResponse(accessToken, refreshToken));
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이때 중요한 건 단순히 토큰을 만드는 것이 아니라,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;인증이 끝난 사용자 정보로 토큰을 만들고&lt;/li&gt;
&lt;li&gt;만료 시간을 분리하고&lt;/li&gt;
&lt;li&gt;Refresh Token 저장 전략까지 함께 잡는 것입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;예시 2. 요청마다 JWT 검증 필터 실행&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;API 요청에서는 보통 &lt;code&gt;Authorization: Bearer {token}&lt;/code&gt; 헤더를 받아 JWT 필터에서 토큰을 검증합니다.&lt;/p&gt;
&lt;pre class=&quot;vbscript&quot;&gt;&lt;code&gt;@Override
protected void doFilterInternal(HttpServletRequest request,
                                HttpServletResponse response,
                                FilterChain filterChain) throws ServletException, IOException {
    String token = resolveToken(request);

    if (token != null &amp;amp;&amp;amp; jwtTokenProvider.validateToken(token)) {
        Authentication authentication = jwtTokenProvider.getAuthentication(token);
        SecurityContextHolder.getContext().setAuthentication(authentication);
    }

    filterChain.doFilter(request, response);
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 필터가 정상 동작해야 컨트롤러나 &lt;code&gt;@PreAuthorize&lt;/code&gt; 구간에서 인증된 사용자로 인식됩니다.&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;자주 막히는 포인트 / 문제해결&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;JWT 로그인은 개념보다 Security 설정과 필터 순서에서 더 많이 막힙니다.&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;문제 1. permitAll 설정을 했는데도 401이 나는 경우&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보통은 JWT 필터가 인증이 필요 없는 경로까지 검사하거나, 예외 처리 흐름이 정리되지 않았을 때 자주 발생합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;로그인/회원가입 경로를 &lt;code&gt;permitAll()&lt;/code&gt;로 열었는지&lt;/li&gt;
&lt;li&gt;JWT 필터에서 토큰이 없을 때 바로 예외를 던지지 않는지&lt;/li&gt;
&lt;li&gt;&lt;code&gt;AuthenticationEntryPoint&lt;/code&gt; 예외 응답이 의도대로 설정됐는지&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;를 먼저 확인해야 합니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;문제 2. 토큰은 발급되는데 인증이 안 붙는 경우&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 경우는 보통 아래 둘 중 하나입니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;필터에서 &lt;code&gt;SecurityContextHolder&lt;/code&gt;에 인증 객체를 넣지 않음&lt;/li&gt;
&lt;li&gt;토큰에서 사용자 정보를 꺼내 &lt;code&gt;Authentication&lt;/code&gt;으로 변환하는 로직이 잘못됨&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 &amp;ldquo;토큰 검증 성공&amp;rdquo;과 &amp;ldquo;인증 객체 주입 성공&amp;rdquo;은 다른 문제라는 점을 꼭 구분해야 합니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(245,158,11,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #92400e; margin-bottom: 10px;&quot;&gt;설정/확인 체크리스트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;SecurityFilterChain에서 로그인/회원가입 경로가 열려 있는지 확인&lt;/li&gt;
&lt;li&gt;JWT 필터가 UsernamePasswordAuthenticationFilter 앞에 들어갔는지 확인&lt;/li&gt;
&lt;li&gt;토큰 검증 후 SecurityContextHolder에 Authentication을 넣는지 확인&lt;/li&gt;
&lt;li&gt;Access Token / Refresh Token 만료 시간이 분리되어 있는지 확인&lt;/li&gt;
&lt;li&gt;Refresh Token 저장 위치(DB/Redis 등)를 운영 정책과 맞췄는지 확인&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;실무 포인트&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;과장 없이 선택 기준과 주의점만 짧고 명확하게 정리합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Access Token은 짧게, Refresh Token은 상대적으로 길게 운영하는 경우가 많습니다.&lt;/li&gt;
&lt;li&gt;Refresh Token을 서버에 저장하지 않으면 탈취/폐기 대응이 까다로워질 수 있습니다.&lt;/li&gt;
&lt;li&gt;JWT 로그인은 무조건 세션보다 낫다기보다, Stateless API 구조에 잘 맞는 방식으로 보는 것이 정확합니다.&lt;/li&gt;
&lt;li&gt;권한(Role) 정보가 토큰에 어떻게 담기는지와, 권한 변경 시 어떻게 반영할지까지 같이 봐야 운영 품질이 올라갑니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(239,68,68,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #7f1d1d; margin-bottom: 10px;&quot;&gt;초보자가 꼭 체크할 포인트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;JWT 로그인은 토큰 발급만이 아니라 검증 필터와 예외 처리까지 함께 구현해야 합니다.&lt;/li&gt;
&lt;li&gt;Spring Security 설정과 JWT 필터 순서가 맞지 않으면 토큰이 있어도 401이 날 수 있습니다.&lt;/li&gt;
&lt;li&gt;Access Token과 Refresh Token은 목적과 만료 시간이 다릅니다.&lt;/li&gt;
&lt;li&gt;실제 운영에서는 토큰 탈취, 만료, 재발급, 로그아웃 처리까지 같이 설계해야 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;FAQ&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; Spring Boot JWT 로그인은 세션을 전혀 안 쓰나요?&lt;br /&gt;&amp;rarr; 보통 Stateless 구조를 지향하지만, Refresh Token 저장이나 운영 정책에 따라 서버 저장소를 병행할 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; Access Token과 Refresh Token은 왜 둘 다 필요한가요?&lt;br /&gt;&amp;rarr; Access Token은 인증 요청용, Refresh Token은 Access Token 만료 시 재발급용으로 역할이 다릅니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; Spring Security 없이 JWT 로그인 구현이 가능한가요?&lt;br /&gt;&amp;rarr; 가능은 하지만, 실무에서는 인증/인가 흐름 관리 때문에 Spring Security와 함께 쓰는 경우가 훨씬 일반적입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;결론&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;JWT 로그인 구현은 Security 흐름 안에서 토큰 발급과 검증을 정확히 연결하는 작업입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Spring Boot JWT 로그인 구현은 단순히 토큰을 하나 만들어 응답하는 작업이 아닙니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;로그인 인증&lt;/li&gt;
&lt;li&gt;Access Token / Refresh Token 발급&lt;/li&gt;
&lt;li&gt;요청마다 JWT 검증&lt;/li&gt;
&lt;li&gt;SecurityContext 인증 주입&lt;/li&gt;
&lt;li&gt;만료/재발급/예외 처리&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;까지 모두 이어져야 실제 서비스에서 안정적으로 동작합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 이 주제는 &amp;ldquo;JWT 개념&amp;rdquo;만 이해해서 끝나는 것이 아니라, &lt;b&gt;Spring Security 설정과 필터 흐름 안에서 어떻게 연결되는지&lt;/b&gt;를 같이 봐야 비로소 구현이 됩니다.&lt;/p&gt;
&lt;blockquote style=&quot;margin: 18px 0 28px; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;Spring Boot JWT 로그인 구현의 핵심은 인증 성공 후 토큰을 발급하고, 이후 요청에서는 JWT 검증 필터로 인증 상태를 복원하는 흐름을 정확히 맞추는 것입니다.&lt;/blockquote&gt;
&lt;div style=&quot;margin: 24px 0 0; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;같이 보면 좋은 Spring 글&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/Spring-Boot-HTTP-%EB%A9%94%EC%84%9C%EB%93%9C-CRUD&quot;&gt;Spring Boot에서 GET/POST/PUT/PATCH/DELETE를 어떻게 구현할까?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/SpringBoot-React-%ED%80%B5%EC%8A%A4%ED%83%80%ED%8A%B8-Gradle&quot;&gt;Spring Boot + React 연동 방법 | proxy 설정과 Gradle 통합 빌드까지&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #6b7280; font-size: 14px; line-height: 1.7; margin-top: 24px;&quot; data-ke-size=&quot;size16&quot;&gt;※ 이 글은 Spring Boot JWT 로그인 구현 흐름을 이해하기 위한 입문&amp;middot;실전 연결 가이드입니다. 실제 운영 환경에서는 토큰 저장 전략, 보안 정책, 재발급 정책, 로그아웃/강제 만료 처리까지 함께 고려해야 합니다.&lt;/p&gt;</description>
      <category>IT/Spring</category>
      <category>Access Token</category>
      <category>JWT</category>
      <category>JWT 로그인</category>
      <category>refresh token</category>
      <category>spring boot</category>
      <category>Spring Security</category>
      <category>로그인 구현</category>
      <category>토큰 인증</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/100</guid>
      <comments>https://trace90.tistory.com/entry/Spring-Boot-JWT-EBA19CEAB7B8EC9DB8-EAB5ACED9884#entry100comment</comments>
      <pubDate>Thu, 2 Apr 2026 22:30:34 +0900</pubDate>
    </item>
    <item>
      <title>React Router 사용법 | 페이지 이동, Link, 기본 라우팅 적용 방법</title>
      <link>https://trace90.tistory.com/entry/react-router-basic-routing-navigation-guide</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;React로 화면을 만들기 시작하면 금방 부딪히는 주제가 바로 &lt;b&gt;페이지 이동&lt;/b&gt;입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음에는 컴포넌트 하나만 띄우면 되지만, 조금만 기능이 늘어나도 아래처럼 궁금해집니다.&lt;/p&gt;
&lt;ul style=&quot;margin: 14px 0 22px; padding-left: 20px; line-height: 1.95; color: #334155;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;홈 화면에서 상세 페이지로 어떻게 이동하는가?&lt;/li&gt;
&lt;li&gt;URL이 바뀌어도 새로고침 없이 화면이 바뀌는 이유는 무엇인가?&lt;/li&gt;
&lt;li&gt;React에서 페이지 이동은 a 태그로 하면 안 되는가?&lt;/li&gt;
&lt;li&gt;React Router는 어떻게 설치하고 적용하는가?&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 글에서는 React 입문자가 가장 많이 찾는 &lt;b&gt;React Router 사용법&lt;/b&gt;을 기준으로, &lt;b&gt;기본 라우팅 설정 &amp;rarr; 페이지 이동 &amp;rarr; Link 사용법 &amp;rarr; useNavigate 활용&lt;/b&gt;까지 한 번에 정리하겠습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%); box-shadow: 0 10px 28px rgba(37,99,235,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;핵심만 먼저 보면&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;React Router&lt;/b&gt;는 React 앱에서 URL에 따라 다른 화면을 보여주는 라우팅 라이브러리입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Link&lt;/b&gt;는 클릭으로 이동할 때 자주 쓰고, &lt;b&gt;useNavigate&lt;/b&gt;는 코드로 이동할 때 자주 씁니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;기본 라우팅&lt;/b&gt;은 BrowserRouter, Routes, Route 구조부터 이해하면 시작할 수 있습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
&lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
&lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
&lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
&lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;React Router란 무엇인가?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;React 앱에서 페이지 이동처럼 보이는 화면 전환을 관리하는 핵심 도구입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;React는 기본적으로 하나의 페이지 안에서 컴포넌트를 바꾸며 동작하는 경우가 많습니다. 이때 URL 경로에 따라 다른 화면을 보여주고 싶다면 &lt;b&gt;라우팅&lt;/b&gt;이 필요합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;React Router는 이 라우팅을 담당하는 대표 라이브러리입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 아래처럼 생각하면 쉽습니다.&lt;/p&gt;
&lt;ul style=&quot;margin: 14px 0 22px; padding-left: 20px; line-height: 1.95; color: #334155;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;/&lt;/code&gt; &amp;rarr; 홈 화면&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/about&lt;/code&gt; &amp;rarr; 소개 화면&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/products&lt;/code&gt; &amp;rarr; 상품 목록 화면&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/products/1&lt;/code&gt; &amp;rarr; 상품 상세 화면&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, React Router는 &lt;b&gt;URL 경로와 컴포넌트를 연결해 주는 도구&lt;/b&gt;라고 보면 됩니다.&lt;/p&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;React Router의 핵심은 &amp;ldquo;페이지를 새로 여는 것&amp;rdquo;보다 &lt;b&gt;경로에 따라 어떤 컴포넌트를 보여줄지 관리하는 것&lt;/b&gt;입니다.&lt;/blockquote&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;왜 React에서 a 태그보다 React Router를 쓸까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;입문자가 가장 자주 헷갈리는 포인트입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일반 HTML에서는 페이지 이동에 &lt;code&gt;&amp;lt;a&amp;gt;&lt;/code&gt; 태그를 사용합니다. 하지만 React 앱에서는 &lt;code&gt;&amp;lt;a&amp;gt;&lt;/code&gt; 태그를 그대로 쓰면 보통 &lt;b&gt;전체 페이지가 다시 로드&lt;/b&gt;될 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반면 React Router의 &lt;code&gt;Link&lt;/code&gt;를 사용하면 필요한 화면만 자연스럽게 바뀌고, 싱글 페이지 애플리케이션(SPA) 흐름도 유지할 수 있습니다.&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.75; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff; table-layout: auto;&quot; data-ke-align=&quot;alignLeft&quot;&gt;&lt;colgroup&gt; &lt;col style=&quot;width: 30%;&quot; /&gt; &lt;col style=&quot;width: 70%;&quot; /&gt; &lt;/colgroup&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px 12px; background: #eff6ff; border-bottom: 1px solid #dbeafe; text-align: left; color: #1d4ed8; white-space: nowrap;&quot;&gt;방식&lt;/th&gt;
&lt;th style=&quot;padding: 14px 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; text-align: left; color: #1d4ed8;&quot;&gt;차이&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; color: #0f172a;&quot;&gt;&lt;b&gt;a 태그&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; color: #334155;&quot;&gt;전체 문서를 다시 요청하는 이동에 가깝습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; border-top: 1px solid #dbeafe; color: #0f172a;&quot;&gt;&lt;b&gt;React Router Link&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;SPA 흐름을 유지하면서 경로에 맞는 화면을 전환합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #fffbeb; box-shadow: 0 6px 18px rgba(245,158,11,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #92400e; margin-bottom: 10px;&quot;&gt;쉽게 기억하기&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.9; color: #78350f;&quot;&gt;React Router는 웹사이트 전체를 새로 여는 이동보다는, &lt;b&gt;앱 안에서 화면을 바꾸는 이동&lt;/b&gt;에 더 가깝습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_router_1&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;React Router 설치 방법&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;가장 먼저 패키지를 설치해야 합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보통 React Router는 아래 명령어로 설치합니다.&lt;/p&gt;
&lt;pre class=&quot;cmake&quot;&gt;&lt;code&gt;npm install react-router-dom
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설치가 끝나면 프로젝트에서 &lt;code&gt;BrowserRouter&lt;/code&gt;, &lt;code&gt;Routes&lt;/code&gt;, &lt;code&gt;Route&lt;/code&gt;, &lt;code&gt;Link&lt;/code&gt;, &lt;code&gt;useNavigate&lt;/code&gt; 같은 기능을 사용할 수 있습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 24px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;처음엔 이 3개부터 기억하면 됩니다&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.9; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;BrowserRouter&lt;/b&gt; = 라우팅 전체를 감싸는 기본 컨테이너&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Routes&lt;/b&gt; = 여러 Route를 묶는 영역&lt;/div&gt;
&lt;div&gt;&lt;b&gt;Route&lt;/b&gt; = 특정 경로에 어떤 컴포넌트를 보여줄지 연결&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #818cf8; background: #f5f7ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(129,140,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;React Router 기본 라우팅 적용 방법&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;입문자는 이 구조를 한 번 정확히 보면 전체 흐름이 잡힙니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가장 기본적인 라우팅 코드는 아래처럼 구성할 수 있습니다.&lt;/p&gt;
&lt;pre class=&quot;xquery&quot;&gt;&lt;code&gt;import { BrowserRouter, Routes, Route } from 'react-router-dom';

function Home() {
  return &amp;lt;h2&amp;gt;홈 페이지&amp;lt;/h2&amp;gt;;
}

function About() {
  return &amp;lt;h2&amp;gt;소개 페이지&amp;lt;/h2&amp;gt;;
}

function App() {
  return (
    &amp;lt;BrowserRouter&amp;gt;
      &amp;lt;Routes&amp;gt;
        &amp;lt;Route path=&quot;/&quot; element={&amp;lt;Home /&amp;gt;} /&amp;gt;
        &amp;lt;Route path=&quot;/about&quot; element={&amp;lt;About /&amp;gt;} /&amp;gt;
      &amp;lt;/Routes&amp;gt;
    &amp;lt;/BrowserRouter&amp;gt;
  );
}

export default App;
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 코드는 아래처럼 동작합니다.&lt;/p&gt;
&lt;ul style=&quot;margin: 14px 0 22px; padding-left: 20px; line-height: 1.95; color: #334155;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;/&lt;/code&gt; 경로로 들어오면 Home 컴포넌트를 보여주고&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/about&lt;/code&gt; 경로로 들어오면 About 컴포넌트를 보여줍니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, &lt;code&gt;Route&lt;/code&gt;는 &lt;b&gt;경로(path)와 화면(element)을 연결하는 규칙&lt;/b&gt;입니다.&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.75; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff; table-layout: auto;&quot; data-ke-align=&quot;alignLeft&quot;&gt;&lt;colgroup&gt; &lt;col style=&quot;width: 28%;&quot; /&gt; &lt;col style=&quot;width: 72%;&quot; /&gt; &lt;/colgroup&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px 12px; background: #eff6ff; border-bottom: 1px solid #dbeafe; text-align: left; color: #1d4ed8; white-space: nowrap;&quot;&gt;구성 요소&lt;/th&gt;
&lt;th style=&quot;padding: 14px 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; text-align: left; color: #1d4ed8;&quot;&gt;역할&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; color: #0f172a;&quot;&gt;&lt;b&gt;BrowserRouter&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; color: #334155;&quot;&gt;브라우저 주소 기반 라우팅을 활성화합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; border-top: 1px solid #dbeafe; color: #0f172a;&quot;&gt;&lt;b&gt;Routes&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;여러 Route를 감싸고 조건에 맞는 하나를 선택합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; border-top: 1px solid #dbeafe; color: #0f172a;&quot;&gt;&lt;b&gt;Route&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;경로에 맞는 컴포넌트를 보여줍니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #22c55e; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(34,197,94,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;React Router Link 사용법&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;클릭으로 페이지 이동할 때 가장 자주 쓰는 방식입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사용자가 메뉴를 클릭해서 이동하도록 만들려면 &lt;code&gt;Link&lt;/code&gt;를 많이 씁니다.&lt;/p&gt;
&lt;pre class=&quot;javascript&quot;&gt;&lt;code&gt;import { Link } from 'react-router-dom';

function Menu() {
  return (
    &amp;lt;nav&amp;gt;
      &amp;lt;Link to=&quot;/&quot;&amp;gt;홈&amp;lt;/Link&amp;gt;
      &amp;lt;Link to=&quot;/about&quot;&amp;gt;소개&amp;lt;/Link&amp;gt;
    &amp;lt;/nav&amp;gt;
  );
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 중요한 점은 &lt;code&gt;href&lt;/code&gt;가 아니라 &lt;b&gt;to 속성&lt;/b&gt;을 사용한다는 것입니다.&lt;/p&gt;
&lt;ul style=&quot;margin: 14px 0 22px; padding-left: 20px; line-height: 1.95; color: #334155;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;a href=&quot;/about&quot;&amp;gt;&lt;/code&gt;가 아니라&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;Link to=&quot;/about&quot;&amp;gt;&lt;/code&gt;를 사용합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 패턴은 헤더 메뉴, 사이드바, 목록 페이지 이동 등 거의 모든 기본 이동에서 자주 쓰입니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #fef2f2; box-shadow: 0 6px 18px rgba(220,38,38,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #991b1b; margin-bottom: 10px;&quot;&gt;자주 하는 실수&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.9; color: #7f1d1d;&quot;&gt;React Router를 붙여놓고도 메뉴 이동에 계속 `&lt;a&gt;` 태그를 쓰면 SPA 흐름이 깨질 수 있습니다. 기본 내부 이동은 가능하면 &lt;b&gt;Link&lt;/b&gt;로 처리하는 습관이 좋습니다. &lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_router_2&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #a78bfa; background: #f8f5ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(167,139,250,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;useNavigate 사용법&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;코드로 페이지를 이동시키고 싶을 때 사용합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;클릭 링크가 아니라, 특정 로직 이후 자동으로 이동시키고 싶을 때는 &lt;code&gt;useNavigate&lt;/code&gt;를 많이 씁니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 로그인 성공 후 메인 페이지로 보내는 경우가 대표적입니다.&lt;/p&gt;
&lt;pre class=&quot;javascript&quot;&gt;&lt;code&gt;import { useNavigate } from 'react-router-dom';

function LoginButton() {
  const navigate = useNavigate();

  const handleLogin = () =&amp;gt; {
    // 로그인 처리
    navigate('/');
  };

  return &amp;lt;button onClick={handleLogin}&amp;gt;로그인&amp;lt;/button&amp;gt;;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 코드는 버튼을 누른 뒤 &lt;code&gt;navigate('/')&lt;/code&gt;를 실행해 홈 화면으로 이동합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, &lt;code&gt;useNavigate&lt;/code&gt;는 &lt;b&gt;이벤트 처리나 조건 처리 후 코드로 이동시킬 때&lt;/b&gt; 유용합니다.&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.75; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff; table-layout: auto;&quot; data-ke-align=&quot;alignLeft&quot;&gt;&lt;colgroup&gt; &lt;col style=&quot;width: 30%;&quot; /&gt; &lt;col style=&quot;width: 70%;&quot; /&gt; &lt;/colgroup&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px 12px; background: #eff6ff; border-bottom: 1px solid #dbeafe; text-align: left; color: #1d4ed8; white-space: nowrap;&quot;&gt;상황&lt;/th&gt;
&lt;th style=&quot;padding: 14px 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; text-align: left; color: #1d4ed8;&quot;&gt;주로 쓰는 방식&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; color: #0f172a;&quot;&gt;&lt;b&gt;메뉴 클릭 이동&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; color: #334155;&quot;&gt;Link&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; border-top: 1px solid #dbeafe; color: #0f172a;&quot;&gt;&lt;b&gt;로그인 후 이동&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;useNavigate&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; border-top: 1px solid #dbeafe; color: #0f172a;&quot;&gt;&lt;b&gt;폼 제출 후 이동&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;useNavigate&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;React Router 기본 예제 한 번에 보기&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;설치부터 이동까지 이어지는 가장 간단한 형태입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;pre class=&quot;xquery&quot;&gt;&lt;code&gt;import { BrowserRouter, Routes, Route, Link, useNavigate } from 'react-router-dom';

function Home() {
  return &amp;lt;h2&amp;gt;홈 화면&amp;lt;/h2&amp;gt;;
}

function About() {
  return &amp;lt;h2&amp;gt;소개 화면&amp;lt;/h2&amp;gt;;
}

function Login() {
  const navigate = useNavigate();

  const handleLogin = () =&amp;gt; {
    navigate('/');
  };

  return &amp;lt;button onClick={handleLogin}&amp;gt;로그인 후 홈으로 이동&amp;lt;/button&amp;gt;;
}

function App() {
  return (
    &amp;lt;BrowserRouter&amp;gt;
      &amp;lt;nav&amp;gt;
        &amp;lt;Link to=&quot;/&quot;&amp;gt;홈&amp;lt;/Link&amp;gt;
        &amp;lt;Link to=&quot;/about&quot;&amp;gt;소개&amp;lt;/Link&amp;gt;
        &amp;lt;Link to=&quot;/login&quot;&amp;gt;로그인&amp;lt;/Link&amp;gt;
      &amp;lt;/nav&amp;gt;

      &amp;lt;Routes&amp;gt;
        &amp;lt;Route path=&quot;/&quot; element={&amp;lt;Home /&amp;gt;} /&amp;gt;
        &amp;lt;Route path=&quot;/about&quot; element={&amp;lt;About /&amp;gt;} /&amp;gt;
        &amp;lt;Route path=&quot;/login&quot; element={&amp;lt;Login /&amp;gt;} /&amp;gt;
      &amp;lt;/Routes&amp;gt;
    &amp;lt;/BrowserRouter&amp;gt;
  );
}

export default App;
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 코드 하나만 이해해도 React Router 입문 흐름은 꽤 잘 잡힙니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #bfdbfe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;꼭 봐야 할 포인트&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.9; color: #334155;&quot;&gt;처음에는 페이지가 여러 개 있다고 느껴지지만, React Router 관점에서는 &lt;b&gt;하나의 앱 안에서 경로에 맞는 컴포넌트를 바꾸는 구조&lt;/b&gt;라고 이해하는 편이 더 정확합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_router_3&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #06b6d4; background: #ecfeff; border-radius: 14px; box-shadow: 0 6px 18px rgba(6,182,212,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;React Router에서 자주 헷갈리는 포인트&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;처음 배울 때 아래 부분에서 많이 막힙니다.&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;margin: 14px 0 22px; padding-left: 20px; line-height: 1.95; color: #334155;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;BrowserRouter&lt;/code&gt;로 전체를 감싸지 않으면 라우팅이 동작하지 않을 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Link&lt;/code&gt;는 &lt;code&gt;href&lt;/code&gt;가 아니라 &lt;code&gt;to&lt;/code&gt;를 사용합니다.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Route&lt;/code&gt;는 &lt;code&gt;component&lt;/code&gt;가 아니라 &lt;code&gt;element&lt;/code&gt; 형태로 넣는 버전을 많이 사용합니다.&lt;/li&gt;
&lt;li&gt;내부 이동은 Link, 코드 이동은 useNavigate로 구분하면 이해가 쉽습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #fef2f2; box-shadow: 0 6px 18px rgba(220,38,38,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #991b1b; margin-bottom: 10px;&quot;&gt;실무에서 특히 중요한 점&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.9; color: #7f1d1d;&quot;&gt;라우팅이 늘어날수록 핵심은 단순 이동보다 &lt;b&gt;페이지 구조를 어떻게 나누고, 공통 레이아웃과 이동 흐름을 어떻게 설계할지&lt;/b&gt;입니다. 입문 단계에서는 우선 기본 이동 패턴부터 정확히 익히는 것이 좋습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #14b8a6; background: #f0fdfa; border-radius: 14px; box-shadow: 0 6px 18px rgba(20,184,166,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;실무에서는 라우트 구조를 어떻게 나눌까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;페이지 수가 늘어나면 라우트 정의를 한 파일에만 몰아두지 않는 경우가 많습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;입문 예제에서는 &lt;code&gt;App.jsx&lt;/code&gt; 안에 모든 라우트를 작성해도 괜찮지만, 실제 프로젝트에서는 화면이 늘어나면서 구조 분리가 중요해집니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 아래처럼 나누는 방식이 많이 쓰입니다.&lt;/p&gt;
&lt;pre class=&quot;reasonml&quot;&gt;&lt;code&gt;src/
├─ pages/
│  ├─ Home.jsx
│  ├─ About.jsx
│  ├─ Login.jsx
│  └─ ProductDetail.jsx
├─ layouts/
│  └─ MainLayout.jsx
├─ router/
│  └─ index.jsx
└─ App.jsx
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 구조의 핵심은 아래와 같습니다.&lt;/p&gt;
&lt;ul style=&quot;margin: 14px 0 22px; padding-left: 20px; line-height: 1.95; color: #334155;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;pages&lt;/b&gt; = 실제 라우트로 연결되는 화면 단위&lt;/li&gt;
&lt;li&gt;&lt;b&gt;layouts&lt;/b&gt; = 공통 헤더, 사이드바, 푸터 같은 골격&lt;/li&gt;
&lt;li&gt;&lt;b&gt;router&lt;/b&gt; = 경로 정의를 한곳에서 관리&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.75; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff; table-layout: auto;&quot; data-ke-align=&quot;alignLeft&quot;&gt;&lt;colgroup&gt; &lt;col style=&quot;width: 32%;&quot; /&gt; &lt;col style=&quot;width: 68%;&quot; /&gt; &lt;/colgroup&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px 12px; background: #eff6ff; border-bottom: 1px solid #dbeafe; text-align: left; color: #1d4ed8; white-space: nowrap;&quot;&gt;구조&lt;/th&gt;
&lt;th style=&quot;padding: 14px 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; text-align: left; color: #1d4ed8;&quot;&gt;실무에서 좋은 이유&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; color: #0f172a;&quot;&gt;&lt;b&gt;페이지 분리&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; color: #334155;&quot;&gt;각 화면 책임이 명확해져 수정 범위를 파악하기 쉽습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; border-top: 1px solid #dbeafe; color: #0f172a;&quot;&gt;&lt;b&gt;레이아웃 분리&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;헤더&amp;middot;사이드바&amp;middot;공통 네비게이션을 중복 없이 재사용할 수 있습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; border-top: 1px solid #dbeafe; color: #0f172a;&quot;&gt;&lt;b&gt;라우터 파일 분리&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;URL 구조와 페이지 관계를 한곳에서 관리하기 쉬워집니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_router_4&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #8b5cf6; background: #f5f3ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(139,92,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;Outlet과 레이아웃 라우트는 왜 많이 쓸까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;실무에서 공통 레이아웃을 깔끔하게 유지할 때 자주 쓰는 구조입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;페이지마다 헤더와 푸터를 반복해서 넣기보다, 공통 레이아웃 하나를 만들고 그 안에 각 페이지를 끼워 넣는 방식이 더 실용적입니다. 이때 자주 사용하는 것이 &lt;code&gt;Outlet&lt;/code&gt;입니다.&lt;/p&gt;
&lt;pre class=&quot;javascript&quot;&gt;&lt;code&gt;import { Outlet, Link } from 'react-router-dom';

function MainLayout() {
  return (
    &amp;lt;div&amp;gt;
      &amp;lt;header&amp;gt;
        &amp;lt;Link to=&quot;/&quot;&amp;gt;홈&amp;lt;/Link&amp;gt;
        &amp;lt;Link to=&quot;/about&quot;&amp;gt;소개&amp;lt;/Link&amp;gt;
      &amp;lt;/header&amp;gt;

      &amp;lt;main&amp;gt;
        &amp;lt;Outlet /&amp;gt;
      &amp;lt;/main&amp;gt;
    &amp;lt;/div&amp;gt;
  );
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 라우터는 아래처럼 구성할 수 있습니다.&lt;/p&gt;
&lt;pre class=&quot;django&quot;&gt;&lt;code&gt;import { BrowserRouter, Routes, Route } from 'react-router-dom';

function App() {
  return (
    &amp;lt;BrowserRouter&amp;gt;
      &amp;lt;Routes&amp;gt;
        &amp;lt;Route path=&quot;/&quot; element={&amp;lt;MainLayout /&amp;gt;}&amp;gt;
          &amp;lt;Route index element={&amp;lt;Home /&amp;gt;} /&amp;gt;
          &amp;lt;Route path=&quot;about&quot; element={&amp;lt;About /&amp;gt;} /&amp;gt;
        &amp;lt;/Route&amp;gt;
      &amp;lt;/Routes&amp;gt;
    &amp;lt;/BrowserRouter&amp;gt;
  );
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 구조에서는 &lt;code&gt;MainLayout&lt;/code&gt;이 공통 골격이 되고, &lt;code&gt;Outlet&lt;/code&gt; 위치에 &lt;code&gt;Home&lt;/code&gt;이나 &lt;code&gt;About&lt;/code&gt;이 들어갑니다.&lt;/p&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #8b5cf6; background: #f5f3ff; color: #5b21b6; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;실무에서는 단순 라우트 나열보다 &lt;b&gt;공통 레이아웃 + Outlet&lt;/b&gt; 구조가 훨씬 많이 쓰입니다.&lt;/blockquote&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffbeb; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;중첩 라우팅은 언제 필요할까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;관리자 페이지나 마이페이지처럼 섹션이 많은 화면에서 자주 등장합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 마이페이지 아래에 주문내역, 회원정보, 찜 목록이 있다고 가정해보겠습니다.&lt;/p&gt;
&lt;pre class=&quot;xquery&quot;&gt;&lt;code&gt;&amp;lt;Route path=&quot;/mypage&quot; element={&amp;lt;MyPageLayout /&amp;gt;}&amp;gt;
  &amp;lt;Route index element={&amp;lt;MyPageHome /&amp;gt;} /&amp;gt;
  &amp;lt;Route path=&quot;orders&quot; element={&amp;lt;OrderList /&amp;gt;} /&amp;gt;
  &amp;lt;Route path=&quot;profile&quot; element={&amp;lt;Profile /&amp;gt;} /&amp;gt;
&amp;lt;/Route&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 구조를 쓰면 &lt;code&gt;/mypage&lt;/code&gt;, &lt;code&gt;/mypage/orders&lt;/code&gt;, &lt;code&gt;/mypage/profile&lt;/code&gt;처럼 하위 경로를 자연스럽게 연결할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, 중첩 라우팅은 단순히 복잡한 문법이 아니라 &lt;b&gt;관련 있는 페이지를 한 구조 안에서 묶는 방식&lt;/b&gt;입니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #fffbeb; box-shadow: 0 6px 18px rgba(245,158,11,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #92400e; margin-bottom: 10px;&quot;&gt;중첩 라우팅을 잘 쓰면 좋은 점&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.9; color: #78350f;&quot;&gt;상위 화면의 공통 구조는 유지하면서, 내부 콘텐츠만 바뀌게 만들 수 있어 유지보수와 확장성이 좋아집니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #ef4444; background: #fef2f2; border-radius: 14px; box-shadow: 0 6px 18px rgba(239,68,68,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;URL 파라미터 useParams는 왜 중요할까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;목록 &amp;rarr; 상세 페이지 흐름에서 거의 빠지지 않는 핵심 패턴입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실무에서는 상품 목록, 게시글 목록, 회원 목록처럼 리스트에서 상세 페이지로 넘어가는 흐름이 많습니다. 이때 자주 쓰는 것이 URL 파라미터입니다.&lt;/p&gt;
&lt;pre class=&quot;javascript&quot;&gt;&lt;code&gt;import { useParams } from 'react-router-dom';

function ProductDetail() {
  const { productId } = useParams();

  return &amp;lt;div&amp;gt;상품 상세 ID: {productId}&amp;lt;/div&amp;gt;;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;라우트는 아래처럼 연결합니다.&lt;/p&gt;
&lt;pre class=&quot;xquery&quot;&gt;&lt;code&gt;&amp;lt;Route path=&quot;/products/:productId&quot; element={&amp;lt;ProductDetail /&amp;gt;} /&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 &lt;code&gt;/products/10&lt;/code&gt;으로 들어가면 &lt;code&gt;productId&lt;/code&gt;가 &lt;code&gt;10&lt;/code&gt;으로 읽힙니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 패턴은 아래처럼 정말 자주 쓰입니다.&lt;/p&gt;
&lt;ul style=&quot;margin: 14px 0 22px; padding-left: 20px; line-height: 1.95; color: #334155;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;게시글 상세 보기&lt;/li&gt;
&lt;li&gt;상품 상세 페이지&lt;/li&gt;
&lt;li&gt;유저 프로필 페이지&lt;/li&gt;
&lt;li&gt;주문 상세 페이지&lt;/li&gt;
&lt;/ul&gt;
&lt;div id=&quot;code_coupang_router_5&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #eff6ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;보호 라우트는 어떻게 생각하면 될까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;로그인한 사용자만 접근 가능한 페이지를 만들 때 자주 쓰는 방식입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;관리자 페이지나 마이페이지는 로그인하지 않은 사용자가 접근하면 안 되는 경우가 많습니다. 이럴 때는 보호 라우트(Protected Route) 패턴을 많이 씁니다.&lt;/p&gt;
&lt;pre class=&quot;javascript&quot;&gt;&lt;code&gt;import { Navigate } from 'react-router-dom';

function ProtectedRoute({ isLogin, children }) {
  if (!isLogin) {
    return &amp;lt;Navigate to=&quot;/login&quot; replace /&amp;gt;;
  }

  return children;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사용 예시는 아래처럼 볼 수 있습니다.&lt;/p&gt;
&lt;pre class=&quot;django&quot;&gt;&lt;code&gt;&amp;lt;Route
  path=&quot;/mypage&quot;
  element={
    &amp;lt;ProtectedRoute isLogin={isLogin}&amp;gt;
      &amp;lt;MyPage /&amp;gt;
    &amp;lt;/ProtectedRoute&amp;gt;
  }
/&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 구조는 &amp;ldquo;조건이 맞지 않으면 다른 경로로 보내는 라우팅 제어&amp;rdquo;라는 점에서 실무 활용도가 높습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;실무 팁&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.9; color: #334155;&quot;&gt;보호 라우트는 단순히 로그인 여부만 보는 데서 끝나지 않고, 권한(role), 구독 상태, 조직 접근 권한 같은 조건으로도 확장되는 경우가 많습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #10b981; background: #ecfdf5; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;404 페이지 처리는 왜 넣는 게 좋을까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;실제 서비스에서는 없는 경로 처리도 꼭 필요합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;경로가 잘못 들어왔을 때 빈 화면이 나오면 사용자 경험이 좋지 않습니다. 그래서 실무에서는 보통 404 페이지를 같이 둡니다.&lt;/p&gt;
&lt;pre class=&quot;xquery&quot;&gt;&lt;code&gt;function NotFound() {
  return &amp;lt;h2&amp;gt;404 - 페이지를 찾을 수 없습니다.&amp;lt;/h2&amp;gt;;
}

&amp;lt;Route path=&quot;*&quot; element={&amp;lt;NotFound /&amp;gt;} /&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 해두면 정의되지 않은 경로로 접근했을 때 안내 화면을 보여줄 수 있습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #0ea5e9; background: #ecfeff; border-radius: 14px; box-shadow: 0 6px 18px rgba(14,165,233,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;기초에서 심화로 이어질 때 핵심 기준&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;문법을 추가로 외우기보다 구조적 관점으로 보면 훨씬 이해가 쉽습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;React Router를 배울 때 흐름을 아래처럼 잡으면 기초와 심화가 자연스럽게 이어집니다.&lt;/p&gt;
&lt;ol style=&quot;margin: 14px 0 22px; padding-left: 22px; line-height: 1.95; color: #334155;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;기본 라우트 연결&lt;/li&gt;
&lt;li&gt;Link와 useNavigate로 이동 방식 이해&lt;/li&gt;
&lt;li&gt;레이아웃 라우트와 Outlet 이해&lt;/li&gt;
&lt;li&gt;중첩 라우팅으로 구조화&lt;/li&gt;
&lt;li&gt;useParams로 상세 페이지 연결&lt;/li&gt;
&lt;li&gt;Protected Route와 404 처리까지 확장&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, 실무형 React Router는 단순히 페이지 이동만 되는 상태가 아니라 &lt;b&gt;공통 레이아웃, 하위 구조, 상세 페이지, 접근 제어, 예외 처리까지 포함한 화면 구조 설계&lt;/b&gt;라고 보는 편이 맞습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #22c55e; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(34,197,94,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;다음 단계로 이어지려면 무엇을 보면 좋을까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;기본 라우팅을 익혔다면 이후 흐름도 자연스럽게 연결됩니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기본 라우팅까지 이해했다면 다음으로는 아래 주제들이 자연스럽게 이어집니다.&lt;/p&gt;
&lt;ul style=&quot;margin: 14px 0 22px; padding-left: 20px; line-height: 1.95; color: #334155;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;중첩 라우팅&lt;/li&gt;
&lt;li&gt;동적 URL 파라미터&lt;/li&gt;
&lt;li&gt;404 페이지 처리&lt;/li&gt;
&lt;li&gt;레이아웃 라우트&lt;/li&gt;
&lt;li&gt;인증 라우팅&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, 이번 글은 React Router 입문의 출발점이면서, 실무 구조로 확장되는 연결 지점이라고 보면 됩니다.&lt;/p&gt;
&lt;div style=&quot;margin: 34px 0 16px; padding: 20px 22px; border: 1px solid #bfdbfe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%); box-shadow: 0 10px 28px rgba(37,99,235,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 20px; font-weight: 800; color: #0f172a; margin-bottom: 12px;&quot;&gt;마무리 정리&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155; margin-bottom: 14px;&quot;&gt;React Router는 React 앱에서 URL 경로에 따라 다른 화면을 보여주기 위한 대표 라우팅 도구입니다. 기본 구조만 정확히 이해하면 이후 중첩 라우트나 인증 라우팅으로도 자연스럽게 확장할 수 있습니다.&lt;/div&gt;
&lt;div style=&quot;padding-top: 12px; border-top: 1px solid #dbeafe; font-size: 15px; line-height: 1.95; color: #0f172a;&quot;&gt;
&lt;div&gt;&lt;b&gt;설치&lt;/b&gt; = &lt;code&gt;npm install react-router-dom&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;기본 구조&lt;/b&gt; = BrowserRouter + Routes + Route&lt;/div&gt;
&lt;div&gt;&lt;b&gt;클릭 이동&lt;/b&gt; = Link&lt;/div&gt;
&lt;div&gt;&lt;b&gt;코드 이동&lt;/b&gt; = useNavigate&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 24px 0 18px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;FAQ&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; React에서 페이지 이동은 무조건 Link로 해야 하나요?&lt;br /&gt;&amp;rarr; 클릭 메뉴 이동은 보통 &lt;b&gt;Link&lt;/b&gt;를, 로그인 후 이동이나 조건 처리 뒤 이동은 &lt;b&gt;useNavigate&lt;/b&gt;를 더 많이 씁니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; a 태그를 쓰면 왜 안 좋은가요?&lt;br /&gt;&amp;rarr; 내부 이동에서 a 태그를 쓰면 SPA 흐름이 깨지고 &lt;b&gt;전체 페이지가 다시 로드&lt;/b&gt;될 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; React Router를 배우면 다음에 뭘 보면 좋나요?&lt;br /&gt;&amp;rarr; 중첩 라우팅, Outlet, useParams, 보호 라우트, 404 처리 순서로 확장해가면 좋습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 22px 0 0; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 17px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;같이 보면 좋은 React 글&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; line-height: 1.95; color: #334155;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/react-jsx-syntax-conditional-rendering-list-guide&quot;&gt;React JSX 문법 정리 | 기본 문법, 조건부 렌더링, 리스트 렌더링까지&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/react-project-structure-src-public-components-guide&quot;&gt;React 프로젝트 구조 정리 | src, public, components 폴더 역할 쉽게 이해하기&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/react-install-development-environment-setup-guide&quot;&gt;React 설치 및 개발환경 세팅 방법 | Node.js 설치부터 프로젝트 생성까지&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/what-is-react-features-benefits-guide&quot;&gt;React란 무엇인가? 특징, 장점, 사용하는 이유까지 쉽게 정리&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;margin: 18px 0 28px; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;React Router를 이해하면 이후 &lt;b&gt;페이지 구조 설계, 인증 흐름, 레이아웃 분리&lt;/b&gt;까지 훨씬 자연스럽게 이어집니다.&lt;/blockquote&gt;</description>
      <category>Front/React</category>
      <category>Link</category>
      <category>react</category>
      <category>reactrouter</category>
      <category>usenavigate</category>
      <category>라우팅</category>
      <category>리액트라우터</category>
      <category>페이지이동</category>
      <category>프론트엔드</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/99</guid>
      <comments>https://trace90.tistory.com/entry/react-router-basic-routing-navigation-guide#entry99comment</comments>
      <pubDate>Thu, 2 Apr 2026 11:27:59 +0900</pubDate>
    </item>
    <item>
      <title>React JSX 문법 정리 | 기본 문법, 조건부 렌더링, 리스트 렌더링까지</title>
      <link>https://trace90.tistory.com/entry/react-jsx-syntax-conditional-rendering-list-guide</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;React를 공부하기 시작하면 가장 먼저 부딪히는 문법이 바로 &lt;b&gt;JSX&lt;/b&gt;입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음 보면 HTML처럼 보이는데 JavaScript 안에 들어가 있고, 중괄호로 값을 넣기도 하고, &lt;code&gt;if&lt;/code&gt;문은 그대로 안 들어가고, 배열을 &lt;code&gt;map()&lt;/code&gt;으로 돌려 화면에 뿌리는 방식도 낯설게 느껴집니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 입문 단계에서는 아래 포인트에서 많이 막힙니다.&lt;/p&gt;
&lt;ul style=&quot;margin: 14px 0 22px; padding-left: 20px; line-height: 1.95; color: #334155;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;JSX는 정확히 무엇인가?&lt;/li&gt;
&lt;li&gt;HTML과 뭐가 다르고 왜 중괄호를 쓰는가?&lt;/li&gt;
&lt;li&gt;조건부 렌더링은 어떻게 해야 하는가?&lt;/li&gt;
&lt;li&gt;리스트 출력할 때 왜 &lt;code&gt;map()&lt;/code&gt;과 &lt;code&gt;key&lt;/code&gt;가 필요한가?&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 글에서는 React 입문자가 꼭 알아야 하는 &lt;b&gt;JSX 기본 문법, 조건부 렌더링, 리스트 출력&lt;/b&gt;을 한 번에 정리하겠습니다. 단순 문법만 나열하지 않고, &lt;b&gt;왜 그렇게 쓰는지&lt;/b&gt;, &lt;b&gt;어디서 자주 헷갈리는지&lt;/b&gt;까지 같이 보겠습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%); box-shadow: 0 10px 28px rgba(37,99,235,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;핵심만 먼저 보면&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;JSX&lt;/b&gt;는 React에서 UI를 HTML처럼 작성할 수 있게 해주는 문법입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;조건부 렌더링&lt;/b&gt;은 상태에 따라 다른 화면을 보여주는 방식입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;리스트 렌더링&lt;/b&gt;은 배열 데이터를 &lt;code&gt;map()&lt;/code&gt;으로 반복 출력하는 패턴입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
&lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
&lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
&lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
&lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;React JSX란 무엇인가?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;HTML처럼 보이지만, 실제로는 JavaScript 안에서 UI를 표현하는 문법입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;JSX는 &lt;b&gt;JavaScript XML&lt;/b&gt;의 약자입니다. 쉽게 말하면 React에서 화면 구조를 더 직관적으로 작성할 수 있게 해주는 문법이라고 보면 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 아래 코드를 보겠습니다.&lt;/p&gt;
&lt;pre class=&quot;javascript&quot;&gt;&lt;code&gt;function App() {
  return &amp;lt;h1&amp;gt;안녕하세요, React&amp;lt;/h1&amp;gt;;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 코드는 HTML처럼 보이지만, 브라우저가 그대로 이해하는 HTML은 아닙니다. 내부적으로는 JavaScript로 변환되어 동작합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, JSX는 단순 장식 문법이 아니라 &lt;b&gt;React 컴포넌트에서 화면을 선언적으로 작성하기 위한 표현 방식&lt;/b&gt;입니다.&lt;/p&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;JSX는 &amp;ldquo;DOM을 어떻게 직접 조작할지&amp;rdquo;를 쓰는 문법이 아니라, &lt;b&gt;지금 어떤 UI가 보여야 하는지&lt;/b&gt;를 표현하는 문법에 가깝습니다.&lt;/blockquote&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;JSX 기본 문법은 어떻게 읽으면 될까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;입문 단계에서는 아래 기본 규칙부터 익히면 충분합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.75; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff; table-layout: auto;&quot; data-ke-align=&quot;alignLeft&quot;&gt;&lt;colgroup&gt; &lt;col style=&quot;width: 32%;&quot; /&gt; &lt;col style=&quot;width: 68%;&quot; /&gt; &lt;/colgroup&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px 12px; background: #eff6ff; border-bottom: 1px solid #dbeafe; text-align: left; color: #1d4ed8; white-space: nowrap;&quot;&gt;기본 규칙&lt;/th&gt;
&lt;th style=&quot;padding: 14px 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; text-align: left; color: #1d4ed8;&quot;&gt;설명&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; color: #0f172a;&quot;&gt;&lt;b&gt;태그처럼 작성 가능&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; color: #334155;&quot;&gt;HTML과 비슷하게 UI 구조를 작성할 수 있습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; border-top: 1px solid #dbeafe; color: #0f172a;&quot;&gt;&lt;b&gt;JavaScript 값은 중괄호로 출력&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;변수, 식, 함수 호출 결과를 &lt;code&gt;{ }&lt;/code&gt; 안에 넣습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; border-top: 1px solid #dbeafe; color: #0f172a;&quot;&gt;&lt;b&gt;여러 요소는 하나로 감싸기&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;반환 시 하나의 부모 요소 또는 Fragment로 묶어야 합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; border-top: 1px solid #dbeafe; color: #0f172a;&quot;&gt;&lt;b&gt;속성 이름이 조금 다름&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;예: &lt;code&gt;class&lt;/code&gt; 대신 &lt;code&gt;className&lt;/code&gt;, &lt;code&gt;onclick&lt;/code&gt; 대신 &lt;code&gt;onClick&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가장 기본적인 예제는 아래처럼 볼 수 있습니다.&lt;/p&gt;
&lt;pre class=&quot;javascript&quot;&gt;&lt;code&gt;function Profile() {
  const name = 'Ace';
  const age = 28;

  return (
    &amp;lt;div&amp;gt;
      &amp;lt;h2&amp;gt;{name}&amp;lt;/h2&amp;gt;
      &amp;lt;p&amp;gt;나이: {age}&amp;lt;/p&amp;gt;
    &amp;lt;/div&amp;gt;
  );
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 중요한 포인트는 다음과 같습니다.&lt;/p&gt;
&lt;ul style=&quot;margin: 14px 0 22px; padding-left: 20px; line-height: 1.95; color: #334155;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;{name}&lt;/code&gt;처럼 JavaScript 값을 JSX 안에 넣을 수 있고&lt;/li&gt;
&lt;li&gt;태그 구조는 HTML처럼 읽히지만&lt;/li&gt;
&lt;li&gt;실제로는 컴포넌트가 반환하는 UI 구조라는 점입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #fef2f2; box-shadow: 0 6px 18px rgba(220,38,38,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #991b1b; margin-bottom: 10px;&quot;&gt;자주 헷갈리는 포인트&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.9; color: #7f1d1d;&quot;&gt;JSX 안에서는 문장(statement)보다 값(expression)을 넣는다고 생각하면 이해가 쉽습니다. 그래서 &lt;code&gt;if&lt;/code&gt;문 자체를 JSX 중간에 바로 넣기보다, &lt;b&gt;삼항 연산자나 논리 연산자&lt;/b&gt;를 더 자주 씁니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_jsx_1&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;JSX에서 많이 쓰는 기본 문법 4가지&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;이 정도를 익히면 대부분의 입문 예제를 읽을 수 있습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 18px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;1. 중괄호로 값 넣기&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;변수, 숫자, 문자열, 계산식, 함수 호출 결과를 중괄호 안에 넣어 화면에 반영할 수 있습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;pre class=&quot;javascript&quot;&gt;&lt;code&gt;function Message() {
  const user = 'React 입문자';
  return &amp;lt;h3&amp;gt;{user}님 반갑습니다.&amp;lt;/h3&amp;gt;;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 18px 0 18px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;2. 속성 넣기&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;HTML 속성과 비슷하지만 React 스타일로 작성합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;pre class=&quot;javascript&quot;&gt;&lt;code&gt;function Avatar() {
  const imageUrl = 'https://example.com/avatar.png';
  return &amp;lt;img src={imageUrl} alt=&quot;프로필 이미지&quot; className=&quot;avatar&quot; /&amp;gt;;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 18px 0 18px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;3. 여러 태그 반환하기&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;여러 요소를 반환할 때는 하나의 부모 태그로 감싸거나 Fragment를 사용합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;pre class=&quot;javascript&quot;&gt;&lt;code&gt;function Intro() {
  return (
    &amp;lt;&amp;gt;
      &amp;lt;h2&amp;gt;React JSX&amp;lt;/h2&amp;gt;
      &amp;lt;p&amp;gt;HTML처럼 보이는 UI 문법입니다.&amp;lt;/p&amp;gt;
    &amp;lt;/&amp;gt;
  );
}
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 18px 0 18px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;4. 이벤트 연결하기&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;이벤트 이름은 camelCase로 작성합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;pre class=&quot;javascript&quot;&gt;&lt;code&gt;function Button() {
  const handleClick = () =&amp;gt; {
    console.log('클릭됨');
  };

  return &amp;lt;button onClick={handleClick}&amp;gt;클릭&amp;lt;/button&amp;gt;;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #818cf8; background: #f5f7ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(129,140,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;React 조건부 렌더링은 어떻게 할까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;상태에 따라 다른 UI를 보여주는 핵심 패턴입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;조건부 렌더링은 말 그대로 &lt;b&gt;조건에 따라 화면에 보이는 내용을 다르게 처리하는 방식&lt;/b&gt;입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 로그인 여부에 따라 메시지를 다르게 보여줄 수 있습니다.&lt;/p&gt;
&lt;pre class=&quot;actionscript&quot;&gt;&lt;code&gt;function Greeting({ isLogin }) {
  return &amp;lt;h2&amp;gt;{isLogin ? '환영합니다' : '로그인이 필요합니다'}&amp;lt;/h2&amp;gt;;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 코드는 &lt;code&gt;isLogin&lt;/code&gt; 값이 &lt;code&gt;true&lt;/code&gt;면 환영 메시지를, &lt;code&gt;false&lt;/code&gt;면 로그인 안내를 보여줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;React에서 조건부 렌더링은 보통 아래 3가지 방식이 많이 쓰입니다.&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.75; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff; table-layout: auto;&quot; data-ke-align=&quot;alignLeft&quot;&gt;&lt;colgroup&gt; &lt;col style=&quot;width: 30%;&quot; /&gt; &lt;col style=&quot;width: 70%;&quot; /&gt; &lt;/colgroup&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px 12px; background: #eff6ff; border-bottom: 1px solid #dbeafe; text-align: left; color: #1d4ed8; white-space: nowrap;&quot;&gt;방식&lt;/th&gt;
&lt;th style=&quot;padding: 14px 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; text-align: left; color: #1d4ed8;&quot;&gt;언제 많이 쓰는가&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; color: #0f172a;&quot;&gt;&lt;b&gt;삼항 연산자&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; color: #334155;&quot;&gt;true/false 두 경우를 모두 보여줘야 할 때&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; border-top: 1px solid #dbeafe; color: #0f172a;&quot;&gt;&lt;b&gt;&amp;amp;&amp;amp; 연산자&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;조건이 맞을 때만 특정 요소를 보여줄 때&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; border-top: 1px solid #dbeafe; color: #0f172a;&quot;&gt;&lt;b&gt;if + return 분기&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;조건이 복잡해 JSX 안에서 처리하기 지저분할 때&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 18px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;1. 삼항 연산자&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;가장 대표적인 방식입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;pre class=&quot;javascript&quot;&gt;&lt;code&gt;function LoginStatus({ isLogin }) {
  return (
    &amp;lt;div&amp;gt;
      {isLogin ? &amp;lt;button&amp;gt;로그아웃&amp;lt;/button&amp;gt; : &amp;lt;button&amp;gt;로그인&amp;lt;/button&amp;gt;}
    &amp;lt;/div&amp;gt;
  );
}
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 18px 0 18px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;2. &amp;amp;&amp;amp; 연산자&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;조건이 true일 때만 보여줄 때 간단합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;pre class=&quot;javascript&quot;&gt;&lt;code&gt;function Notice({ isAdmin }) {
  return &amp;lt;div&amp;gt;{isAdmin &amp;amp;&amp;amp; &amp;lt;p&amp;gt;관리자 전용 메뉴입니다.&amp;lt;/p&amp;gt;}&amp;lt;/div&amp;gt;;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 18px 0 18px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;3. if 문으로 밖에서 분기하기&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;조건이 길어질 때는 JSX 밖에서 처리하는 편이 더 읽기 쉽습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;pre class=&quot;javascript&quot;&gt;&lt;code&gt;function UserMessage({ isLoading }) {
  if (isLoading) {
    return &amp;lt;p&amp;gt;로딩 중입니다...&amp;lt;/p&amp;gt;;
  }

  return &amp;lt;p&amp;gt;데이터를 불러왔습니다.&amp;lt;/p&amp;gt;;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #fffbeb; box-shadow: 0 6px 18px rgba(245,158,11,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #92400e; margin-bottom: 10px;&quot;&gt;조건부 렌더링에서 꼭 봐야 할 포인트&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.9; color: #78350f;&quot;&gt;간단한 한 줄 조건은 삼항 연산자나 &lt;code&gt;&amp;amp;&amp;amp;&lt;/code&gt;가 편하지만, 조건이 여러 개로 늘어나면 &lt;b&gt;JSX를 억지로 짧게 만들기보다 바깥으로 빼서 읽기 쉽게 정리&lt;/b&gt;하는 편이 더 좋습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_jsx_2&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #22c55e; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(34,197,94,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;React 리스트 출력은 왜 map()을 쓸까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;배열 데이터를 화면으로 바꾸는 React의 기본 패턴입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;리스트 렌더링은 게시글 목록, 댓글 목록, 메뉴 목록처럼 &lt;b&gt;배열 데이터를 반복해서 화면에 출력하는 방식&lt;/b&gt;입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가장 많이 쓰는 패턴은 &lt;code&gt;map()&lt;/code&gt;입니다.&lt;/p&gt;
&lt;pre class=&quot;javascript&quot;&gt;&lt;code&gt;function MenuList() {
  const menus = ['홈', '소개', '문의하기'];

  return (
    &amp;lt;ul&amp;gt;
      {menus.map((menu) =&amp;gt; (
        &amp;lt;li key={menu}&amp;gt;{menu}&amp;lt;/li&amp;gt;
      ))}
    &amp;lt;/ul&amp;gt;
  );
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 코드는 배열의 각 값을 하나씩 꺼내 &lt;code&gt;&amp;lt;li&amp;gt;&lt;/code&gt; 요소로 바꿔 출력합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, React에서는 배열을 그대로 보여주는 것이 아니라 &lt;b&gt;배열 데이터를 JSX 요소로 변환해서 렌더링&lt;/b&gt;한다고 이해하면 됩니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 18px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;key는 왜 필요할까?&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;리스트의 각 요소를 React가 구분하기 위해 필요합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;React는 리스트가 변경될 때 어떤 항목이 추가&amp;middot;삭제&amp;middot;변경되었는지 더 잘 파악하기 위해 &lt;code&gt;key&lt;/code&gt;를 사용합니다.&lt;/p&gt;
&lt;pre class=&quot;xquery&quot;&gt;&lt;code&gt;const users = [
  { id: 1, name: 'Kim' },
  { id: 2, name: 'Lee' },
  { id: 3, name: 'Park' }
];

function UserList() {
  return (
    &amp;lt;ul&amp;gt;
      {users.map((user) =&amp;gt; (
        &amp;lt;li key={user.id}&amp;gt;{user.name}&amp;lt;/li&amp;gt;
      ))}
    &amp;lt;/ul&amp;gt;
  );
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서는 &lt;code&gt;user.id&lt;/code&gt;가 고유값이기 때문에 좋은 key가 됩니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #fef2f2; box-shadow: 0 6px 18px rgba(220,38,38,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #991b1b; margin-bottom: 10px;&quot;&gt;리스트 출력에서 자주 하는 실수&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.9; color: #7f1d1d;&quot;&gt;단순히 화면 경고를 없애려고 아무 값이나 &lt;code&gt;key&lt;/code&gt;에 넣는 것은 좋지 않습니다. 가능하면 &lt;b&gt;데이터 자체의 고유 id&lt;/b&gt;를 쓰는 편이 안전합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #a78bfa; background: #f8f5ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(167,139,250,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;조건부 렌더링과 리스트 출력을 같이 쓰면 어떻게 될까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;실제 화면에서는 두 패턴이 함께 나오는 경우가 많습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 할 일 목록에서 데이터가 없으면 안내 문구를 보여주고, 데이터가 있으면 리스트를 출력할 수 있습니다.&lt;/p&gt;
&lt;pre class=&quot;javascript&quot;&gt;&lt;code&gt;function TodoList({ todos }) {
  return (
    &amp;lt;div&amp;gt;
      {todos.length === 0 ? (
        &amp;lt;p&amp;gt;등록된 할 일이 없습니다.&amp;lt;/p&amp;gt;
      ) : (
        &amp;lt;ul&amp;gt;
          {todos.map((todo) =&amp;gt; (
            &amp;lt;li key={todo.id}&amp;gt;{todo.text}&amp;lt;/li&amp;gt;
          ))}
        &amp;lt;/ul&amp;gt;
      )}
    &amp;lt;/div&amp;gt;
  );
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 패턴은 React에서 정말 자주 나옵니다.&lt;/p&gt;
&lt;ul style=&quot;margin: 14px 0 22px; padding-left: 20px; line-height: 1.95; color: #334155;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;데이터가 없으면 빈 상태 메시지 보여주기&lt;/li&gt;
&lt;li&gt;데이터가 있으면 목록 출력하기&lt;/li&gt;
&lt;li&gt;로딩 중이면 스피너 보여주기&lt;/li&gt;
&lt;li&gt;권한이 있으면 버튼 보여주기&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, JSX를 익힌다는 것은 단순 태그 작성이 아니라 &lt;b&gt;상태와 데이터를 UI로 바꾸는 사고 방식&lt;/b&gt;에 익숙해지는 과정이기도 합니다.&lt;/p&gt;
&lt;div id=&quot;code_coupang_jsx_3&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;JSX에서 자주 헷갈리는 문법 차이&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;HTML처럼 보이기 때문에 더 헷갈릴 수 있습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.75; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff; table-layout: auto;&quot; data-ke-align=&quot;alignLeft&quot;&gt;&lt;colgroup&gt; &lt;col style=&quot;width: 28%;&quot; /&gt; &lt;col style=&quot;width: 72%;&quot; /&gt; &lt;/colgroup&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px 12px; background: #eff6ff; border-bottom: 1px solid #dbeafe; text-align: left; color: #1d4ed8; white-space: nowrap;&quot;&gt;헷갈리는 부분&lt;/th&gt;
&lt;th style=&quot;padding: 14px 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; text-align: left; color: #1d4ed8;&quot;&gt;기억하면 좋은 기준&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; color: #0f172a;&quot;&gt;&lt;b&gt;class&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; color: #334155;&quot;&gt;JSX에서는 &lt;code&gt;className&lt;/code&gt; 사용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; border-top: 1px solid #dbeafe; color: #0f172a;&quot;&gt;&lt;b&gt;for&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;라벨 연결은 &lt;code&gt;htmlFor&lt;/code&gt; 사용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; border-top: 1px solid #dbeafe; color: #0f172a;&quot;&gt;&lt;b&gt;스타일&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;문자열이 아니라 객체 형태로 작성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; border-top: 1px solid #dbeafe; color: #0f172a;&quot;&gt;&lt;b&gt;조건문&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;JSX 안에서는 주로 삼항 연산자, &lt;code&gt;&amp;amp;&amp;amp;&lt;/code&gt;, 바깥 분기를 사용&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #06b6d4; background: #ecfeff; border-radius: 14px; box-shadow: 0 6px 18px rgba(6,182,212,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;실무 관점에서 JSX를 볼 때 중요한 점&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;문법을 외우는 것보다 읽기 좋은 구조를 만드는 습관이 더 중요합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실무에서 JSX를 쓸 때 핵심은 &amp;ldquo;짧게 쓰는 것&amp;rdquo;보다 &amp;ldquo;읽기 쉽게 쓰는 것&amp;rdquo;입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 아래 기준을 기억하면 도움이 됩니다.&lt;/p&gt;
&lt;ul style=&quot;margin: 14px 0 22px; padding-left: 20px; line-height: 1.95; color: #334155;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;조건이 복잡하면 JSX 밖으로 빼기&lt;/li&gt;
&lt;li&gt;리스트 key는 고유값 사용하기&lt;/li&gt;
&lt;li&gt;컴포넌트가 너무 길어지면 분리하기&lt;/li&gt;
&lt;li&gt;상태, 조건, 리스트가 한 화면에 섞일수록 구조를 더 단순하게 유지하기&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote style=&quot;margin: 18px 0 24px; padding: 16px 18px; border-left: 5px solid #0ea5e9; background: #ecfeff; color: #0f766e; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;좋은 JSX는 &amp;ldquo;멋진 문법&amp;rdquo;보다 &lt;b&gt;한눈에 읽히는 UI 구조&lt;/b&gt;에 가깝습니다.&lt;/blockquote&gt;
&lt;div style=&quot;margin: 24px 0 18px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;빠른 체크리스트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;JSX 안에서 JavaScript 값은 &lt;code&gt;{ }&lt;/code&gt;로 넣는지 확인&lt;/li&gt;
&lt;li&gt;조건부 렌더링은 삼항 연산자, &lt;code&gt;&amp;amp;&amp;amp;&lt;/code&gt;, 바깥 분기를 구분해서 쓰는지 확인&lt;/li&gt;
&lt;li&gt;리스트 출력은 &lt;code&gt;map()&lt;/code&gt;으로 처리하는지 확인&lt;/li&gt;
&lt;li&gt;&lt;code&gt;key&lt;/code&gt;에는 가능한 한 고유값을 쓰는지 확인&lt;/li&gt;
&lt;li&gt;문법보다 읽기 쉬운 구조로 작성했는지 확인&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 34px 0 16px; padding: 20px 22px; border: 1px solid #bfdbfe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%); box-shadow: 0 10px 28px rgba(37,99,235,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 20px; font-weight: 800; color: #0f172a; margin-bottom: 12px;&quot;&gt;마무리 정리&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155; margin-bottom: 14px;&quot;&gt;React JSX는 화면을 HTML처럼 작성하게 도와주는 문법이지만, 실제 핵심은 상태와 데이터를 UI로 바꾸는 방식에 익숙해지는 데 있습니다.&lt;/div&gt;
&lt;div style=&quot;padding-top: 12px; border-top: 1px solid #dbeafe; font-size: 15px; line-height: 1.95; color: #0f172a;&quot;&gt;
&lt;div&gt;&lt;b&gt;JSX 기본 문법&lt;/b&gt; = 태그 구조 + 중괄호 표현식 + React식 속성&lt;/div&gt;
&lt;div&gt;&lt;b&gt;조건부 렌더링&lt;/b&gt; = 삼항 연산자, &lt;code&gt;&amp;amp;&amp;amp;&lt;/code&gt;, if 분기&lt;/div&gt;
&lt;div&gt;&lt;b&gt;리스트 출력&lt;/b&gt; = 배열 &lt;code&gt;map()&lt;/code&gt; + 올바른 &lt;code&gt;key&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;중요한 관점&lt;/b&gt; = 짧게 쓰는 것보다 읽기 쉽게 쓰는 것이 더 중요&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 22px 0 0; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 17px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;다음으로 같이 보면 좋은 React 글&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; line-height: 1.95; color: #334155;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;React란 무엇인가? 특징과 사용하는 이유&lt;/li&gt;
&lt;li&gt;React 프로젝트 구조 정리: src, public, components 폴더 역할&lt;/li&gt;
&lt;li&gt;React 개발환경 설정 방법: Node.js, Vite, npm 기본 흐름&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;React JSX를 이해하면 이후 &lt;b&gt;컴포넌트, state, 이벤트 처리, hooks&lt;/b&gt;까지 훨씬 자연스럽게 연결됩니다.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;onents 폴더 역할 쉽게 이해하기&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/react-install-development-environment-setup-guide&quot;&gt;React 설치 및 개발환경 세팅 방법 | Node.js 설치부터 프로젝트 생성까지&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/react-router-basic-routing-navigation-guide&quot;&gt;React Router 사용법 | 페이지 이동, Link, 기본 라우팅 적용 방법&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote style=&quot;margin: 18px 0 28px; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;React JSX를 이해하면 이후 &lt;b&gt;컴포넌트, state, 이벤트 처리, hooks&lt;/b&gt;까지 훨씬 자연스럽게 연결됩니다.&lt;/blockquote&gt;</description>
      <category>Front/React</category>
      <category>jsx</category>
      <category>map</category>
      <category>react</category>
      <category>react문법</category>
      <category>리스트렌더링</category>
      <category>리액트</category>
      <category>조건부렌더링</category>
      <category>프론트엔드</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/98</guid>
      <comments>https://trace90.tistory.com/entry/react-jsx-syntax-conditional-rendering-list-guide#entry98comment</comments>
      <pubDate>Thu, 2 Apr 2026 09:00:55 +0900</pubDate>
    </item>
    <item>
      <title>React 프로젝트 구조 정리 | src, public, components 폴더 역할 쉽게 이해하기</title>
      <link>https://trace90.tistory.com/entry/react-project-structure-src-public-components-guide</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;React를 처음 시작하면 프로젝트를 만든 직후부터 바로 헷갈리는 부분이 있습니다. 바로 &lt;b&gt;폴더 구조&lt;/b&gt;입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 입문자 입장에서는 아래 질문이 자주 나옵니다.&lt;/p&gt;
&lt;ul style=&quot;margin: 14px 0 22px; padding-left: 20px; line-height: 1.95; color: #334155;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;`src` 폴더에는 무엇을 넣는가?&lt;/li&gt;
&lt;li&gt;`public` 폴더는 언제 사용하는가?&lt;/li&gt;
&lt;li&gt;`components` 폴더는 왜 따로 나누는가?&lt;/li&gt;
&lt;li&gt;파일을 아무 데나 두면 안 되는 이유는 무엇인가?&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 글에서는 React 입문자가 가장 먼저 이해해야 하는 &lt;b&gt;&lt;code&gt;src&lt;/code&gt;, &lt;code&gt;public&lt;/code&gt;, &lt;code&gt;components&lt;/code&gt; 폴더 역할&lt;/b&gt;을 한 번에 정리해보겠습니다. 단순히 폴더 이름만 설명하는 것이 아니라, &lt;b&gt;왜 그렇게 나누는지&lt;/b&gt;, &lt;b&gt;실제로 어떻게 관리하는지&lt;/b&gt;까지 함께 보겠습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%); box-shadow: 0 10px 28px rgba(37,99,235,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;핵심만 먼저 보면&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;src&lt;/b&gt;는 실제 React 코드가 들어가는 핵심 폴더입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;public&lt;/b&gt;은 정적 파일을 그대로 제공할 때 사용하는 영역입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;components&lt;/b&gt;는 재사용 가능한 UI 조각을 모아두는 폴더입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
&lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
&lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
&lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
&lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;React 프로젝트 구조를 왜 알아야 할까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;폴더 구조를 이해해야 파일이 늘어나도 덜 헤맵니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;React 프로젝트는 처음에는 파일 수가 많지 않아 보여도, 기능이 늘어나기 시작하면 빠르게 복잡해집니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어:&lt;/p&gt;
&lt;ul style=&quot;margin: 14px 0 22px; padding-left: 20px; line-height: 1.95; color: #334155;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;버튼 컴포넌트&lt;/li&gt;
&lt;li&gt;게시글 목록 컴포넌트&lt;/li&gt;
&lt;li&gt;페이지별 화면&lt;/li&gt;
&lt;li&gt;이미지&lt;/li&gt;
&lt;li&gt;스타일 파일&lt;/li&gt;
&lt;li&gt;API 호출 코드&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 것들이 뒤섞이면 작은 프로젝트도 관리가 어려워집니다. 그래서 React는 보통 &lt;b&gt;역할별로 파일과 폴더를 나누는 방식&lt;/b&gt;으로 구조를 잡습니다.&lt;/p&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;React 프로젝트 구조를 이해한다는 것은 단순히 폴더 이름을 외우는 것이 아니라, &lt;b&gt;어떤 파일을 어디에 두어야 나중에 유지보수가 쉬운지&lt;/b&gt;를 이해하는 것입니다.&lt;/blockquote&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;기본적인 React 폴더 구조는 어떻게 생겼을까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;먼저 전체 그림을 보면 각 폴더 역할이 더 쉽게 들어옵니다.&lt;/div&gt;
&lt;/div&gt;
&lt;pre class=&quot;stylus&quot;&gt;&lt;code&gt;my-react-app/
├─ public/
├─ src/
│  ├─ assets/
│  ├─ components/
│  ├─ pages/
│  ├─ App.jsx
│  └─ main.jsx
├─ package.json
└─ vite.config.js
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프로젝트마다 세부 구조는 다를 수 있지만, 입문 단계에서는 보통 위 흐름을 기준으로 이해하면 충분합니다.&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.75; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff; table-layout: auto;&quot; data-ke-align=&quot;alignLeft&quot;&gt;&lt;colgroup&gt; &lt;col style=&quot;width: 28%;&quot; /&gt; &lt;col style=&quot;width: 72%;&quot; /&gt; &lt;/colgroup&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px 12px; background: #eff6ff; border-bottom: 1px solid #dbeafe; text-align: left; color: #1d4ed8; white-space: nowrap;&quot;&gt;폴더/파일&lt;/th&gt;
&lt;th style=&quot;padding: 14px 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; text-align: left; color: #1d4ed8;&quot;&gt;역할&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; color: #0f172a;&quot;&gt;&lt;b&gt;src&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; color: #334155;&quot;&gt;React 앱의 실제 코드가 들어가는 핵심 영역&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; border-top: 1px solid #dbeafe; color: #0f172a;&quot;&gt;&lt;b&gt;public&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;정적 파일을 그대로 제공하는 영역&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; border-top: 1px solid #dbeafe; color: #0f172a;&quot;&gt;&lt;b&gt;components&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;재사용 가능한 UI 컴포넌트를 모아두는 폴더&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; border-top: 1px solid #dbeafe; color: #0f172a;&quot;&gt;&lt;b&gt;App.jsx&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;앱의 메인 화면 구조를 구성하는 파일&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; border-top: 1px solid #dbeafe; color: #0f172a;&quot;&gt;&lt;b&gt;main.jsx&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;React 앱을 실제 브라우저에 연결하는 시작점&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;src 폴더는 어떤 역할을 할까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;React 프로젝트에서 가장 중요한 폴더입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;src&lt;/code&gt;는 보통 &lt;b&gt;실제 개발자가 가장 자주 작업하는 공간&lt;/b&gt;입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 안에는 보통 아래 같은 것들이 들어갑니다.&lt;/p&gt;
&lt;ul style=&quot;margin: 14px 0 22px; padding-left: 20px; line-height: 1.95; color: #334155;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;컴포넌트 파일&lt;/li&gt;
&lt;li&gt;페이지 파일&lt;/li&gt;
&lt;li&gt;스타일 파일&lt;/li&gt;
&lt;li&gt;이미지/아이콘&lt;/li&gt;
&lt;li&gt;API 호출 코드&lt;/li&gt;
&lt;li&gt;상태 관리 관련 코드&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;쉽게 말하면:&lt;/p&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #0ea5e9; background: #ecfeff; color: #0f766e; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;`src`는 React 앱의 실제 소스코드가 모여 있는 곳입니다.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 화면을 만들고, 기능을 붙이고, 컴포넌트를 조합하는 대부분의 작업은 &lt;code&gt;src&lt;/code&gt; 안에서 일어납니다.&lt;/p&gt;
&lt;div id=&quot;code_coupang_react_structure_1&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #818cf8; background: #f5f7ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(129,140,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;public 폴더는 언제 사용할까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;`src`와 헷갈리기 쉬운 대표 영역입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;public&lt;/code&gt;은 정적 파일을 그대로 제공할 때 사용하는 폴더입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들면:&lt;/p&gt;
&lt;ul style=&quot;margin: 14px 0 22px; padding-left: 20px; line-height: 1.95; color: #334155;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;favicon&lt;/li&gt;
&lt;li&gt;외부에서 직접 접근할 이미지&lt;/li&gt;
&lt;li&gt;빌드 과정에서 import 없이 그대로 써야 하는 파일&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;입문자 기준으로는 이렇게 구분하면 쉽습니다.&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.75; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff; table-layout: auto;&quot; data-ke-align=&quot;alignLeft&quot;&gt;&lt;colgroup&gt; &lt;col style=&quot;width: 30%;&quot; /&gt; &lt;col style=&quot;width: 70%;&quot; /&gt; &lt;/colgroup&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px 12px; background: #eff6ff; border-bottom: 1px solid #dbeafe; text-align: left; color: #1d4ed8; white-space: nowrap;&quot;&gt;구분&lt;/th&gt;
&lt;th style=&quot;padding: 14px 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; text-align: left; color: #1d4ed8;&quot;&gt;설명&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; color: #0f172a;&quot;&gt;&lt;b&gt;src 안 파일&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; color: #334155;&quot;&gt;보통 import 해서 React 코드 안에서 사용하는 자원&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; border-top: 1px solid #dbeafe; color: #0f172a;&quot;&gt;&lt;b&gt;public 안 파일&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;정적 경로로 직접 접근하거나 그대로 제공할 자원&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, 일반적인 프로젝트에서는 이미지도 &lt;code&gt;src/assets&lt;/code&gt;에서 관리하는 경우가 많고, 정말 정적으로 둘 필요가 있을 때만 &lt;code&gt;public&lt;/code&gt;을 쓰는 편이 자연스럽습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #fffbeb; box-shadow: 0 6px 18px rgba(245,158,11,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #92400e; margin-bottom: 10px;&quot;&gt;헷갈리지 않게 기억하기&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.9; color: #78350f;&quot;&gt;특별한 이유가 없다면 파일을 무조건 `public`에 넣기보다, &lt;b&gt;React 코드와 함께 관리할 자원은 `src` 안에서 관리&lt;/b&gt;하는 쪽이 보통 더 깔끔합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #22c55e; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(34,197,94,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;components 폴더는 왜 따로 나눌까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;React 구조에서 가장 많이 쓰이는 분리 기준입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;code&gt;components&lt;/code&gt; 폴더는 재사용 가능한 UI 조각을 모아두는 공간입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들면:&lt;/p&gt;
&lt;ul style=&quot;margin: 14px 0 22px; padding-left: 20px; line-height: 1.95; color: #334155;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Button&lt;/li&gt;
&lt;li&gt;Header&lt;/li&gt;
&lt;li&gt;Footer&lt;/li&gt;
&lt;li&gt;Card&lt;/li&gt;
&lt;li&gt;Modal&lt;/li&gt;
&lt;li&gt;Input&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이걸 따로 빼두는 이유는 명확합니다.&lt;/p&gt;
&lt;ul style=&quot;margin: 14px 0 22px; padding-left: 20px; line-height: 1.95; color: #334155;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;여러 화면에서 재사용하기 쉽고&lt;/li&gt;
&lt;li&gt;중복 코드를 줄일 수 있으며&lt;/li&gt;
&lt;li&gt;UI 구조를 더 깔끔하게 관리할 수 있기 때문입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 버튼을 페이지마다 직접 만들지 않고, &lt;code&gt;components/Button.jsx&lt;/code&gt;로 만들어두면 필요한 곳에서 가져와 쓸 수 있습니다.&lt;/p&gt;
&lt;pre class=&quot;javascript&quot;&gt;&lt;code&gt;function Button({ children }) {
  return &amp;lt;button&amp;gt;{children}&amp;lt;/button&amp;gt;;
}

export default Button;
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 해두면 화면마다 같은 버튼 구조를 반복하지 않아도 됩니다.&lt;/p&gt;
&lt;div id=&quot;code_coupang_react_structure_2&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #a78bfa; background: #f8f5ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(167,139,250,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;실제로는 어떤 식으로 폴더를 나누면 좋을까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;입문자도 무리 없이 따라갈 수 있는 기본 구조 예시입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;pre class=&quot;reasonml&quot;&gt;&lt;code&gt;src/
├─ assets/
├─ components/
│  ├─ Button.jsx
│  ├─ Header.jsx
│  └─ Card.jsx
├─ pages/
│  ├─ Home.jsx
│  └─ About.jsx
├─ App.jsx
└─ main.jsx
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 정도만 나눠도 프로젝트 구조가 훨씬 보기 쉬워집니다.&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.75; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff; table-layout: auto;&quot; data-ke-align=&quot;alignLeft&quot;&gt;&lt;colgroup&gt; &lt;col style=&quot;width: 30%;&quot; /&gt; &lt;col style=&quot;width: 70%;&quot; /&gt; &lt;/colgroup&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px 12px; background: #eff6ff; border-bottom: 1px solid #dbeafe; text-align: left; color: #1d4ed8; white-space: nowrap;&quot;&gt;폴더&lt;/th&gt;
&lt;th style=&quot;padding: 14px 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; text-align: left; color: #1d4ed8;&quot;&gt;이렇게 쓰면 좋다&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; color: #0f172a;&quot;&gt;&lt;b&gt;assets&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; color: #334155;&quot;&gt;이미지, 아이콘, 폰트 같은 정적 자원 관리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; border-top: 1px solid #dbeafe; color: #0f172a;&quot;&gt;&lt;b&gt;components&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;재사용 가능한 UI 컴포넌트 관리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; border-top: 1px solid #dbeafe; color: #0f172a;&quot;&gt;&lt;b&gt;pages&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;라우팅 단위가 되는 화면 페이지 관리&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #fef2f2; box-shadow: 0 6px 18px rgba(220,38,38,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #991b1b; margin-bottom: 10px;&quot;&gt;자주 하는 실수&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #7f1d1d;&quot;&gt;모든 파일을 `src` 바로 아래에만 두기 시작하면, 처음엔 편해 보여도 파일 수가 늘어날수록 구조가 금방 지저분해집니다.&lt;br /&gt;&lt;br /&gt;입문 단계부터라도 &lt;b&gt;components, pages, assets 정도는 구분&lt;/b&gt;하는 습관이 좋습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 24px 0 18px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;빠른 체크리스트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;code&gt;src&lt;/code&gt; = 실제 React 코드 중심인지 확인&lt;/li&gt;
&lt;li&gt;&lt;code&gt;public&lt;/code&gt; = 정말 정적으로 둘 파일만 넣었는지 확인&lt;/li&gt;
&lt;li&gt;&lt;code&gt;components&lt;/code&gt; = 재사용 UI를 따로 분리했는지 확인&lt;/li&gt;
&lt;li&gt;&lt;code&gt;pages&lt;/code&gt; = 화면 단위 파일을 구분했는지 확인&lt;/li&gt;
&lt;li&gt;파일 위치만 봐도 역할이 보이는 구조인지 확인&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;실무 관점에서 보면 어떤 기준이 중요할까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;결국 핵심은 폴더 이름보다 역할 분리가 잘 되는지입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실무에서는 프로젝트마다 구조가 조금씩 다를 수 있습니다. 하지만 공통적으로 중요한 기준은 아래입니다.&lt;/p&gt;
&lt;ul style=&quot;margin: 14px 0 22px; padding-left: 20px; line-height: 1.95; color: #334155;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;재사용 가능한 것과 페이지 전용 코드를 분리할 것&lt;/li&gt;
&lt;li&gt;정적 파일과 React 코드 자산을 구분할 것&lt;/li&gt;
&lt;li&gt;파일 위치만 봐도 역할이 어느 정도 보이게 할 것&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, 정답은 한 가지가 아니지만 &lt;b&gt;읽는 사람이 이해하기 쉬운 구조&lt;/b&gt;가 좋은 구조입니다.&lt;/p&gt;
&lt;div id=&quot;code_coupang_react_structure_3&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 34px 0 16px; padding: 20px 22px; border: 1px solid #bfdbfe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%); box-shadow: 0 10px 28px rgba(37,99,235,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 20px; font-weight: 800; color: #0f172a; margin-bottom: 12px;&quot;&gt;마무리 정리&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155; margin-bottom: 14px;&quot;&gt;React 프로젝트 구조를 이해할 때는 폴더 이름만 외우기보다, 어떤 역할 때문에 나누는지를 같이 이해하는 것이 중요합니다.&lt;/div&gt;
&lt;div style=&quot;padding-top: 12px; border-top: 1px solid #dbeafe; font-size: 15px; line-height: 1.95; color: #0f172a;&quot;&gt;
&lt;div&gt;&lt;b&gt;src&lt;/b&gt; = 실제 React 코드 중심&lt;/div&gt;
&lt;div&gt;&lt;b&gt;public&lt;/b&gt; = 정적 파일 직접 제공&lt;/div&gt;
&lt;div&gt;&lt;b&gt;components&lt;/b&gt; = 재사용 UI 컴포넌트 관리&lt;/div&gt;
&lt;div&gt;&lt;b&gt;핵심&lt;/b&gt; = 구조는 정답보다 역할 분리가 중요&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;React 프로젝트 구조를 이해하면 파일이 늘어나도 덜 헤매고, 이후 컴포넌트 설계와 페이지 분리도 훨씬 쉬워집니다.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;�.&lt;/p&gt;
&lt;blockquote style=&quot;margin: 18px 0 28px; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;React 프로젝트 구조를 이해하면 파일이 늘어나도 덜 헤매고, 이후 컴포넌트 설계와 페이지 분리도 훨씬 쉬워집니다.&lt;/blockquote&gt;
&lt;div style=&quot;margin: 24px 0 0; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;다음으로 같이 보면 좋은 React 글&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/what-is-react-features-benefits-guide&quot;&gt;React란 무엇인가? 특징, 장점, 사용하는 이유까지 쉽게 정리&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/react-install-development-environment-setup-guide&quot;&gt;React 설치 및 개발환경 세팅 방법 | Node.js 설치부터 프로젝트 생성까지&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/react-jsx-syntax-conditional-rendering-list-guide&quot;&gt;React JSX 문법 정리 | 기본 문법, 조건부 렌더링, 리스트 렌더링까지&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/react-router-basic-routing-navigation-guide&quot;&gt;React Router 사용법 | 페이지 이동, Link, 기본 라우팅 적용 방법&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description>
      <category>Front/React</category>
      <category>Components</category>
      <category>Public</category>
      <category>react</category>
      <category>SRC</category>
      <category>리액트</category>
      <category>폴더구조</category>
      <category>프로젝트구조</category>
      <category>프론트엔드</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/97</guid>
      <comments>https://trace90.tistory.com/entry/react-project-structure-src-public-components-guide#entry97comment</comments>
      <pubDate>Wed, 1 Apr 2026 22:31:29 +0900</pubDate>
    </item>
    <item>
      <title>React 설치 및 개발환경 세팅 방법 | Node.js 설치부터 프로젝트 생성까지</title>
      <link>https://trace90.tistory.com/entry/react-development-environment-setup-guide</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;React를 처음 시작할 때 가장 먼저 막히는 구간은 문법이 아니라 &lt;b&gt;개발환경 세팅&lt;/b&gt;입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 입문자 입장에서는 아래가 한 번에 헷갈리기 쉽습니다.&lt;/p&gt;
&lt;ul style=&quot;margin: 14px 0 22px; padding-left: 20px; line-height: 1.95; color: #334155;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Node.js는 왜 설치해야 하는가?&lt;/li&gt;
&lt;li&gt;npm은 무엇이고 같이 설치되는가?&lt;/li&gt;
&lt;li&gt;React 프로젝트는 어떤 명령어로 시작하는가?&lt;/li&gt;
&lt;li&gt;생성한 프로젝트는 어떻게 실행하는가?&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 글에서는 React를 처음 시작하는 분 기준으로 &lt;b&gt;Node.js 설치 &amp;rarr; 버전 확인 &amp;rarr; React 프로젝트 생성 &amp;rarr; 개발 서버 실행&lt;/b&gt;까지 한 번에 따라갈 수 있도록 정리하겠습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%); box-shadow: 0 10px 28px rgba(37,99,235,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;핵심만 먼저 보면&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;React 개발환경 세팅의 핵심은 &lt;b&gt;Node.js 설치&lt;/b&gt;, &lt;b&gt;패키지 매니저 확인&lt;/b&gt;, &lt;b&gt;Vite로 프로젝트 생성&lt;/b&gt;, &lt;b&gt;개발 서버 실행&lt;/b&gt;입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
&lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
&lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
&lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
&lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;왜 Node.js부터 설치해야 할까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;React 자체보다 먼저 필요한 기반 도구가 있습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;React 프로젝트는 브라우저에서 바로 HTML 파일 하나만 열어서 시작하는 방식보다, &lt;b&gt;빌드 도구와 패키지 관리 도구&lt;/b&gt;를 함께 사용하는 구조가 일반적입니다. 이때 필요한 것이 Node.js입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Node.js를 설치하면 보통 함께 사용할 수 있는 것이 &lt;b&gt;npm&lt;/b&gt;입니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Node.js&lt;/b&gt; = JavaScript를 실행할 수 있는 런타임&lt;/li&gt;
&lt;li&gt;&lt;b&gt;npm&lt;/b&gt; = 필요한 라이브러리를 설치하는 패키지 관리자&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, React 개발환경은 보통 &lt;b&gt;Node.js 설치가 시작점&lt;/b&gt;입니다.&lt;/p&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;React를 쓰기 위해 Node.js를 설치한다기보다, &lt;b&gt;React 프로젝트를 만들고 실행하는 도구들을 쓰기 위해 Node.js가 필요하다&lt;/b&gt;고 이해하면 쉽습니다.&lt;/blockquote&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;React 개발환경 세팅 순서는 어떻게 될까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;전체 흐름을 먼저 보면 훨씬 덜 헤맵니다.&lt;/div&gt;
&lt;/div&gt;
&lt;pre class=&quot;crmsh&quot;&gt;&lt;code&gt;1. Node.js 설치
2. node / npm 버전 확인
3. React 프로젝트 생성
4. 프로젝트 폴더 이동
5. 개발 서버 실행
6. 브라우저에서 localhost 확인
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 순서대로만 진행하면 React 입문 개발환경은 거의 끝났다고 보면 됩니다.&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.75; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff; table-layout: auto;&quot; data-ke-align=&quot;alignLeft&quot;&gt;&lt;colgroup&gt; &lt;col style=&quot;width: 28%;&quot; /&gt; &lt;col style=&quot;width: 72%;&quot; /&gt; &lt;/colgroup&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px 12px; background: #eff6ff; border-bottom: 1px solid #dbeafe; text-align: left; color: #1d4ed8; white-space: nowrap;&quot;&gt;단계&lt;/th&gt;
&lt;th style=&quot;padding: 14px 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; text-align: left; color: #1d4ed8;&quot;&gt;설명&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; color: #0f172a;&quot;&gt;&lt;b&gt;Node.js 설치&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; color: #334155;&quot;&gt;React 프로젝트를 만들기 위한 기본 런타임을 준비합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; border-top: 1px solid #dbeafe; color: #0f172a;&quot;&gt;&lt;b&gt;버전 확인&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;node, npm 명령이 정상 동작하는지 확인합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; border-top: 1px solid #dbeafe; color: #0f172a;&quot;&gt;&lt;b&gt;프로젝트 생성&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;Vite 기반 React 프로젝트를 생성합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; border-top: 1px solid #dbeafe; color: #0f172a;&quot;&gt;&lt;b&gt;실행&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;npm run dev로 개발 서버를 띄웁니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;1. Node.js 설치하기&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;운영체제와 관계없이 공식 사이트 기준으로 진행하는 것이 가장 안전합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Node.js는 공식 사이트에서 설치하는 것이 가장 무난합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사이트: &lt;b&gt;&lt;a href=&quot;https://nodejs.org&quot;&gt;https://nodejs.org&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;입문자라면 보통 &lt;b&gt;LTS 버전&lt;/b&gt; 설치를 권장합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;LTS는 Long Term Support 버전으로, 상대적으로 더 안정적인 버전입니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #fffbeb; box-shadow: 0 6px 18px rgba(245,158,11,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #92400e; margin-bottom: 10px;&quot;&gt;입문자 기준 팁&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.9; color: #78350f;&quot;&gt;특별한 이유가 없다면 최신(Current)보다 &lt;b&gt;LTS 버전&lt;/b&gt;으로 시작하는 편이 안정적입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;설치가 끝났다면 터미널(또는 명령 프롬프트)에서 아래 명령어로 확인합니다.&lt;/p&gt;
&lt;pre class=&quot;crmsh&quot;&gt;&lt;code&gt;node -v
npm -v
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정상이라면 버전이 출력됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예시:&lt;/p&gt;
&lt;pre class=&quot;angelscript&quot;&gt;&lt;code&gt;v22.14.0
10.9.2
&lt;/code&gt;&lt;/pre&gt;
&lt;div id=&quot;code_coupang_react_setup_1&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #818cf8; background: #f5f7ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(129,140,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;2. React 프로젝트 생성하기&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;요즘 입문 기준에서는 Create React App보다 Vite가 더 자주 쓰입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예전에는 Create React App(CRA)로 많이 시작했지만, 현재는 &lt;b&gt;Vite&lt;/b&gt;로 시작하는 경우가 많습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프로젝트 생성 명령어는 아래처럼 진행하면 됩니다.&lt;/p&gt;
&lt;pre class=&quot;coffeescript&quot;&gt;&lt;code&gt;npm create vite@latest
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;명령어를 실행하면 보통 아래 순서로 질문이 나옵니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;프로젝트 이름 입력&lt;/li&gt;
&lt;li&gt;프레임워크 선택 &amp;rarr; React&lt;/li&gt;
&lt;li&gt;언어 선택 &amp;rarr; JavaScript 또는 TypeScript&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어:&lt;/p&gt;
&lt;pre class=&quot;vala&quot;&gt;&lt;code&gt;npm create vite@latest
# Project name: react-start
# Framework: React
# Variant: JavaScript
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 &lt;code&gt;react-start&lt;/code&gt; 같은 폴더가 생성됩니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 24px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;왜 Vite를 많이 쓸까?&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.9; color: #334155;&quot;&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; line-height: 1.9; color: #334155;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;프로젝트 생성이 빠르고&lt;/li&gt;
&lt;li&gt;개발 서버 실행 속도가 빠르며&lt;/li&gt;
&lt;li&gt;입문용/실무용 모두 무난하게 시작하기 좋기 때문입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #22c55e; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(34,197,94,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;3. 프로젝트 폴더 이동 후 패키지 설치&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;생성만으로 끝나는 것이 아니라, 필요한 패키지를 설치해야 합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프로젝트가 생성되면 해당 폴더로 이동합니다.&lt;/p&gt;
&lt;pre class=&quot;dos&quot;&gt;&lt;code&gt;cd react-start
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 다음 아래 명령어로 필요한 패키지를 설치합니다.&lt;/p&gt;
&lt;pre class=&quot;cmake&quot;&gt;&lt;code&gt;npm install
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 명령어는 &lt;code&gt;package.json&lt;/code&gt; 기준으로 필요한 라이브러리를 내려받는 과정입니다.&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.75; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff; table-layout: auto;&quot; data-ke-align=&quot;alignLeft&quot;&gt;&lt;colgroup&gt; &lt;col style=&quot;width: 28%;&quot; /&gt; &lt;col style=&quot;width: 72%;&quot; /&gt; &lt;/colgroup&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px 12px; background: #eff6ff; border-bottom: 1px solid #dbeafe; text-align: left; color: #1d4ed8; white-space: nowrap;&quot;&gt;명령어&lt;/th&gt;
&lt;th style=&quot;padding: 14px 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; text-align: left; color: #1d4ed8;&quot;&gt;의미&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; color: #0f172a;&quot;&gt;&lt;b&gt;cd 폴더명&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; color: #334155;&quot;&gt;생성된 프로젝트 폴더로 이동합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; border-top: 1px solid #dbeafe; color: #0f172a;&quot;&gt;&lt;b&gt;npm install&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;프로젝트 실행에 필요한 패키지를 설치합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; border-top: 1px solid #dbeafe; color: #0f172a;&quot;&gt;&lt;b&gt;npm run dev&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;개발 서버를 실행합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;4. React 프로젝트 실행하기&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;이제 실제로 브라우저에서 확인할 단계입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래 명령어를 실행합니다.&lt;/p&gt;
&lt;pre class=&quot;dockerfile&quot;&gt;&lt;code&gt;npm run dev
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그러면 터미널에 보통 아래처럼 주소가 출력됩니다.&lt;/p&gt;
&lt;pre class=&quot;groovy&quot;&gt;&lt;code&gt;Local:   http://localhost:5173/
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 주소를 브라우저에서 열면 React 시작 화면을 볼 수 있습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #bfdbfe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;한 줄 요약&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.9; color: #334155;&quot;&gt;&lt;b&gt;npm run dev&lt;/b&gt;를 실행하고, 표시된 &lt;b&gt;localhost 주소&lt;/b&gt;를 브라우저로 열면 React 개발 서버 결과를 확인할 수 있습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_react_setup_2&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;자주 발생하는 문제는 무엇일까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;입문자들이 개발환경 세팅에서 많이 막히는 포인트를 같이 알아두면 좋습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.75; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff; table-layout: auto;&quot; data-ke-align=&quot;alignLeft&quot;&gt;&lt;colgroup&gt; &lt;col style=&quot;width: 32%;&quot; /&gt; &lt;col style=&quot;width: 68%;&quot; /&gt; &lt;/colgroup&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px 12px; background: #eff6ff; border-bottom: 1px solid #dbeafe; text-align: left; color: #1d4ed8; white-space: nowrap;&quot;&gt;문제&lt;/th&gt;
&lt;th style=&quot;padding: 14px 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; text-align: left; color: #1d4ed8;&quot;&gt;점검 포인트&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; color: #0f172a;&quot;&gt;&lt;b&gt;node 명령어가 안 됨&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; color: #334155;&quot;&gt;Node.js 설치가 제대로 되었는지, 터미널을 재시작했는지 확인합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; border-top: 1px solid #dbeafe; color: #0f172a;&quot;&gt;&lt;b&gt;npm install 오류&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;인터넷 연결, 권한 문제, Node 버전 호환성을 확인합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; border-top: 1px solid #dbeafe; color: #0f172a;&quot;&gt;&lt;b&gt;localhost 접속 안 됨&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;터미널에 개발 서버가 실제로 켜져 있는지, 주소와 포트를 올바르게 열었는지 확인합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #fef2f2; box-shadow: 0 6px 18px rgba(220,38,38,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #991b1b; margin-bottom: 10px;&quot;&gt;정말 중요한 포인트&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.9; color: #7f1d1d;&quot;&gt;React 입문자는 문법보다 먼저 &lt;b&gt;개발환경 세팅이 정상적으로 끝났는지&lt;/b&gt;를 확인해야 합니다. 즉, &lt;b&gt;프로젝트 생성 성공 + npm install 성공 + npm run dev 성공 + localhost 화면 확인&lt;/b&gt; 이 네 가지가 핵심입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #22c55e; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(34,197,94,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;실무 관점에서는 무엇까지 알고 있으면 좋을까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;입문 세팅을 넘어서면 다음 단계도 자연스럽게 이어집니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;React 개발환경 세팅이 끝났다면 이후에는 보통 아래 순서로 넘어갑니다.&lt;/p&gt;
&lt;ul style=&quot;margin: 14px 0 22px; padding-left: 20px; line-height: 1.95; color: #334155;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;컴포넌트 구조 이해&lt;/li&gt;
&lt;li&gt;props / state&lt;/li&gt;
&lt;li&gt;이벤트 처리&lt;/li&gt;
&lt;li&gt;API 호출&lt;/li&gt;
&lt;li&gt;라우팅&lt;/li&gt;
&lt;li&gt;빌드&lt;/li&gt;
&lt;li&gt;서버 배포&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, 개발환경 세팅 글은 React 학습의 시작점 역할을 합니다.&lt;/p&gt;
&lt;div id=&quot;code_coupang_react_setup_3&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 34px 0 16px; padding: 20px 22px; border: 1px solid #bfdbfe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%); box-shadow: 0 10px 28px rgba(37,99,235,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 20px; font-weight: 800; color: #0f172a; margin-bottom: 12px;&quot;&gt;마무리 정리&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155; margin-bottom: 14px;&quot;&gt;React 개발환경 세팅은 어렵게 느껴질 수 있지만, 실제 흐름은 단순합니다. Node.js를 설치하고, 프로젝트를 만들고, 패키지를 설치하고, 개발 서버를 실행하면 됩니다.&lt;/div&gt;
&lt;div style=&quot;padding-top: 12px; border-top: 1px solid #dbeafe; font-size: 15px; line-height: 1.95; color: #0f172a;&quot;&gt;
&lt;div&gt;&lt;b&gt;1단계&lt;/b&gt; Node.js 설치&lt;/div&gt;
&lt;div&gt;&lt;b&gt;2단계&lt;/b&gt; node / npm 버전 확인&lt;/div&gt;
&lt;div&gt;&lt;b&gt;3단계&lt;/b&gt; Vite로 React 프로젝트 생성&lt;/div&gt;
&lt;div&gt;&lt;b&gt;4단계&lt;/b&gt; npm install 후 npm run dev 실행&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;React를 처음 시작할 때 가장 중요한 것은 &lt;b&gt;개발환경이 정상적으로 실행되는 첫 경험&lt;/b&gt;을 만드는 것입니다.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;der-top:1px solid #dbeafe; font-size:15px; line-height:1.95; color:#0f172a;&quot;&amp;gt;&lt;/p&gt;
&lt;div&gt;&lt;b&gt;1단계&lt;/b&gt; Node.js 설치&lt;/div&gt;
&lt;div&gt;&lt;b&gt;2단계&lt;/b&gt; node / npm 버전 확인&lt;/div&gt;
&lt;div&gt;&lt;b&gt;3단계&lt;/b&gt; Vite로 React 프로젝트 생성&lt;/div&gt;
&lt;div&gt;&lt;b&gt;4단계&lt;/b&gt; npm install 후 npm run dev 실행&lt;/div&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;React를 처음 시작할 때 가장 중요한 것은 &lt;b&gt;개발환경이 정상적으로 실행되는 첫 경험&lt;/b&gt;을 만드는 것입니다.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;n:18px 0 28px; padding:16px 18px; border-left:5px solid #2563eb; background:#eff6ff; color:#1e3a8a; border-radius:12px; font-size:15px; line-height:1.9;&quot;&amp;gt; React를 처음 시작할 때 가장 중요한 것은 &lt;b&gt;개발환경이 정상적으로 실행되는 첫 경험&lt;/b&gt;을 만드는 것입니다.&lt;/p&gt;
&lt;div style=&quot;margin: 24px 0 0; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;다음으로 같이 보면 좋은 React 글&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/what-is-react-features-benefits-guide&quot;&gt;React란 무엇인가? 특징, 장점, 사용하는 이유까지 쉽게 정리&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/react-project-structure-src-public-components-guide&quot;&gt;React 프로젝트 구조 정리 | src, public, components 폴더 역할 쉽게 이해하기&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/react-jsx-syntax-conditional-rendering-list-guide&quot;&gt;React JSX 문법 정리 | 기본 문법, 조건부 렌더링, 리스트 렌더링까지&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/react-router-basic-routing-navigation-guide&quot;&gt;React Router 사용법 | 페이지 이동, Link, 기본 라우팅 적용 방법&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description>
      <category>Front/React</category>
      <category>Node.js</category>
      <category>npm</category>
      <category>react</category>
      <category>vite</category>
      <category>개발환경세팅</category>
      <category>리액트</category>
      <category>프로젝트생성</category>
      <category>프론트엔드</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/96</guid>
      <comments>https://trace90.tistory.com/entry/react-development-environment-setup-guide#entry96comment</comments>
      <pubDate>Wed, 1 Apr 2026 10:34:38 +0900</pubDate>
    </item>
    <item>
      <title>React란 무엇인가? 특징, 장점, 사용하는 이유까지 쉽게 정리</title>
      <link>https://trace90.tistory.com/entry/what-is-react-features-benefits-guide</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;프론트엔드 공부를 시작하면 가장 먼저 자주 보게 되는 이름이 바로 &lt;b&gt;React&lt;/b&gt;입니다. 채용 공고에서도 많이 보이고, 실무 프로젝트에서도 널리 쓰이며, 입문자가 처음 접하기 좋은 대표 프론트엔드 도구이기도 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 처음에는 아래처럼 헷갈리기 쉽습니다.&lt;/p&gt;
&lt;ul style=&quot;margin: 14px 0 22px; padding-left: 20px; line-height: 1.95; color: #334155;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;React는 정확히 무엇인가?&lt;/li&gt;
&lt;li&gt;JavaScript와는 무엇이 다른가?&lt;/li&gt;
&lt;li&gt;왜 많은 서비스가 React를 사용하는가?&lt;/li&gt;
&lt;li&gt;React를 배우면 실제로 무엇이 편해지는가?&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 글에서는 React를 처음 접하는 분들도 흐름이 한 번에 잡히도록 &lt;b&gt;쉬운 정의 &amp;rarr; 왜 중요한가 &amp;rarr; 핵심 특징 &amp;rarr; 장점 &amp;rarr; 왜 사용하는가 &amp;rarr; 예제 &amp;rarr; 실무 포인트&lt;/b&gt; 순서로 정리하겠습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%); box-shadow: 0 10px 28px rgba(37,99,235,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;핵심만 먼저 보면&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;React는 &lt;b&gt;사용자 인터페이스(UI)를 컴포넌트 단위로 나누어 만들고, 상태 변화에 따라 화면을 효율적으로 업데이트할 수 있게 도와주는 JavaScript 라이브러리&lt;/b&gt;입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
&lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
&lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
&lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
&lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;React란 무엇인가?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;먼저 React의 정체부터 정확히 잡고 가면 뒤 내용이 훨씬 쉬워집니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;React는 메타(Meta)에서 만든 &lt;b&gt;JavaScript UI 라이브러리&lt;/b&gt;입니다. 흔히 프레임워크처럼 함께 묶여 불리기도 하지만, 정확히는 &lt;b&gt;사용자 인터페이스를 만들기 위한 라이브러리&lt;/b&gt;에 가깝습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 UI는 사용자가 직접 보게 되는 화면 요소를 뜻합니다. 예를 들면 다음과 같습니다.&lt;/p&gt;
&lt;ul style=&quot;margin: 14px 0 22px; padding-left: 20px; line-height: 1.95; color: #334155;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;버튼&lt;/li&gt;
&lt;li&gt;메뉴&lt;/li&gt;
&lt;li&gt;로그인 폼&lt;/li&gt;
&lt;li&gt;게시글 목록&lt;/li&gt;
&lt;li&gt;상품 카드&lt;/li&gt;
&lt;li&gt;댓글 영역&lt;/li&gt;
&lt;li&gt;관리자 대시보드&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;React는 이런 화면을 한 덩어리로 만드는 대신, &lt;b&gt;작은 부품처럼 나누고 조립하는 방식&lt;/b&gt;으로 개발하게 도와줍니다.&lt;/p&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;React의 핵심은 화면을 &lt;b&gt;컴포넌트 단위로 쪼개고&lt;/b&gt;, 그 컴포넌트를 &lt;b&gt;재사용하기 쉽게 관리하는 것&lt;/b&gt;입니다.&lt;/blockquote&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;왜 React가 중요한가?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;요즘 웹은 단순 문서가 아니라 앱처럼 동작합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예전 웹페이지는 정보를 보여주는 역할이 중심이었습니다. 하지만 지금의 웹 서비스는 다릅니다.&lt;/p&gt;
&lt;ul style=&quot;margin: 14px 0 22px; padding-left: 20px; line-height: 1.95; color: #334155;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;검색 결과가 실시간으로 바뀌고&lt;/li&gt;
&lt;li&gt;버튼 클릭에 따라 화면 일부만 즉시 바뀌고&lt;/li&gt;
&lt;li&gt;로그인 여부에 따라 메뉴가 달라지고&lt;/li&gt;
&lt;li&gt;댓글, 채팅, 알림, 장바구니, 대시보드가 계속 갱신됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 화면을 순수 JavaScript와 DOM 조작만으로 계속 관리하면, 기능이 늘어날수록 코드가 빠르게 복잡해집니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #bfdbfe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;중요한 관점&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.9; color: #334155;&quot;&gt;화면이 복잡해질수록 핵심은 &lt;b&gt;DOM을 직접 어떻게 조작할지&lt;/b&gt;보다, &lt;b&gt;상태가 바뀌었을 때 화면을 어떻게 일관되게 다시 그릴지&lt;/b&gt;입니다. React는 바로 이 부분을 구조적으로 다루게 해줍니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_react_1&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;React의 핵심 특징은 무엇인가?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;입문 단계에서는 아래 4가지를 먼저 이해하면 충분합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 18px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;1. 컴포넌트 기반 개발&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;React는 화면을 컴포넌트 단위로 나눕니다. 예를 들어 쇼핑몰 메인 화면은 Header, SearchBar, ProductCard, Footer 같은 작은 단위로 분리할 수 있습니다.&lt;/div&gt;
&lt;ul style=&quot;margin: 12px 0 0; padding-left: 20px; line-height: 1.9; color: #334155;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;재사용이 쉬워지고&lt;/li&gt;
&lt;li&gt;수정 범위가 명확해지고&lt;/li&gt;
&lt;li&gt;협업 구조를 만들기 쉬워집니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;pre class=&quot;javascript&quot;&gt;&lt;code&gt;function WelcomeCard() {
  return &amp;lt;div&amp;gt;React에 오신 것을 환영합니다.&amp;lt;/div&amp;gt;;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 18px 0 18px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;2. 선언형 UI&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;React는 &amp;ldquo;어떻게 바꿀지&amp;rdquo;보다 &amp;ldquo;지금 상태에서 어떤 화면이 보여야 하는지&amp;rdquo;를 선언하는 방식에 가깝습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;pre class=&quot;actionscript&quot;&gt;&lt;code&gt;function Greeting({ isLogin }) {
  return &amp;lt;h1&amp;gt;{isLogin ? '환영합니다' : '로그인이 필요합니다'}&amp;lt;/h1&amp;gt;;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 18px 0 18px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;3. 상태(State) 중심 화면 관리&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;React에서는 데이터 상태가 바뀌면 화면도 그에 맞춰 다시 반영됩니다. 이 방식이 복잡한 인터랙션을 관리하기 쉽게 만듭니다.&lt;/div&gt;
&lt;/div&gt;
&lt;pre class=&quot;javascript&quot;&gt;&lt;code&gt;import { useState } from 'react';

function Counter() {
  const [count, setCount] = useState(0);

  return (
    &amp;lt;div&amp;gt;
      &amp;lt;p&amp;gt;현재 숫자: {count}&amp;lt;/p&amp;gt;
      &amp;lt;button onClick={() =&amp;gt; setCount(count + 1)}&amp;gt;증가&amp;lt;/button&amp;gt;
    &amp;lt;/div&amp;gt;
  );
}
&lt;/code&gt;&lt;/pre&gt;
&lt;div style=&quot;margin: 18px 0 18px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;4. Virtual DOM 기반 업데이트&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;React는 화면이 바뀔 때 실제 DOM 전체를 매번 직접 다루기보다, 변경 차이를 계산한 뒤 필요한 부분을 효율적으로 반영하려고 합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #0ea5e9; background: #ecfeff; color: #0f766e; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;입문 단계에서는 &amp;ldquo;React는 화면 변경을 더 효율적으로 처리하려고 한다&amp;rdquo; 정도로 이해해도 충분합니다.&lt;/blockquote&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #818cf8; background: #f5f7ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(129,140,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;React의 장점은 무엇인가?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;표 형식으로 빠르게 훑어볼 수 있게 정리하면 아래와 같습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.75; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff; table-layout: auto;&quot; data-ke-align=&quot;alignLeft&quot;&gt;&lt;colgroup&gt; &lt;col style=&quot;width: 28%;&quot; /&gt; &lt;col style=&quot;width: 72%;&quot; /&gt; &lt;/colgroup&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px 12px; background: #eff6ff; border-bottom: 1px solid #dbeafe; text-align: left; color: #1d4ed8; white-space: nowrap;&quot;&gt;장점&lt;/th&gt;
&lt;th style=&quot;padding: 14px 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; text-align: left; color: #1d4ed8;&quot;&gt;설명&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; color: #0f172a;&quot;&gt;&lt;b&gt;재사용성&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; color: #334155;&quot;&gt;컴포넌트를 여러 화면에서 반복 활용하기 좋습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; border-top: 1px solid #dbeafe; color: #0f172a;&quot;&gt;&lt;b&gt;유지보수성&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;기능별로 분리되어 수정 범위를 파악하기 쉽습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; border-top: 1px solid #dbeafe; color: #0f172a;&quot;&gt;&lt;b&gt;생산성&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;상태 기반 UI를 구조적으로 구현하기 좋습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; border-top: 1px solid #dbeafe; color: #0f172a;&quot;&gt;&lt;b&gt;생태계&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;Router, 상태관리, 빌드 도구가 풍부합니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; border-top: 1px solid #dbeafe; color: #0f172a;&quot;&gt;&lt;b&gt;실무 활용도&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;채용과 실무 프로젝트에서 활용 비중이 높습니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #22c55e; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(34,197,94,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;왜 많은 팀이 React를 사용할까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;단순히 유명해서가 아니라 팀 개발과 서비스 확장에 잘 맞기 때문입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;React가 실제로 많이 선택되는 이유는 보통 아래와 같습니다.&lt;/p&gt;
&lt;ul style=&quot;margin: 14px 0 22px; padding-left: 20px; line-height: 1.95; color: #334155;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;컴포넌트 재사용&lt;/b&gt;이 쉬워 화면 확장이 편함&lt;/li&gt;
&lt;li&gt;&lt;b&gt;상태 기반 UI&lt;/b&gt; 관리가 체계적임&lt;/li&gt;
&lt;li&gt;대규모 프로젝트에서 &lt;b&gt;구조화&lt;/b&gt;하기 좋음&lt;/li&gt;
&lt;li&gt;학습 자료, 레퍼런스, 커뮤니티가 풍부함&lt;/li&gt;
&lt;li&gt;TypeScript, 테스트, 빌드, 배포 흐름과 연결이 좋음&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fde68a; border-radius: 18px; background: #fffbeb; box-shadow: 0 6px 18px rgba(245,158,11,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #92400e; margin-bottom: 10px;&quot;&gt;꼭 봐야 할 포인트&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.9; color: #78350f;&quot;&gt;React는 단순히 예쁜 화면을 만드는 도구라기보다, &lt;b&gt;변화가 많은 화면을 구조적으로 관리하기 위한 도구&lt;/b&gt;라고 이해하는 편이 더 정확합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_react_2&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #a78bfa; background: #f8f5ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(167,139,250,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;React를 사용하지 않으면 어떤 점이 불편할까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;순수 JavaScript만으로도 가능하지만, 규모가 커질수록 차이가 커집니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 아래 같은 기능을 직접 관리한다고 생각해보겠습니다.&lt;/p&gt;
&lt;ul style=&quot;margin: 14px 0 22px; padding-left: 20px; line-height: 1.95; color: #334155;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;버튼 클릭 시 숫자 증가&lt;/li&gt;
&lt;li&gt;목록 추가/삭제&lt;/li&gt;
&lt;li&gt;로그인 여부에 따른 메뉴 변경&lt;/li&gt;
&lt;li&gt;서버 데이터 로딩 후 화면 갱신&lt;/li&gt;
&lt;li&gt;필터 조건에 따라 화면 일부만 갱신&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;작은 예제에서는 괜찮지만, 기능이 많아질수록 아래 문제가 생기기 쉽습니다.&lt;/p&gt;
&lt;ul style=&quot;margin: 14px 0 22px; padding-left: 20px; line-height: 1.95; color: #334155;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 코드가 어떤 화면을 바꾸는지 추적하기 어려움&lt;/li&gt;
&lt;li&gt;상태와 DOM 조작 코드가 뒤섞임&lt;/li&gt;
&lt;li&gt;재사용 구조가 약해짐&lt;/li&gt;
&lt;li&gt;협업 시 수정 충돌이 늘어남&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;React는 이런 문제를 줄이기 위해 &lt;b&gt;컴포넌트와 상태 중심 구조&lt;/b&gt;를 제공합니다.&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;간단한 예제로 보면 React 감각이 더 빨리 잡힌다&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;직접 보면 왜 많이 쓰는지 더 쉽게 이해됩니다.&lt;/div&gt;
&lt;/div&gt;
&lt;pre class=&quot;javascript&quot;&gt;&lt;code&gt;import { useState } from 'react';

function LikeButton() {
  const [liked, setLiked] = useState(false);

  return (
    &amp;lt;button onClick={() =&amp;gt; setLiked(!liked)}&amp;gt;
      {liked ? '좋아요 취소' : '좋아요'}
    &amp;lt;/button&amp;gt;
  );
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 코드는 아래 흐름으로 이해하면 됩니다.&lt;/p&gt;
&lt;ul style=&quot;margin: 14px 0 22px; padding-left: 20px; line-height: 1.95; color: #334155;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;현재 liked 상태를 가지고 있고&lt;/li&gt;
&lt;li&gt;버튼을 누르면 상태가 바뀌며&lt;/li&gt;
&lt;li&gt;상태가 바뀌면 화면 문구도 함께 바뀝니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, React에서는 &lt;b&gt;직접 DOM을 바꾸는 명령을 일일이 적기보다, 상태 변화를 통해 화면이 자연스럽게 반영&lt;/b&gt;되도록 설계합니다.&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;React와 JavaScript는 무엇이 다를까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;표 형식으로 보면 핵심 차이를 빠르게 구분할 수 있습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.75; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff; table-layout: auto;&quot; data-ke-align=&quot;alignLeft&quot;&gt;&lt;colgroup&gt; &lt;col style=&quot;width: 26%;&quot; /&gt; &lt;col style=&quot;width: 74%;&quot; /&gt; &lt;/colgroup&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px 12px; background: #eff6ff; border-bottom: 1px solid #dbeafe; text-align: left; color: #1d4ed8; white-space: nowrap;&quot;&gt;구분&lt;/th&gt;
&lt;th style=&quot;padding: 14px 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; text-align: left; color: #1d4ed8;&quot;&gt;설명&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; color: #0f172a;&quot;&gt;&lt;b&gt;JavaScript&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; color: #334155;&quot;&gt;웹 브라우저에서 동작하는 프로그래밍 언어입니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; border-top: 1px solid #dbeafe; color: #0f172a;&quot;&gt;&lt;b&gt;React&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;JavaScript 위에서 동작하며 UI를 효율적으로 만들게 도와주는 라이브러리입니다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, React를 잘 쓰려면 JavaScript 기초가 먼저 필요합니다. 특히 아래는 반드시 익숙해야 합니다.&lt;/p&gt;
&lt;ul style=&quot;margin: 14px 0 22px; padding-left: 20px; line-height: 1.95; color: #334155;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;변수와 함수&lt;/li&gt;
&lt;li&gt;배열 메서드(map, filter)&lt;/li&gt;
&lt;li&gt;객체 구조 분해 할당&lt;/li&gt;
&lt;li&gt;이벤트 처리&lt;/li&gt;
&lt;li&gt;비동기 처리(async/await)&lt;/li&gt;
&lt;li&gt;ES6 문법&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #fef2f2; box-shadow: 0 6px 18px rgba(220,38,38,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #991b1b; margin-bottom: 10px;&quot;&gt;자주 헷갈리는 포인트&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.9; color: #7f1d1d;&quot;&gt;&lt;b&gt;React를 배우는 것&lt;/b&gt;은 &lt;b&gt;JavaScript를 건너뛰는 것&lt;/b&gt;이 아닙니다.&lt;br /&gt;React는 JavaScript를 대체하는 기술이 아니라, JavaScript를 더 구조적으로 활용하게 해주는 도구입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;React를 배우면 어디에 활용할 수 있을까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;실제 사용처를 알면 학습 방향이 더 분명해집니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;React는 아래 같은 곳에 폭넓게 활용됩니다.&lt;/p&gt;
&lt;ul style=&quot;margin: 14px 0 22px; padding-left: 20px; line-height: 1.95; color: #334155;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;관리자 페이지(Admin)&lt;/li&gt;
&lt;li&gt;쇼핑몰 프론트엔드&lt;/li&gt;
&lt;li&gt;대시보드&lt;/li&gt;
&lt;li&gt;게시판/커뮤니티&lt;/li&gt;
&lt;li&gt;예약/주문 화면&lt;/li&gt;
&lt;li&gt;SaaS 웹 서비스&lt;/li&gt;
&lt;li&gt;모바일 앱과 연결되는 웹 프론트&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한 Next.js 같은 프레임워크와 결합하면 SEO 대응, 서버 사이드 렌더링, 정적 페이지 생성, 라우팅 구조화까지 더 넓게 확장할 수 있습니다.&lt;/p&gt;
&lt;div id=&quot;code_coupang_react_3&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #22c55e; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(34,197,94,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;실무 관점에서 보면 React는 어떤 도구인가?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;무조건 정답인 도구라기보다, 잘 맞는 상황이 분명한 도구입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.75; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff; table-layout: auto;&quot; data-ke-align=&quot;alignLeft&quot;&gt;&lt;colgroup&gt; &lt;col style=&quot;width: 32%;&quot; /&gt; &lt;col style=&quot;width: 68%;&quot; /&gt; &lt;/colgroup&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px 12px; background: #eff6ff; border-bottom: 1px solid #dbeafe; text-align: left; color: #1d4ed8; white-space: nowrap;&quot;&gt;구분&lt;/th&gt;
&lt;th style=&quot;padding: 14px 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; text-align: left; color: #1d4ed8;&quot;&gt;내용&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; color: #0f172a;&quot;&gt;&lt;b&gt;React가 특히 잘 맞는 경우&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; color: #334155;&quot;&gt;화면 변화가 많고, 재사용 UI가 많으며, 협업 구조가 필요한 서비스&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 13px 12px; vertical-align: top; border-top: 1px solid #dbeafe; color: #0f172a;&quot;&gt;&lt;b&gt;추가 도구가 필요한 부분&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 13px 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;라우팅, 상태관리, 빌드&amp;middot;배포는 별도 도구와 함께 보는 경우가 많음&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, React는 혼자 모든 것을 해결하는 완성형 플랫폼이라기보다, &lt;b&gt;프론트엔드의 중심축 역할을 하는 도구&lt;/b&gt;라고 보는 편이 맞습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #818cf8; background: #f5f7ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(129,140,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;React를 처음 공부할 때 같이 보면 좋은 순서&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;이 순서로 들어가면 훨씬 덜 헤맵니다.&lt;/div&gt;
&lt;/div&gt;
&lt;ol style=&quot;margin: 14px 0 22px; padding-left: 22px; line-height: 1.95; color: #334155;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;JavaScript 기초&lt;/li&gt;
&lt;li&gt;React 컴포넌트&lt;/li&gt;
&lt;li&gt;props와 state&lt;/li&gt;
&lt;li&gt;이벤트 처리&lt;/li&gt;
&lt;li&gt;조건부 렌더링 / 리스트 렌더링&lt;/li&gt;
&lt;li&gt;hooks(useState, useEffect)&lt;/li&gt;
&lt;li&gt;라우팅&lt;/li&gt;
&lt;li&gt;API 호출&lt;/li&gt;
&lt;li&gt;빌드&lt;/li&gt;
&lt;li&gt;서버 배포&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 대표님 운영 방향처럼 &lt;b&gt;개념 &amp;rarr; 구조 &amp;rarr; 실행 &amp;rarr; 빌드 &amp;rarr; 서버 배포&lt;/b&gt; 흐름으로 이어가면 React 카테고리 전체가 훨씬 탄탄해집니다.&lt;/p&gt;
&lt;div style=&quot;margin: 34px 0 16px; padding: 20px 22px; border: 1px solid #bfdbfe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%); box-shadow: 0 10px 28px rgba(37,99,235,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 20px; font-weight: 800; color: #0f172a; margin-bottom: 12px;&quot;&gt;마무리 정리&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155; margin-bottom: 14px;&quot;&gt;React는 사용자 인터페이스를 효율적으로 만들기 위한 JavaScript 라이브러리이며, 컴포넌트 기반 구조와 상태 중심 렌더링 덕분에 복잡한 화면을 더 체계적으로 개발할 수 있게 도와줍니다.&lt;/div&gt;
&lt;div style=&quot;padding-top: 12px; border-top: 1px solid #dbeafe; font-size: 15px; line-height: 1.95; color: #0f172a;&quot;&gt;
&lt;div&gt;&lt;b&gt;React란?&lt;/b&gt; UI를 만들기 위한 JavaScript 라이브러리&lt;/div&gt;
&lt;div&gt;&lt;b&gt;핵심 특징&lt;/b&gt; 컴포넌트, 선언형 UI, 상태 기반 렌더링&lt;/div&gt;
&lt;div&gt;&lt;b&gt;장점&lt;/b&gt; 재사용성, 유지보수성, 생산성, 풍부한 생태계&lt;/div&gt;
&lt;div&gt;&lt;b&gt;중요한 관점&lt;/b&gt; React는 JavaScript를 대체하는 것이 아니라 더 구조적으로 활용하게 해주는 도구&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;blockquote style=&quot;margin: 18px 0 28px; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;React는 &lt;b&gt;복잡해지는 웹 화면을 작은 부품으로 나누고, 상태에 따라 자연스럽게 업데이트되도록 만드는 대표적인 프론트엔드 도구&lt;/b&gt;입니다.&lt;/blockquote&gt;
&lt;div style=&quot;margin: 24px 0 0; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;같이 보면 좋은 React 글&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.95; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/react-install-development-environment-setup-guide&quot;&gt;React 설치 및 개발환경 세팅 방법 | Node.js 설치부터 프로젝트 생성까지&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/react-project-structure-src-public-components-guide&quot;&gt;React 프로젝트 구조 정리 | src, public, components 폴더 역할 쉽게 이해하기&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/react-jsx-syntax-conditional-rendering-list-guide&quot;&gt;React JSX 문법 정리 | 기본 문법, 조건부 렌더링, 리스트 렌더링까지&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/react-router-basic-routing-navigation-guide&quot;&gt;React Router 사용법 | 페이지 이동, Link, 기본 라우팅 적용 방법&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;e-height:1.9;&quot;&amp;gt; React는 &lt;b&gt;복잡해지는 웹 화면을 작은 부품으로 나누고, 상태에 따라 자연스럽게 업데이트되도록 만드는 대표적인 프론트엔드 도구&lt;/b&gt;입니다.&lt;/p&gt;</description>
      <category>Front/React</category>
      <category>javascript</category>
      <category>react</category>
      <category>SPA</category>
      <category>virtual Dom</category>
      <category>리액트</category>
      <category>컴포넌트</category>
      <category>프론트개발</category>
      <category>프론트엔드</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/95</guid>
      <comments>https://trace90.tistory.com/entry/what-is-react-features-benefits-guide#entry95comment</comments>
      <pubDate>Wed, 1 Apr 2026 08:35:49 +0900</pubDate>
    </item>
    <item>
      <title>ISA 만기 후 어디로 옮겨야 할까? 연금저축&amp;middot;IRP 재투자 순서와 절세 포인트 정리</title>
      <link>https://trace90.tistory.com/entry/isa-maturity-transfer-to-pension-savings-irp-tax-order-guide</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;ISA 만기 시점이 오면 많은 사람이 같은 질문을 합니다. &lt;b&gt;이제 이 돈을 어디로 옮겨야 가장 아깝지 않을까?&lt;/b&gt; 그냥 다시 예금으로 둘지, 연금저축으로 넘길지, IRP까지 함께 쓸지 결정이 생각보다 어렵기 때문입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 ISA는 만기 전까지는 절세 투자 계좌로 잘 쓰다가도, 만기 이후에는 &lt;b&gt;자금의 다음 목적지&lt;/b&gt;를 다시 설계해야 합니다. 이때 중요한 건 단순히 수익률만 보는 게 아니라, &lt;b&gt;유동성&amp;middot;절세&amp;middot;노후 준비를 어떤 순서로 가져갈지&lt;/b&gt; 정하는 것입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 글에서는 ISA 만기 후 자금을 어디로 옮기면 좋은지, 연금저축과 IRP를 어떤 순서로 검토하면 좋은지, 그리고 재투자할 때 놓치기 쉬운 절세 포인트까지 실전 기준으로 정리해보겠습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ISA 만기 자금은 무조건 연금으로 옮기는 게 맞을까?&lt;/li&gt;
&lt;li&gt;연금저축과 IRP 중 어디부터 채우는 게 더 현실적일까?&lt;/li&gt;
&lt;li&gt;재투자 전에 꼭 체크해야 할 절세 포인트는 무엇일까?&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
&lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
&lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
&lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
&lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #f0f9ff 100%); box-shadow: 0 10px 28px rgba(37,99,235,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;핵심 요약&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;ISA 만기 자금&lt;/b&gt;은 한 번에 전부 옮기기보다, 비상금과 단기 자금 여부를 먼저 분리해서 봐야 합니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;연금저축&lt;/b&gt;은 투자 자유도와 장기 적립 측면에서 먼저 검토하기 쉬운 기본 축입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;IRP&lt;/b&gt;는 세액공제를 더 넓히는 보강 카드지만, 운용 제약과 자금 묶임을 같이 봐야 합니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;결론은 ISA 만기금 전액 일괄 이동보다, 연금저축 우선 &amp;rarr; 필요시 IRP 추가 순서가 대부분의 초보자에게 더 현실적&lt;/b&gt;이라는 점입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;쉬운 정의 | ISA 만기 후 고민은 &amp;lsquo;어디가 더 좋으냐&amp;rsquo;보다 &amp;lsquo;돈의 역할을 어떻게 나누느냐&amp;rsquo;다&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;만기금은 단일 통장처럼 보이지만, 실제로는 목적이 섞인 돈일 가능성이 큽니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아주 쉽게 말하면, ISA 만기금 안에는 보통 아래 세 가지 성격의 돈이 섞여 있습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;당장 1~2년 안에 쓸 수 있는 자금&lt;/li&gt;
&lt;li&gt;계속 굴리고 싶은 투자 자금&lt;/li&gt;
&lt;li&gt;노후 준비용으로 길게 묶어도 되는 자금&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;문제는 이 세 돈을 한 번에 같은 계좌로 보내버리면, 나중에 답답함이 생기기 쉽다는 점입니다. 그래서 ISA 만기 후 가장 먼저 해야 할 일은 &lt;b&gt;돈의 목적을 분리하는 것&lt;/b&gt;입니다.&lt;/p&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;ISA 만기 후 재투자의 핵심은 &amp;lsquo;최고의 계좌 하나 찾기&amp;rsquo;가 아니라, 유동성 자금과 노후 자금을 나눠서 보내는 순서를 정하는 것입니다.&lt;/blockquote&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;비교/구조 | ISA 만기 후 연금저축과 IRP는 이렇게 나눠 보면 쉽다&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;둘 다 노후 계좌지만, 체감 운용 방식은 분명히 다릅니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.8; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 22%; text-align: left; color: #1d4ed8;&quot;&gt;비교 항목&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 39%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;연금저축&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 39%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;IRP&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;핵심 역할&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;노후 준비용 기본 축, 장기 적립형 투자 계좌&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;세액공제 확대용 보강 축, 퇴직연금 성격 포함&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;체감 자유도&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;상대적으로 단순하고 투자 구성이 편한 편&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;상품 제약과 안정자산 비중을 같이 봐야 함&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;유동성 체감&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;장기 자금이지만 상대적으로 이해가 쉬움&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;장기 묶임 느낌이 더 강하고 중도 활용이 답답할 수 있음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;실전 우선순위&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;처음 검토하기 가장 쉬운 1순위&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;연금저축 이후 절세 여력 있을 때 추가 검토&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;border: 1px solid #e5e7eb; background: #ffffff; border-radius: 16px; padding: 18px; margin: 16px 0 24px; box-shadow: 0 8px 24px rgba(15,23,42,0.04);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;ISA 만기 후 재투자 기본 흐름&lt;/div&gt;
&lt;div style=&quot;line-height: 1.95; color: #334155;&quot;&gt;ISA 만기 확인&lt;br /&gt;&amp;darr;&lt;br /&gt;비상금&amp;middot;1~2년 내 사용 자금 분리&lt;br /&gt;&amp;darr;&lt;br /&gt;남은 장기 자금 중 연금저축 우선 검토&lt;br /&gt;&amp;darr;&lt;br /&gt;세액공제 여력&amp;middot;직장인 여부&amp;middot;자금 묶임 감수 가능성 점검&lt;br /&gt;&amp;darr;&lt;br /&gt;필요하면 IRP 추가&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_isa_maturity_1&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;예시 | 대부분은 왜 연금저축부터 먼저 보는가?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;ISA 만기금이 생겼다고 바로 IRP까지 최대치로 채우면 오히려 유지가 힘들 수 있습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;예시 1. 만기금 1,500만 원이 있는데 비상금이 충분하지 않은 경우&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 경우에는 만기금 전액을 연금 계좌로 옮기기보다, 먼저 생활 안전판부터 확인하는 편이 맞습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;6개월 내 쓸 돈이 있거나 비상금이 부족하다면 일부는 현금성 자금으로 남김&lt;/li&gt;
&lt;li&gt;나머지 중 장기 자금만 연금저축으로 검토&lt;/li&gt;
&lt;li&gt;IRP는 바로 넣기보다 다음 단계로 미룸&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 사람은 세액공제보다 &lt;b&gt;유동성 유지&lt;/b&gt;가 더 중요합니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;예시 2. ISA 만기금이 있고 장기 투자 의지가 분명한 직장인인 경우&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 경우에는 연금저축으로 기본 축을 만들고, 절세 여력이 더 필요하면 IRP를 추가하는 그림이 자연스럽습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;연금저축으로 장기 적립형 ETF 중심 배치&lt;/li&gt;
&lt;li&gt;세액공제를 더 챙기고 싶다면 IRP 추가 검토&lt;/li&gt;
&lt;li&gt;단, IRP는 상품 제약과 자금 묶임을 같이 확인&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, &lt;b&gt;연금저축이 메인, IRP가 보강&lt;/b&gt;이라는 구조가 이해하기 쉽습니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;예시 3. 이미 연금저축이 있고 세액공제 한도를 더 활용하고 싶은 경우&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 경우에는 IRP 검토 우선순위가 올라갑니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다만 이때도 체크할 것은 분명합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정말 장기 자금으로 묶어도 되는 돈인지&lt;/li&gt;
&lt;li&gt;계좌 운용 제약이 불편하지 않은지&lt;/li&gt;
&lt;li&gt;만기금 전액을 넣는 게 아니라 일부만 옮겨도 되는지&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;세액공제만 보고 무리하게 넣으면, 다음 해에 생활 자금이 답답해질 수 있습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;실전 순서 | ISA 만기 후 재투자는 이렇게 접근하면 덜 헷갈린다&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;중요한 건 세액공제 한 줄이 아니라, 앞으로 1~3년의 자금 흐름입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;1. 만기금을 먼저 세 통으로 나눠 본다&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;당장 쓸 돈&lt;/li&gt;
&lt;li&gt;중기 투자 자금&lt;/li&gt;
&lt;li&gt;노후용 장기 자금&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 나누지 않으면 연금 계좌로 옮긴 뒤 후회할 가능성이 커집니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;2. 노후용 장기 자금은 연금저축부터 검토한다&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;연금저축은 장기 적립 관점에서 구조가 비교적 단순하고, 투자 상품 배치도 이해하기 쉬운 편입니다. 그래서 ISA 만기금의 재투자 1차 목적지가 되기 좋습니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;3. 절세 여력이 더 있으면 IRP를 추가한다&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;IRP는 세액공제를 더 넓히는 데 유리하지만, 그만큼 운용 제약과 장기 묶임을 함께 감수해야 합니다. 그래서 대부분은 연금저축을 먼저 채운 뒤 IRP를 붙이는 흐름이 현실적입니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;4. &amp;lsquo;전액 이동&amp;rsquo;보다 &amp;lsquo;부분 이동&amp;rsquo;이 더 안전할 수 있다&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ISA 만기금이 한 번에 들어오면 심리적으로 한 계좌에 정리하고 싶어지지만, 실제로는 일부만 연금으로 보내고 일부는 남겨두는 방식이 더 유지 가능성이 높습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(239,68,68,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #7f1d1d; margin-bottom: 10px;&quot;&gt;초보자가 꼭 체크할 포인트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ISA 만기금 전액이 장기 투자 자금이라고 가정하면 안 됩니다.&lt;/li&gt;
&lt;li&gt;연금저축은 기본 축, IRP는 추가 절세 축으로 보면 우선순위가 정리됩니다.&lt;/li&gt;
&lt;li&gt;IRP는 세액공제만 보지 말고 상품 제약과 자금 묶임까지 같이 봐야 합니다.&lt;/li&gt;
&lt;li&gt;재투자 금액은 한 번에 몰아넣기보다, 유지 가능한 수준으로 나누는 편이 더 현실적입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_isa_maturity_2&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #8b5cf6; background: #faf5ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(139,92,246,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;절세 포인트 | ISA 만기 후에도 세제보다 중요한 건 계좌별 역할 정리다&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;세액공제는 중요하지만, 잘못 넣으면 다시 꺼낼 때 더 불편해질 수 있습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ISA는 투자 수익 절세 측면에서, 연금저축과 IRP는 납입 시 세액공제 측면에서 장점이 있습니다. 그래서 만기 후 이동 판단은 단순히 &amp;ldquo;세금 혜택이 있으니 무조건 연금&amp;rdquo;이 아니라, &lt;b&gt;이 돈을 앞으로 어떻게 쓸 것인지&lt;/b&gt;와 함께 봐야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정리하면 이렇게 이해하면 쉽습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ISA 만기금 중 장기 자금 &amp;rarr; 연금저축 우선 검토&lt;/li&gt;
&lt;li&gt;추가 절세 필요 + 장기 묶임 가능 &amp;rarr; IRP 추가 검토&lt;/li&gt;
&lt;li&gt;가까운 시기 사용 가능성 있는 돈 &amp;rarr; 연금 계좌로 무리하게 이동하지 않기&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 구조를 지키면 절세와 유동성 사이에서 균형을 잡기 쉬워집니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;FAQ&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; ISA 만기금은 무조건 연금저축이나 IRP로 옮겨야 하나요?&lt;br /&gt;&amp;rarr; 아닙니다. 가까운 시기 쓸 돈이나 비상금까지 한꺼번에 연금으로 보내면 오히려 불편해질 수 있습니다. 먼저 장기 자금인지부터 나눠 봐야 합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 연금저축과 IRP 중 어디부터 보는 게 좋나요?&lt;br /&gt;&amp;rarr; 대부분은 연금저축부터 검토하는 편이 더 현실적입니다. 구조 이해가 쉽고 장기 적립의 기본 축으로 쓰기 좋기 때문입니다. IRP는 그 다음 단계의 추가 절세 카드로 보는 편이 자연스럽습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; ISA 만기금 전액을 한 번에 옮기는 게 좋나요?&lt;br /&gt;&amp;rarr; 꼭 그렇지는 않습니다. 일부만 이동하고 일부는 남겨두는 방식이 유동성 관리에 더 유리할 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; IRP가 절세에 좋다면 처음부터 IRP만 보면 안 되나요?&lt;br /&gt;&amp;rarr; 가능은 하지만, 운용 제약과 자금 묶임을 감수해야 합니다. 그래서 초보자에게는 연금저축 우선 검토 후 IRP 추가가 더 유지하기 쉬운 순서입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_isa_maturity_3&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;결론 | ISA 만기 후에는 &amp;lsquo;연금저축 우선, IRP는 보강&amp;rsquo;으로 보면 정리가 쉽다&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;만기금 재투자는 수익률보다 계좌별 역할과 자금 성격 구분이 먼저입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ISA 만기 후 어디로 옮길지 고민된다면, 아래 순서로 정리하면 됩니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;먼저 만기금 중 당장 쓸 돈과 장기 자금을 나눈다.&lt;/li&gt;
&lt;li&gt;장기 자금은 연금저축부터 우선 검토한다.&lt;/li&gt;
&lt;li&gt;절세 여력과 장기 묶임 감수가 가능하면 IRP를 추가한다.&lt;/li&gt;
&lt;li&gt;전액 일괄 이동보다 부분 이동이 더 현실적일 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, ISA 만기 후 재투자의 핵심은 &lt;b&gt;무조건 많이 옮기는 것&lt;/b&gt;이 아니라 &lt;b&gt;유지 가능한 구조로 옮기는 것&lt;/b&gt;입니다.&lt;/p&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;ISA 만기금은 연금저축으로 기본 축을 만들고, IRP는 절세 여력과 장기 자금 성격이 확인될 때 보강하는 순서가 가장 실전적입니다.&lt;/blockquote&gt;
&lt;div style=&quot;margin: 24px 0 0; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;관련 글 링크&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/isa-vs-pension-savings-vs-irp-2026-tax-guide&quot;&gt;2026 절세 투자 전략 | ISA&amp;middot;연금저축&amp;middot;IRP에서 어떤 상품을 어떻게 담아야 할까?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/how-to-use-pension-savings-and-irp-together&quot;&gt;연금저축과 IRP 차이, 그리고 함께 쓰는 방법까지 쉽게 정리&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/what-is-pension-savings-beginners-guide&quot;&gt;연금저축이란 무엇인가? 처음 가입하는 사람도 쉽게 이해하는 가이드&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #6b7280; font-size: 14px; line-height: 1.7; margin-top: 24px;&quot; data-ke-size=&quot;size16&quot;&gt;※ 이 글은 ISA 만기 후 연금저축&amp;middot;IRP 재투자 방향을 쉽게 이해하기 위한 입문 가이드입니다. 실제 세액공제 한도, 이전 가능 여부, 금융사별 운용 가능 상품, 계좌별 제약은 달라질 수 있으니 실행 전에는 반드시 최신 공식 안내를 함께 확인하세요.&lt;/p&gt;</description>
      <category>경제&amp;middot;재테크/연금&amp;middot;노후</category>
      <category>irp</category>
      <category>ISA 만기</category>
      <category>노후준비</category>
      <category>연금저축</category>
      <category>재투자</category>
      <category>절세</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/94</guid>
      <comments>https://trace90.tistory.com/entry/isa-maturity-transfer-to-pension-savings-irp-tax-order-guide#entry94comment</comments>
      <pubDate>Tue, 31 Mar 2026 18:40:12 +0900</pubDate>
    </item>
    <item>
      <title>월배당 ETF 투자할까? | SCHD&amp;middot;JEPI&amp;middot;JEPQ&amp;middot;국내 월배당 ETF 차이와 주의점 정리</title>
      <link>https://trace90.tistory.com/entry/monthly-dividend-etf-schd-jepi-jepq-korea-guide</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;월배당 ETF에 관심이 생기면 가장 먼저 눈에 들어오는 이름들이 있습니다.&lt;/p&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;SCHD&lt;/li&gt;&lt;li&gt;JEPI&lt;/li&gt;&lt;li&gt;JEPQ&lt;/li&gt;&lt;li&gt;국내 월배당 ETF&lt;/li&gt;&lt;/ul&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 바로 이런 고민으로 이어집니다.&lt;/p&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;월배당 ETF면 매달 돈이 들어오니까 무조건 좋은 걸까?&lt;/li&gt;&lt;li&gt;SCHD와 JEPI는 둘 다 배당 ETF 아닌가?&lt;/li&gt;&lt;li&gt;JEPQ는 왜 더 많이 주는 것처럼 보일까?&lt;/li&gt;&lt;li&gt;국내 월배당 ETF는 미국 ETF보다 더 편한 걸까?&lt;/li&gt;&lt;li&gt;지금 들어가도 괜찮은 상품일까?&lt;/li&gt;&lt;/ul&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;결론부터 말하면, &lt;b&gt;월배당 ETF는 '매달 돈이 나온다'는 이유만 보고 고르면 안 됩니다.&lt;/b&gt;&lt;br&gt;실제로는 아래를 같이 봐야 합니다.&lt;/p&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;어떤 자산에 투자하는지&lt;/li&gt;&lt;li&gt;매달 주는 돈이 어디서 나오는지&lt;/li&gt;&lt;li&gt;오래 들고 가기에 맞는지&lt;/li&gt;&lt;li&gt;가격이 흔들릴 때 버틸 수 있는 상품인지&lt;/li&gt;&lt;/ul&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;이번 글에서는 &lt;b&gt;SCHD·JEPI·JEPQ·국내 월배당 ETF를 한 번에 비교하면서, 뭐가 어떻게 다르고 어떤 사람에게 더 잘 맞는지&lt;/b&gt; 쉽게 정리해보겠습니다.&lt;/p&gt;&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #f0f9ff 100%); box-shadow: 0 10px 28px rgba(37,99,235,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;
  핵심 요약
 &lt;/div&gt; 
 &lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt; 
  &lt;div&gt;
   &lt;b&gt;SCHD&lt;/b&gt;는 배당을 꾸준히 주는 우량 기업에 투자하는 쪽에 가깝습니다.
  &lt;/div&gt; 
  &lt;div&gt;
   &lt;b&gt;JEPI·JEPQ&lt;/b&gt;는 단순 배당주 ETF라기보다 매달 나오는 현금흐름에 더 초점이 있는 상품에 가깝습니다.
  &lt;/div&gt; 
  &lt;div&gt;
   &lt;b&gt;국내 월배당 ETF&lt;/b&gt;는 접근은 쉽지만 상품마다 성격 차이가 꽤 큽니다.
  &lt;/div&gt; 
  &lt;div&gt;
   &lt;b&gt;결국 월배당 ETF는 “얼마를 주느냐”보다 어떤 방식의 상품인지 이해하는 것이 더 중요합니다.&lt;/b&gt;
  &lt;/div&gt; 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;border: 1px solid #cfe0ff; background: #f8fbff; border-radius: 18px; padding: 18px; margin: 20px 0 26px; box-shadow: 0 8px 22px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 14px;&quot;&gt;
  한 장으로 보는 월배당 ETF 판단 흐름
 &lt;/div&gt; 
 &lt;div style=&quot;background: #ffffff; border: 1px solid #dbeafe; border-radius: 14px; padding: 14px; margin-bottom: 10px; color: #334155;&quot;&gt;
  &lt;b&gt;1단계&lt;/b&gt; 내 목적이 성장인지 인컴인지 구분
 &lt;/div&gt; 
 &lt;div style=&quot;text-align: center; color: #94a3b8; margin-bottom: 10px;&quot;&gt;
  ↓
 &lt;/div&gt; 
 &lt;div style=&quot;background: #ffffff; border: 1px solid #dbeafe; border-radius: 14px; padding: 14px; margin-bottom: 10px; color: #334155;&quot;&gt;
  &lt;b&gt;2단계&lt;/b&gt; 배당 성장형인지 옵션 인컴형인지 구조 확인
 &lt;/div&gt; 
 &lt;div style=&quot;text-align: center; color: #94a3b8; margin-bottom: 10px;&quot;&gt;
  ↓
 &lt;/div&gt; 
 &lt;div style=&quot;background: #ffffff; border: 1px solid #dbeafe; border-radius: 14px; padding: 14px; margin-bottom: 10px; color: #334155;&quot;&gt;
  &lt;b&gt;3단계&lt;/b&gt; 총수익·변동성·세금·계좌 활용성 비교
 &lt;/div&gt; 
 &lt;div style=&quot;text-align: center; color: #94a3b8; margin-bottom: 10px;&quot;&gt;
  ↓
 &lt;/div&gt; 
 &lt;div style=&quot;background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 14px; padding: 14px; color: #1e3a8a; font-weight: bold;&quot;&gt;
  4단계 분배금 숫자보다 내 목적에 맞는 ETF를 선택
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  쉬운 정의 | 월배당 ETF는 정확히 어떤 상품일까?
 &lt;/div&gt; 
 &lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;
  매달 분배금을 준다고 해서 모두 같은 투자 성격의 ETF는 아닙니다.
 &lt;/div&gt; 
&lt;/div&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;월배당 ETF는 말 그대로 &lt;b&gt;월 단위로 분배금을 지급하는 ETF&lt;/b&gt;를 뜻합니다.&lt;br&gt;하지만 여기서 중요한 점이 있습니다.&lt;br&gt;월배당 ETF라고 해서 모두&lt;/p&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;같은 자산에 투자하는 것도 아니고&lt;/li&gt;&lt;li&gt;같은 방식으로 수익을 만드는 것도 아니며&lt;/li&gt;&lt;li&gt;같은 위험을 지는 것도 아닙니다.&lt;/li&gt;&lt;/ul&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어,&lt;/p&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;어떤 ETF는 우량 배당주 중심이고&lt;/li&gt;&lt;li&gt;어떤 ETF는 커버드콜 전략을 섞고&lt;/li&gt;&lt;li&gt;어떤 ETF는 미국 기술주 기반 인컴 구조를 쓰고&lt;/li&gt;&lt;li&gt;어떤 ETF는 국내 상장 형태로 해외 자산을 추종합니다.&lt;/li&gt;&lt;/ul&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;즉 &lt;b&gt;'월배당'은 돈을 주는 주기일 뿐, 상품의 성격 자체를 설명해주는 말은 아닙니다.&lt;/b&gt;&lt;/p&gt;&lt;blockquote data-ke-style=&quot;style1&quot;&gt;월배당 ETF를 고를 때는 '매달 얼마 주나'보다 먼저, &lt;b&gt;그 돈이 어디서 나오는지&lt;/b&gt;를 보는 게 더 중요합니다.&lt;/blockquote&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  왜 중요한가 | 월배당만 보면 오해하기 쉬운 이유
 &lt;/div&gt; 
 &lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;
  높은 분배금이 곧 높은 투자 성과를 의미하는 것은 아닙니다.
 &lt;/div&gt; 
&lt;/div&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;월배당 ETF가 인기를 끄는 이유는 분명합니다.&lt;/p&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;매달 현금이 들어오는 느낌이 있고&lt;/li&gt;&lt;li&gt;심리적으로 투자 만족도가 높으며&lt;/li&gt;&lt;li&gt;은퇴 준비나 현금흐름 관리 이미지와 잘 맞고&lt;/li&gt;&lt;li&gt;예금 이자처럼 느껴져 접근이 쉬워 보이기 때문입니다.&lt;/li&gt;&lt;/ul&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 여기서 자주 생기는 착각이 있습니다.&lt;br&gt;바로 &lt;b&gt;많이 준다고 해서 투자 성과도 무조건 좋을 거라고 생각하는 것&lt;/b&gt;입니다.&lt;br&gt;실제로는&lt;/p&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;매달 주는 돈이 많아 보여도 가격이 잘 안 오를 수 있고&lt;/li&gt;&lt;li&gt;구조에 따라 상승장에서 수익을 다 가져가지 못할 수도 있으며&lt;/li&gt;&lt;li&gt;전체 수익으로 보면 기대보다 평범할 수도 있고&lt;/li&gt;&lt;li&gt;세금까지 생각하면 체감이 달라질 수도 있습니다.&lt;/li&gt;&lt;/ul&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;즉 월배당 ETF는 &lt;b&gt;현금흐름 만족감&lt;/b&gt;은 줄 수 있지만, 그 자체가 만능 정답은 아닙니다.&lt;/p&gt;&lt;div style=&quot;border: 1px solid #fecaca; background: #fff5f5; padding: 16px 18px; border-radius: 14px; margin: 20px 0; color: #7f1d1d; line-height: 1.9;&quot;&gt;
 &lt;b&gt;꼭 먼저 볼 포인트&lt;/b&gt;
 &lt;br&gt;월배당 ETF는 '배당주 ETF'와 '인컴형 옵션 전략 ETF'를 구분해서 봐야 합니다. 이 둘은 비슷해 보여도 수익 구조와 기대 성과가 다릅니다.
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  기본 설명 | SCHD·JEPI·JEPQ·국내 월배당 ETF는 뭐가 다를까?
 &lt;/div&gt; 
 &lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;
  이름은 자주 같이 보이지만, 실제 성격은 꽤 다릅니다.
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt; 
 &lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.8; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 18%; text-align: left; color: #1d4ed8;&quot;&gt;ETF&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 27%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;핵심 구조&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 27%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;강점&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;주의점&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;&lt;b&gt;SCHD&lt;/b&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;배당을 꾸준히 주는 우량 기업 중심&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;오래 들고 가기에 성격이 비교적 단순하고 이해하기 쉬움&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;월배당만 기대하고 보면 상품 성격을 잘못 볼 수 있음&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;JEPI&lt;/b&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;매달 들어오는 현금흐름에 초점을 둔 구조&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;분배금이 꾸준히 들어오는 느낌을 받기 쉬움&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;시장이 강하게 오를 때는 수익이 덜 따라갈 수 있음&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;JEPQ&lt;/b&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;기술주 성격이 더 강한 월분배형 구조&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;기술주 쪽 관심이 있는 사람에게 더 눈에 들어오기 쉬움&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;기술주 변동성이 커서 편하게만 볼 상품은 아님&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;국내 월배당 ETF&lt;/b&gt;&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;국내 상장 구조로 해외지수·배당전략·커버드콜 등 매우 다양&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;원화 거래, 접근성, 계좌 활용 편의성이 좋음&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;같은 월배당 이름 아래 구조가 제각각이라 세부 확인이 꼭 필요함&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt;&lt;div style=&quot;border: 1px solid #dbeafe; background: #ffffff; border-radius: 18px; padding: 18px; margin: 18px 0 24px; box-shadow: 0 8px 24px rgba(15,23,42,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 12px;&quot;&gt;
  성격만 빠르게 기억하면 이렇게 보면 됩니다
 &lt;/div&gt; 
 &lt;div style=&quot;display: flex; flex-direction: column; gap: 10px; line-height: 1.9; color: #334155;&quot;&gt; 
  &lt;div style=&quot;padding: 12px 14px; border: 1px solid #bfdbfe; border-radius: 12px; background: #eff6ff;&quot;&gt;
   &lt;b&gt;SCHD&lt;/b&gt; = 배당 성장형
  &lt;/div&gt; 
  &lt;div style=&quot;padding: 12px 14px; border: 1px solid #fecdd3; border-radius: 12px; background: #fff1f2;&quot;&gt;
   &lt;b&gt;JEPI·JEPQ&lt;/b&gt; = 인컴형 옵션 전략 ETF
  &lt;/div&gt; 
  &lt;div style=&quot;padding: 12px 14px; border: 1px solid #e2e8f0; border-radius: 12px; background: #f8fafc;&quot;&gt;
   &lt;b&gt;국내 월배당 ETF&lt;/b&gt; = 상품마다 구조 차이가 큼
  &lt;/div&gt; 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div id=&quot;code_coupang_monthly_1&quot; data-ke-type=&quot;html&quot; data-source=&quot;&lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&lt;/script&gt;&quot;&gt; 
 &lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt; 
 &lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  상황별 예제 | 어떤 투자자에게 무엇이 더 맞을까?
 &lt;/div&gt; 
 &lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;
  정답 ETF보다 투자 목적과 단계가 먼저입니다.
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;border: 1px solid #dbeafe; border-radius: 18px; overflow: hidden; margin: 18px 0 26px; background: #fff; box-shadow: 0 8px 24px rgba(15,23,42,0.05);&quot;&gt; 
 &lt;div style=&quot;padding: 14px 18px; background: #eff6ff; font-size: 18px; font-weight: 800; color: #1e40af;&quot;&gt;
  1) 장기 성장과 배당 성장의 균형을 원하는 경우
 &lt;/div&gt; 
 &lt;div style=&quot;padding: 18px; line-height: 1.9; color: #334155;&quot;&gt; 
  &lt;div&gt;
   &lt;b&gt;생각해볼 축:&lt;/b&gt; SCHD
  &lt;/div&gt; 
  &lt;ul style=&quot;margin: 12px 0 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
   &lt;li&gt;배당주 성격이 분명하고 장기 보유 스토리가 이해하기 쉬움&lt;/li&gt; 
   &lt;li&gt;월 현금흐름 극대화보다 우량 배당주 누적 관점에 더 잘 맞을 수 있음&lt;/li&gt; 
   &lt;li&gt;자산 성장기 투자자가 접근하기 비교적 편한 축&lt;/li&gt; 
  &lt;/ul&gt; 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;border: 1px solid #bfdbfe; border-radius: 18px; overflow: hidden; margin: 18px 0 26px; background: #fff; box-shadow: 0 8px 24px rgba(15,23,42,0.05);&quot;&gt; 
 &lt;div style=&quot;padding: 14px 18px; background: #dbeafe; font-size: 18px; font-weight: 800; color: #1d4ed8;&quot;&gt;
  2) 매달 현금흐름 체감을 더 중요하게 보는 경우
 &lt;/div&gt; 
 &lt;div style=&quot;padding: 18px; line-height: 1.9; color: #334155;&quot;&gt; 
  &lt;div&gt;
   &lt;b&gt;생각해볼 축:&lt;/b&gt; JEPI
  &lt;/div&gt; 
  &lt;ul style=&quot;margin: 12px 0 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
   &lt;li&gt;현금흐름 만족도가 높고 인컴형 이미지가 강함&lt;/li&gt; 
   &lt;li&gt;강한 상승장에서 수익 상단 제한 가능성을 이해해야 함&lt;/li&gt; 
   &lt;li&gt;은퇴 준비나 인컴 수요 중심 투자자에게 더 자연스러울 수 있음&lt;/li&gt; 
  &lt;/ul&gt; 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;border: 1px solid #fecdd3; border-radius: 18px; overflow: hidden; margin: 18px 0 26px; background: #fff; box-shadow: 0 8px 24px rgba(15,23,42,0.05);&quot;&gt; 
 &lt;div style=&quot;padding: 14px 18px; background: #ffe4e6; font-size: 18px; font-weight: 800; color: #be123c;&quot;&gt;
  3) 기술주 성향을 유지하면서 인컴도 보고 싶은 경우
 &lt;/div&gt; 
 &lt;div style=&quot;padding: 18px; line-height: 1.9; color: #334155;&quot;&gt; 
  &lt;div&gt;
   &lt;b&gt;생각해볼 축:&lt;/b&gt; JEPQ
  &lt;/div&gt; 
  &lt;ul style=&quot;margin: 12px 0 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
   &lt;li&gt;기술주 노출과 월분배 매력을 동시에 보고 접근하는 경우가 많음&lt;/li&gt; 
   &lt;li&gt;나스닥 성향 변동성과 옵션 전략 특성을 함께 이해해야 함&lt;/li&gt; 
   &lt;li&gt;단순히 분배금이 더 높아 보여서만 접근하면 기대와 달라질 수 있음&lt;/li&gt; 
  &lt;/ul&gt; 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;border: 1px solid #e5e7eb; border-radius: 18px; overflow: hidden; margin: 18px 0 26px; background: #fff; box-shadow: 0 8px 24px rgba(15,23,42,0.05);&quot;&gt; 
 &lt;div style=&quot;padding: 14px 18px; background: #f8fafc; font-size: 18px; font-weight: 800; color: #334155;&quot;&gt;
  4) 국내 계좌에서 편하게 월배당 구조를 활용하고 싶은 경우
 &lt;/div&gt; 
 &lt;div style=&quot;padding: 18px; line-height: 1.9; color: #334155;&quot;&gt; 
  &lt;div&gt;
   &lt;b&gt;생각해볼 축:&lt;/b&gt; 국내 월배당 ETF
  &lt;/div&gt; 
  &lt;ul style=&quot;margin: 12px 0 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt; 
   &lt;li&gt;원화 거래, 국내 계좌 접근성, 연금계좌 활용 측면에서 편의성이 큼&lt;/li&gt; 
   &lt;li&gt;다만 커버드콜형, 배당주형, 해외지수 추종형 등 구조가 매우 다름&lt;/li&gt; 
   &lt;li&gt;이름보다 실제 기초자산과 분배 재원 확인이 더 중요함&lt;/li&gt; 
  &lt;/ul&gt; 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;border: 1px solid #e5e7eb; border-radius: 16px; overflow: hidden; margin: 20px 0 28px; background: #ffffff;&quot;&gt; 
 &lt;div style=&quot;background: #f8fafc; padding: 14px 16px; font-weight: 800; color: #0f172a; border-bottom: 1px solid #e5e7eb;&quot;&gt;
  내 상황에 맞는지 판단할 때 스스로에게 던질 질문
 &lt;/div&gt; 
 &lt;div style=&quot;padding: 16px; line-height: 1.9; color: #334155;&quot;&gt; 
  &lt;div&gt;
   ✔ 나는 지금 자산 성장기가 더 중요한가, 현금흐름이 더 중요한가?
  &lt;/div&gt; 
  &lt;div&gt;
   ✔ 분배금이 높아 보여도 가격 정체를 감수할 수 있는가?
  &lt;/div&gt; 
  &lt;div&gt;
   ✔ 옵션 전략 구조를 충분히 이해하고 있는가?
  &lt;/div&gt; 
  &lt;div&gt;
   ✔ 재투자할 계획인지, 생활비로 쓸 것인지가 정해져 있는가?
  &lt;/div&gt; 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  비교/구조 | 배당 성장형과 인컴형은 무엇이 다를까?
 &lt;/div&gt; 
 &lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;
  이 차이를 이해하면 SCHD와 JEPI·JEPQ를 헷갈리지 않게 됩니다.
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt; 
 &lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.8; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt; 
  &lt;thead&gt; 
   &lt;tr&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 22%; text-align: left; color: #1d4ed8;&quot;&gt;구분&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 39%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;배당 성장형 ETF&lt;/th&gt; 
    &lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 39%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;인컴형 옵션 전략 ETF&lt;/th&gt; 
   &lt;/tr&gt; 
  &lt;/thead&gt; 
  &lt;tbody&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;대표 예시&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;SCHD&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;JEPI, JEPQ&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;중심 목적&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;우량 배당주 보유와 배당 성장&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;월 단위 인컴 확보와 분배금 체감&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;상승장 체감&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;주가 상승과 배당 성장의 조합을 기대&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;옵션 전략 때문에 상승 수익 일부가 제한될 수 있음&lt;/td&gt; 
   &lt;/tr&gt; 
   &lt;tr&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;적합한 관점&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;장기 성장 + 배당의 균형&lt;/td&gt; 
    &lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;현금흐름 체감과 인컴 중심 접근&lt;/td&gt; 
   &lt;/tr&gt; 
  &lt;/tbody&gt; 
 &lt;/table&gt; 
&lt;/div&gt;&lt;div style=&quot;border-left: 4px solid #2563eb; background: #eff6ff; padding: 14px 16px; border-radius: 10px; margin: 18px 0; color: #1e3a8a; line-height: 1.9;&quot;&gt;
 &lt;b&gt;핵심 차이 한 줄&lt;/b&gt;
 &lt;br&gt;SCHD는 '배당 성장형', JEPI·JEPQ는 '인컴형 옵션 전략 ETF'에 더 가깝습니다.
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  꼭 봐야 할 정보 | 국내 월배당 ETF는 왜 더 자세히 봐야 할까?
 &lt;/div&gt; 
 &lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;
  같은 월배당 이름 아래 완전히 다른 구조가 섞여 있을 수 있습니다.
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;border: 1px solid #dbeafe; border-radius: 18px; overflow: hidden; margin: 18px 0 24px; background: #ffffff; box-shadow: 0 8px 24px rgba(15,23,42,0.04);&quot;&gt; 
 &lt;div style=&quot;background: #eff6ff; padding: 14px 16px; font-weight: 800; color: #1d4ed8; border-bottom: 1px solid #dbeafe;&quot;&gt;
  체크리스트 1 | 기초자산이 무엇인지 먼저 확인했는가?
 &lt;/div&gt; 
 &lt;div style=&quot;padding: 16px; color: #334155; line-height: 1.9;&quot;&gt;
  국내 월배당 ETF는 미국 배당주 추종형, 커버드콜형, 미국 지수 기반 인컴형, 채권·리츠·혼합형 등 종류가 다양합니다. 즉 &lt;b&gt;이름보다 실제 기초자산&lt;/b&gt;을 먼저 봐야 합니다.
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;border: 1px solid #dbeafe; border-radius: 18px; overflow: hidden; margin: 18px 0 24px; background: #ffffff; box-shadow: 0 8px 24px rgba(15,23,42,0.04);&quot;&gt; 
 &lt;div style=&quot;background: #eff6ff; padding: 14px 16px; font-weight: 800; color: #1d4ed8; border-bottom: 1px solid #dbeafe;&quot;&gt;
  체크리스트 2 | 분배금 재원이 배당인지 옵션 프리미엄인지 구분했는가?
 &lt;/div&gt; 
 &lt;div style=&quot;padding: 16px; color: #334155; line-height: 1.9;&quot;&gt;
  월배당이라고 해서 모두 같은 방식으로 돈을 주는 것은 아닙니다. 실제로는 배당 기반인지, 옵션 프리미엄 기반인지에 따라 상품 성격과 기대 수익 구조가 달라집니다.
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;border: 1px solid #dbeafe; border-radius: 18px; overflow: hidden; margin: 18px 0 24px; background: #ffffff; box-shadow: 0 8px 24px rgba(15,23,42,0.04);&quot;&gt; 
 &lt;div style=&quot;background: #eff6ff; padding: 14px 16px; font-weight: 800; color: #1d4ed8; border-bottom: 1px solid #dbeafe;&quot;&gt;
  체크리스트 3 | 계좌 활용성과 총보수까지 같이 보고 있는가?
 &lt;/div&gt; 
 &lt;div style=&quot;padding: 16px; color: #334155; line-height: 1.9;&quot;&gt;
  국내 월배당 ETF는 편하게 접근할 수 있다는 장점이 있지만, 환노출/환헤지 구조, 총보수, 운용 방식, 연금계좌 편입 적합성까지 같이 봐야 제대로 판단할 수 있습니다.
 &lt;/div&gt; 
&lt;/div&gt;&lt;div id=&quot;code_coupang_monthly_2&quot; data-ke-type=&quot;html&quot; data-source=&quot;&lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&lt;/script&gt;&quot;&gt; 
 &lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt; 
 &lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  실무 포인트 | 월배당 ETF 투자 전 꼭 생각할 질문
 &lt;/div&gt; 
 &lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;
  예쁜 분배금 숫자보다 먼저 봐야 할 질문들입니다.
 &lt;/div&gt; 
&lt;/div&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;월배당 ETF에 투자하기 전에는 아래 질문을 꼭 던져봐야 합니다.&lt;/p&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;나는 매달 현금흐름이 정말 필요한가?&lt;/li&gt;&lt;li&gt;아니면 장기 총수익이 더 중요한가?&lt;/li&gt;&lt;li&gt;분배금이 높아 보여도 가격 정체를 감수할 수 있는가?&lt;/li&gt;&lt;li&gt;옵션 전략 구조를 이해하고 있는가?&lt;/li&gt;&lt;li&gt;세후 기준으로도 만족스러운가?&lt;/li&gt;&lt;li&gt;재투자할 계획인지, 생활비로 쓸 것인지가 정해져 있는가?&lt;/li&gt;&lt;/ul&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;특히 아직 자산을 키우는 단계라면, 월배당 자체보다 &lt;b&gt;총수익과 자산 성장 속도&lt;/b&gt;가 더 중요할 수 있습니다.&lt;br&gt;반대로 이미 일정 자산이 있고 현금흐름 체감이 중요하다면, 월배당 ETF의 장점이 더 크게 느껴질 수 있습니다.&lt;br&gt;즉 월배당 ETF는 모두에게 무조건 좋은 것이 아니라, &lt;b&gt;투자 단계와 목적에 따라 장점이 달라지는 상품군&lt;/b&gt;입니다.&lt;/p&gt;&lt;div style=&quot;border: 1px solid #fde68a; background: #fffbeb; padding: 16px 18px; border-radius: 14px; margin: 20px 0; color: #78350f; line-height: 1.9;&quot;&gt;
 &lt;b&gt;현실적인 조언&lt;/b&gt;
 &lt;br&gt;자산 성장기라면 월배당만 보고 몰빵하기보다, 핵심 성장 자산과 인컴형 자산의 역할을 구분해서 보는 편이 더 현실적입니다.
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  심화 내용 | 월배당 ETF는 '생활비 통장'이 아니라 전략 자산으로 봐야 한다
 &lt;/div&gt; 
 &lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;
  분배금이 나온다고 해서 원금과 리스크가 사라지는 것은 아닙니다.
 &lt;/div&gt; 
&lt;/div&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;월배당 ETF는 심리적으로 예금처럼 보일 때가 있습니다.&lt;br&gt;하지만 ETF는 어디까지나 투자자산입니다.&lt;br&gt;즉,&lt;/p&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;가격이 오를 수도 내릴 수도 있고&lt;/li&gt;&lt;li&gt;분배금 수준이 항상 같지 않을 수도 있으며&lt;/li&gt;&lt;li&gt;시장 환경에 따라 체감 매력이 달라질 수 있습니다.&lt;/li&gt;&lt;/ul&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;특히 JEPI·JEPQ 같은 인컴형 ETF는 분배금만 보면 매력적일 수 있지만, 상승장 참여 제한, 옵션 전략 특성, 총수익 구조를 같이 봐야 합니다.&lt;br&gt;반대로 SCHD처럼 배당 성장형 ETF는 월분배 체감은 덜하지만 장기 보유 관점에서 더 익숙한 주식형 투자처럼 느껴질 수 있습니다.&lt;br&gt;국내 월배당 ETF도 마찬가지입니다.&lt;br&gt;국내 상장이라는 이유만으로 안전하거나 단순한 것은 아니고, 결국 &lt;b&gt;상품 구조를 이해한 뒤 내 목적에 맞게 쓰는 것&lt;/b&gt;이 핵심입니다.&lt;/p&gt;&lt;div style=&quot;border: 1px solid #e5e7eb; border-radius: 16px; overflow: hidden; margin: 18px 0 24px; background: #ffffff;&quot;&gt; 
 &lt;div style=&quot;background: #f8fafc; padding: 14px 16px; font-weight: 800; color: #0f172a; border-bottom: 1px solid #e5e7eb;&quot;&gt;
  월배당 ETF를 볼 때의 올바른 사고 순서
 &lt;/div&gt; 
 &lt;div style=&quot;padding: 16px; line-height: 1.9; color: #334155;&quot;&gt; 
  &lt;div style=&quot;margin-bottom: 10px;&quot;&gt;
   &lt;b&gt;1단계&lt;/b&gt; 매달 준다는 사실보다 상품 구조를 본다
  &lt;/div&gt; 
  &lt;div style=&quot;margin-bottom: 10px;&quot;&gt;
   &lt;b&gt;2단계&lt;/b&gt; 총수익과 리스크를 함께 본다
  &lt;/div&gt; 
  &lt;div style=&quot;margin-bottom: 10px;&quot;&gt;
   &lt;b&gt;3단계&lt;/b&gt; 내 목적이 성장인지 인컴인지 구분한다
  &lt;/div&gt; 
  &lt;div&gt;
   &lt;b&gt;4단계&lt;/b&gt; 그다음에야 SCHD·JEPI·JEPQ·국내 ETF 중 맞는 축을 고른다
  &lt;/div&gt; 
 &lt;/div&gt; 
&lt;/div&gt;&lt;div id=&quot;code_coupang_monthly_3&quot; data-ke-type=&quot;html&quot; data-source=&quot;&lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&lt;/script&gt;&quot;&gt; 
 &lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt; 
 &lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt; 
&lt;/div&gt;&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt; 
 &lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;
  자주 묻는 질문 | 월배당 ETF에서 자주 헷갈리는 부분
 &lt;/div&gt; 
 &lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;
  마지막으로 실전에서 자주 나오는 질문만 빠르게 정리합니다.
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;border: 1px solid #e5e7eb; border-radius: 16px; overflow: hidden; margin: 18px 0 18px; background: #ffffff;&quot;&gt; 
 &lt;div style=&quot;padding: 14px 16px; font-weight: 800; color: #0f172a; background: #f8fafc; border-bottom: 1px solid #e5e7eb;&quot;&gt;
  Q1. 월배당 ETF면 무조건 좋은 ETF인가요?
 &lt;/div&gt; 
 &lt;div style=&quot;padding: 16px; color: #334155; line-height: 1.9;&quot;&gt;
  아닙니다. 월배당은 분배 주기일 뿐이고, 상품 구조는 매우 다를 수 있습니다. 핵심은 매달 준다는 사실보다, 어떤 자산에 투자하고 어떤 구조로 분배금을 만드는지입니다.
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;border: 1px solid #e5e7eb; border-radius: 16px; overflow: hidden; margin: 18px 0 18px; background: #ffffff;&quot;&gt; 
 &lt;div style=&quot;padding: 14px 16px; font-weight: 800; color: #0f172a; background: #f8fafc; border-bottom: 1px solid #e5e7eb;&quot;&gt;
  Q2. SCHD와 JEPI는 둘 다 배당 ETF 아닌가요?
 &lt;/div&gt; 
 &lt;div style=&quot;padding: 16px; color: #334155; line-height: 1.9;&quot;&gt;
  겉으로 보면 비슷해 보여도 성격은 꽤 다릅니다. SCHD는 배당을 꾸준히 주는 우량 기업에 투자하는 느낌에 가깝고, JEPI는 매달 현금흐름을 더 강하게 느끼게 해주는 쪽에 가깝습니다.
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;border: 1px solid #e5e7eb; border-radius: 16px; overflow: hidden; margin: 18px 0 18px; background: #ffffff;&quot;&gt; 
 &lt;div style=&quot;padding: 14px 16px; font-weight: 800; color: #0f172a; background: #f8fafc; border-bottom: 1px solid #e5e7eb;&quot;&gt;
  Q3. JEPQ는 JEPI보다 더 많이 주는 것처럼 보여서 더 좋은가요?
 &lt;/div&gt; 
 &lt;div style=&quot;padding: 16px; color: #334155; line-height: 1.9;&quot;&gt;
  그렇게 단순하게 보기는 어렵습니다. JEPQ는 기술주 쪽 성격이 더 강해서 움직임도 더 클 수 있습니다. 그래서 분배금 숫자만 보지 말고, 내가 그만큼의 흔들림도 감수할 수 있는지를 같이 봐야 합니다.
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;border: 1px solid #e5e7eb; border-radius: 16px; overflow: hidden; margin: 18px 0 18px; background: #ffffff;&quot;&gt; 
 &lt;div style=&quot;padding: 14px 16px; font-weight: 800; color: #0f172a; background: #f8fafc; border-bottom: 1px solid #e5e7eb;&quot;&gt;
  Q4. 국내 월배당 ETF는 미국 ETF보다 더 편하고 좋은가요?
 &lt;/div&gt; 
 &lt;div style=&quot;padding: 16px; color: #334155; line-height: 1.9;&quot;&gt;
  접근성과 계좌 활용 편의성은 좋을 수 있습니다. 다만 같은 월배당 ETF라도 기초자산, 분배 재원, 환노출 구조, 총보수가 다를 수 있으므로 편한 것과 좋은 것은 구분해서 봐야 합니다.
 &lt;/div&gt; 
&lt;/div&gt;&lt;div style=&quot;border: 1px solid #e5e7eb; border-radius: 16px; overflow: hidden; margin: 18px 0 18px; background: #ffffff;&quot;&gt; 
 &lt;div style=&quot;padding: 14px 16px; font-weight: 800; color: #0f172a; background: #f8fafc; border-bottom: 1px solid #e5e7eb;&quot;&gt;
  Q5. 자산을 키우는 단계에서도 월배당 ETF가 좋은 선택일까요?
 &lt;/div&gt; 
 &lt;div style=&quot;padding: 16px; color: #334155; line-height: 1.9;&quot;&gt;
  상황에 따라 다릅니다. 아직 자산 성장기가 더 중요하다면 월배당 체감보다 총수익과 성장 속도가 더 중요할 수 있습니다. 그래서 성장 자산과 인컴형 자산의 역할을 나눠서 보는 편이 현실적입니다.
 &lt;/div&gt; 
&lt;/div&gt;&lt;h2 data-ke-size=&quot;size26&quot;&gt;결론 | 월배당 ETF는 이렇게 정리하면 쉽다&lt;/h2&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;월배당 ETF를 고를 때는 '매달 돈이 나온다'는 매력만 보면 안 됩니다.&lt;br&gt;핵심은,&lt;/p&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;&lt;b&gt;SCHD&lt;/b&gt;는 우량 배당 성장형 ETF에 가깝고&lt;/li&gt;&lt;li&gt;&lt;b&gt;JEPI&lt;/b&gt;는 대형주 기반 인컴형 ETF에 가깝고&lt;/li&gt;&lt;li&gt;&lt;b&gt;JEPQ&lt;/b&gt;는 기술주 성향 인컴형 ETF에 가깝고&lt;/li&gt;&lt;li&gt;&lt;b&gt;국내 월배당 ETF&lt;/b&gt;는 상품마다 구조 차이가 매우 크다는 점입니다.&lt;/li&gt;&lt;/ul&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 정답은 하나가 아닙니다.&lt;/p&gt;&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;&lt;li&gt;장기 성장과 배당 균형을 원하면 SCHD 쪽 사고가 더 잘 맞을 수 있고&lt;/li&gt;&lt;li&gt;월 현금흐름 체감을 원하면 JEPI·JEPQ 같은 인컴형이 눈에 들어올 수 있으며&lt;/li&gt;&lt;li&gt;국내 계좌 활용 편의성이 중요하면 국내 월배당 ETF가 실용적일 수 있습니다.&lt;/li&gt;&lt;/ul&gt;&lt;p data-ke-size=&quot;size16&quot;&gt;다만 어떤 경우든, &lt;b&gt;분배금 숫자만 보지 말고 총수익 구조·변동성·세금·상품 전략을 함께 보아야&lt;/b&gt; 합니다.&lt;/p&gt;&lt;div style=&quot;border: 1px solid #c7d2fe; background: #eef2ff; padding: 18px; border-radius: 14px; margin-top: 18px; color: #312e81; line-height: 1.9;&quot;&gt;
 &lt;b&gt;월배당 ETF 한 줄 정리&lt;/b&gt;
 &lt;br&gt;&lt;span style=&quot;color: #2563eb; font-weight: bold;&quot;&gt;월배당은 형식&lt;/span&gt;이고, &lt;span style=&quot;color: #dc2626; font-weight: bold;&quot;&gt;투자 성격은 상품마다 다릅니다.&lt;/span&gt; 그래서 SCHD·JEPI·JEPQ·국내 월배당 ETF는 같은 바구니로 단순 비교하면 안 됩니다.
&lt;/div&gt;</description>
      <category>경제&amp;middot;재테크/ETF&amp;middot;계좌전략</category>
      <category>ETF비교</category>
      <category>JEPI</category>
      <category>JEPQ</category>
      <category>SCHD</category>
      <category>국내월배당ETF</category>
      <category>배당투자</category>
      <category>월배당etf</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/93</guid>
      <comments>https://trace90.tistory.com/entry/monthly-dividend-etf-schd-jepi-jepq-korea-guide#entry93comment</comments>
      <pubDate>Mon, 30 Mar 2026 12:18:08 +0900</pubDate>
    </item>
    <item>
      <title>퇴직연금 DC형 ETF 추천 | S&amp;amp;P500&amp;middot;나스닥100&amp;middot;채권 비중은 어떻게 나눌까?</title>
      <link>https://trace90.tistory.com/entry/dc-retirement-pension-etf-allocation-guide</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;퇴직연금 DC형을 운용할 수 있게 되면 많은 분들이 바로 이런 고민을 합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;DC형에서는 어떤 ETF를 담아야 할까?&lt;/li&gt;
&lt;li&gt;S&amp;amp;P500만 사도 될까?&lt;/li&gt;
&lt;li&gt;나스닥100도 같이 넣어야 할까?&lt;/li&gt;
&lt;li&gt;채권은 꼭 넣어야 하나?&lt;/li&gt;
&lt;li&gt;비중은 7:3이 맞나, 8:2가 맞나?&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결론부터 말하면, &lt;b&gt;퇴직연금 DC형 ETF 운용의 핵심은 '수익률이 가장 높아 보이는 ETF 찾기'가 아니라, 오래 유지할 수 있는 구조를 만드는 것&lt;/b&gt;입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 DC형은 회사가 운용 결과를 책임지는 구조가 아니라, &lt;b&gt;가입자가 직접 자산배분 방향을 정해야 하는 계좌&lt;/b&gt;입니다. 그래서 상승장만 보고 공격적으로 가면 하락장에서 흔들리기 쉽고, 반대로 너무 보수적으로 가면 장기 복리 효과가 약해질 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 글에서는 &lt;b&gt;퇴직연금 DC형에서 많이 보는 ETF 축인 S&amp;amp;P500&amp;middot;나스닥100&amp;middot;채권을 어떻게 이해하고, 어떤 사람에게 어떤 비중이 더 현실적인지&lt;/b&gt; 보기 쉽게 정리해보겠습니다.&lt;/p&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
&lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
&lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
&lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
&lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #f0f9ff 100%); box-shadow: 0 10px 28px rgba(37,99,235,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;핵심 요약&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;S&amp;amp;P500 ETF&lt;/b&gt;는 DC형 계좌의 중심축으로 쓰기 좋은 대표 분산 자산입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;나스닥100 ETF&lt;/b&gt;는 성장성을 높여주지만 변동성도 더 크게 느껴질 수 있습니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;채권 ETF&lt;/b&gt;는 수익률보다 계좌의 흔들림을 줄이는 완충 장치 역할에 가깝습니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;정답 비중은 하나가 아니라&lt;/b&gt; 은퇴까지 남은 기간, 하락장 버티는 성향, 계좌 목적에 따라 달라집니다.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;border: 1px solid #cfe0ff; background: #f8fbff; border-radius: 18px; padding: 18px; margin: 20px 0 26px; box-shadow: 0 8px 22px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 14px;&quot;&gt;한 장으로 보는 DC형 ETF 배분 사고 흐름&lt;/div&gt;
&lt;div style=&quot;background: #ffffff; border: 1px solid #dbeafe; border-radius: 14px; padding: 14px; margin-bottom: 10px; color: #334155;&quot;&gt;&lt;b&gt;1단계&lt;/b&gt; 은퇴까지 남은 기간 확인&lt;/div&gt;
&lt;div style=&quot;text-align: center; color: #94a3b8; margin-bottom: 10px;&quot;&gt;&amp;darr;&lt;/div&gt;
&lt;div style=&quot;background: #ffffff; border: 1px solid #dbeafe; border-radius: 14px; padding: 14px; margin-bottom: 10px; color: #334155;&quot;&gt;&lt;b&gt;2단계&lt;/b&gt; 하락장 버티는 성향 점검&lt;/div&gt;
&lt;div style=&quot;text-align: center; color: #94a3b8; margin-bottom: 10px;&quot;&gt;&amp;darr;&lt;/div&gt;
&lt;div style=&quot;background: #ffffff; border: 1px solid #dbeafe; border-radius: 14px; padding: 14px; margin-bottom: 10px; color: #334155;&quot;&gt;&lt;b&gt;3단계&lt;/b&gt; S&amp;amp;P500 / 나스닥100 / 채권 역할 구분&lt;/div&gt;
&lt;div style=&quot;text-align: center; color: #94a3b8; margin-bottom: 10px;&quot;&gt;&amp;darr;&lt;/div&gt;
&lt;div style=&quot;background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 14px; padding: 14px; color: #1e3a8a; font-weight: bold;&quot;&gt;4단계 비중 설정 후 자주 바꾸지 않고 유지&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;쉬운 정의 | 퇴직연금 DC형은 왜 ETF 비중이 중요할까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;DC형은 회사가 결과를 책임지는 구조가 아니라, 내가 직접 운용 방향을 정하는 구조입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;퇴직연금 **DC형(확정기여형)**은 회사가 매년 일정 금액을 넣어주고, 그 돈을 어떤 상품으로 운용할지는 가입자가 정하는 방식입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;회사가 돈을 납입하고&lt;/li&gt;
&lt;li&gt;나는 그 돈을 어떤 구조로 굴릴지 선택합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 같은 직장에 다녀도 누군가는 예금 위주로 두고, 누군가는 ETF로 장기 투자하며, 누군가는 원리금보장형과 실적배당형을 섞습니다.&lt;/p&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;DC형은 '무슨 ETF가 가장 좋나?'보다 먼저, &lt;b&gt;내 계좌를 어떤 구조로 오래 유지할 것인가&lt;/b&gt;를 정해야 합니다.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ETF를 많이 활용하는 이유도 비교적 분명합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;분산투자가 쉽고&lt;/li&gt;
&lt;li&gt;장기 적립식 구조와 맞기 쉬우며&lt;/li&gt;
&lt;li&gt;지수 기반이라 구조가 비교적 명확하고&lt;/li&gt;
&lt;li&gt;개별 종목 선택 실수를 줄이기 좋기 때문입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;왜 중요한가 | DC형은 수익률보다 지속 가능성이 더 중요하다&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;퇴직연금은 몇 주 보는 계좌가 아니라 수년~수십 년을 보는 장기 계좌입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;많은 분들이 DC형 운용에서 처음 하는 실수는 &lt;b&gt;최근 가장 많이 오른 ETF만 따라가는 것&lt;/b&gt;입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 퇴직연금은&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;장기 적립이 기본이고&lt;/li&gt;
&lt;li&gt;중간에 큰 조정을 여러 번 겪을 수 있으며&lt;/li&gt;
&lt;li&gt;계좌를 오래 유지할수록 복리 효과가 커지고&lt;/li&gt;
&lt;li&gt;하락장에서 구조를 자꾸 바꾸면 성과가 오히려 망가질 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;상승장에서는 나스닥100 100%가 좋아 보일 수 있지만&lt;/li&gt;
&lt;li&gt;큰 조정이 오면 계좌 낙폭이 매우 크게 느껴질 수 있고&lt;/li&gt;
&lt;li&gt;그때 겁이 나서 갈아타면 장기 계획이 틀어지기 쉽습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반대로,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;S&amp;amp;P500과 채권을 섞으면&lt;/li&gt;
&lt;li&gt;기대 수익률은 다소 낮아 보일 수 있어도&lt;/li&gt;
&lt;li&gt;하락장 방어와 심리적 유지에는 더 현실적일 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 DC형에서 중요한 것은 &lt;b&gt;최고 수익률 후보를 찾는 것보다, 내가 끝까지 유지할 포트폴리오를 고르는 것&lt;/b&gt;입니다.&lt;/p&gt;
&lt;div style=&quot;border: 1px solid #fecaca; background: #fff5f5; padding: 16px 18px; border-radius: 14px; margin: 20px 0; color: #7f1d1d; line-height: 1.9;&quot;&gt;&lt;b&gt;꼭 먼저 볼 포인트&lt;/b&gt;&lt;br /&gt;퇴직연금 계좌는 금융사&amp;middot;상품 라인업&amp;middot;위험자산 한도 정책에 따라 매수 가능 ETF와 편입 비중 제약이 다를 수 있습니다. 실제 매수 전에는 본인 계좌 화면에서 투자 가능 상품과 규정을 반드시 확인해야 합니다.&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;기본 설명 | S&amp;amp;P500&amp;middot;나스닥100&amp;middot;채권 ETF는 역할이 다르다&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;같이 담는 이유는 비슷해서가 아니라, 각자 맡는 역할이 다르기 때문입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.8; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 18%; text-align: left; color: #1d4ed8;&quot;&gt;구분&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 26%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;핵심 성격&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;강점&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 28%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;주의점&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;&lt;b&gt;S&amp;amp;P500 ETF&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;미국 대형주 전반에 폭넓게 분산된 핵심 자산&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;기본 축으로 쓰기 좋고 장기 분산이 비교적 안정적&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;기술주 강세장에서는 나스닥100보다 덜 강하게 느껴질 수 있음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;나스닥100 ETF&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;성장주&amp;middot;대형 기술주 비중이 높은 공격형 축&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;상승장에서는 성장 탄력이 크게 느껴질 수 있음&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;조정장에서 낙폭과 심리적 압박도 더 크게 느껴질 수 있음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;&lt;b&gt;채권 ETF&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;계좌의 변동성을 낮추는 방어 축&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;계좌 충격 완화, 리밸런싱 여지, 심리적 유지에 도움&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;상승장에서는 답답하게 느껴질 수 있음&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;border: 1px solid #dbeafe; background: #ffffff; border-radius: 18px; padding: 18px; margin: 18px 0 24px; box-shadow: 0 8px 24px rgba(15,23,42,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 12px;&quot;&gt;역할만 빠르게 기억하면 이렇게 보면 됩니다&lt;/div&gt;
&lt;div style=&quot;display: flex; flex-direction: column; gap: 10px; line-height: 1.9; color: #334155;&quot;&gt;
&lt;div style=&quot;padding: 12px 14px; border: 1px solid #bfdbfe; border-radius: 12px; background: #eff6ff;&quot;&gt;&lt;b&gt;S&amp;amp;P500&lt;/b&gt; = 기본 뼈대&lt;/div&gt;
&lt;div style=&quot;padding: 12px 14px; border: 1px solid #fecdd3; border-radius: 12px; background: #fff1f2;&quot;&gt;&lt;b&gt;나스닥100&lt;/b&gt; = 성장성 강화&lt;/div&gt;
&lt;div style=&quot;padding: 12px 14px; border: 1px solid #e2e8f0; border-radius: 12px; background: #f8fafc;&quot;&gt;&lt;b&gt;채권&lt;/b&gt; = 흔들림 완화&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_dc_1&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;상황별 예제 | 어떤 사람에게 어떤 비중이 더 현실적일까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;정답 비율은 없지만, 성향별로 생각해볼 수 있는 기본 틀은 있습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;border: 1px solid #dbeafe; border-radius: 18px; overflow: hidden; margin: 18px 0 26px; background: #fff; box-shadow: 0 8px 24px rgba(15,23,42,0.05);&quot;&gt;
&lt;div style=&quot;padding: 14px 18px; background: #eff6ff; font-size: 18px; font-weight: 800; color: #1e40af;&quot;&gt;1) DC형이 처음이거나, 큰 흔들림이 부담스러운 경우&lt;/div&gt;
&lt;div style=&quot;padding: 18px; line-height: 1.9; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;예시 비중:&lt;/b&gt; S&amp;amp;P500 50% + 나스닥100 20% + 채권 30%&lt;/div&gt;
&lt;ul style=&quot;margin: 12px 0 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;주식 비중은 충분히 가져가되 채권 완충을 조금 더 둔 구조&lt;/li&gt;
&lt;li&gt;은퇴가 아주 멀지 않거나, 큰 낙폭을 버티는 자신감이 약한 경우 생각해볼 수 있음&lt;/li&gt;
&lt;li&gt;체감상 비교적 무난하게 시작하기 좋은 편&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;border: 1px solid #bfdbfe; border-radius: 18px; overflow: hidden; margin: 18px 0 26px; background: #fff; box-shadow: 0 8px 24px rgba(15,23,42,0.05);&quot;&gt;
&lt;div style=&quot;padding: 14px 18px; background: #dbeafe; font-size: 18px; font-weight: 800; color: #1d4ed8;&quot;&gt;2) 장기 성장과 안정성의 균형을 함께 보고 싶은 경우&lt;/div&gt;
&lt;div style=&quot;padding: 18px; line-height: 1.9; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;예시 비중:&lt;/b&gt; S&amp;amp;P500 50% + 나스닥100 30% + 채권 20%&lt;/div&gt;
&lt;ul style=&quot;margin: 12px 0 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;S&amp;amp;P500을 중심에 두고 성장성과 안정성을 함께 챙기는 구조&lt;/li&gt;
&lt;li&gt;한쪽으로 과도하게 치우치지 않아 리밸런싱 기준 잡기에도 편함&lt;/li&gt;
&lt;li&gt;많은 초중장기 투자자에게 밸런스가 잘 맞는 편으로 느껴질 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;border: 1px solid #fecdd3; border-radius: 18px; overflow: hidden; margin: 18px 0 26px; background: #fff; box-shadow: 0 8px 24px rgba(15,23,42,0.05);&quot;&gt;
&lt;div style=&quot;padding: 14px 18px; background: #ffe4e6; font-size: 18px; font-weight: 800; color: #be123c;&quot;&gt;3) 변동성을 이해하고 성장 비중을 더 높이고 싶은 경우&lt;/div&gt;
&lt;div style=&quot;padding: 18px; line-height: 1.9; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;예시 비중:&lt;/b&gt; S&amp;amp;P500 40% + 나스닥100 40% + 채권 20%&lt;/div&gt;
&lt;ul style=&quot;margin: 12px 0 0; padding-left: 20px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;성장주 비중을 높여 장기 기대수익을 노리는 구조&lt;/li&gt;
&lt;li&gt;상승장에서는 만족도가 높을 수 있지만, 조정 구간에서는 심리적 압박이 더 큼&lt;/li&gt;
&lt;li&gt;하락장에도 계획을 바꾸지 않을 자신이 있을 때 접근하는 편이 낫습니다&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;border: 1px solid #e5e7eb; border-radius: 16px; overflow: hidden; margin: 20px 0 28px; background: #ffffff;&quot;&gt;
&lt;div style=&quot;background: #f8fafc; padding: 14px 16px; font-weight: 800; color: #0f172a; border-bottom: 1px solid #e5e7eb;&quot;&gt;비중을 정할 때 스스로에게 꼭 물어볼 질문&lt;/div&gt;
&lt;div style=&quot;padding: 16px; line-height: 1.9; color: #334155;&quot;&gt;
&lt;div&gt;✔ 20% 이상 빠져도 유지할 수 있는가?&lt;/div&gt;
&lt;div&gt;✔ 채권 비중이 너무 적어서 불안하지 않은가?&lt;/div&gt;
&lt;div&gt;✔ 나스닥100 비중이 너무 커서 특정 섹터 쏠림이 심하지 않은가?&lt;/div&gt;
&lt;div&gt;✔ 향후 추가 납입 때도 같은 원칙으로 계속 갈 수 있는가?&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;비교/구조 | S&amp;amp;P500 중심형과 나스닥100 강화형은 무엇이 다를까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;비중 차이는 결국 계좌의 흔들림 차이로 이어집니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.8; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 24%; text-align: left; color: #1d4ed8;&quot;&gt;구조&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 38%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;이런 사람에게 어울림&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 38%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;체감 특징&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;S&amp;amp;P500 중심형&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;장기 투자 경험이 많지 않거나, 너무 큰 계좌 흔들림은 부담스러운 사람&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;보다 넓은 분산, 상대적으로 덜 공격적, 핵심 자산으로 운용하기 쉬움&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;나스닥100 강화형&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;성장주 변동성을 이해하고, 큰 조정도 장기 관점으로 버틸 수 있는 사람&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;상승 탄력 기대는 크지만, 하락 시 체감 손실과 심리적 압박도 더 큼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;채권 혼합형&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;은퇴 시점이 점점 가까워지거나, 계좌 방어와 유지 가능성을 더 중요하게 보는 사람&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;수익률 극대화보다 계좌 안정감, 리밸런싱 여유, 심리적 편안함에 강점&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div style=&quot;border-left: 4px solid #2563eb; background: #eff6ff; padding: 14px 16px; border-radius: 10px; margin: 18px 0; color: #1e3a8a; line-height: 1.9;&quot;&gt;&lt;b&gt;한 줄로 정리&lt;/b&gt;&lt;br /&gt;S&amp;amp;P500 비중이 높을수록 계좌 중심이 넓은 분산 쪽으로 가고, 나스닥100 비중이 높을수록 성장성은 커지지만 흔들림도 커집니다.&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;꼭 봐야 할 정보 | DC형 ETF 운용에서 자주 헷갈리는 포인트&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;ETF 이름보다 먼저 확인해야 할 부분이 있습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;border: 1px solid #dbeafe; border-radius: 18px; overflow: hidden; margin: 18px 0 24px; background: #ffffff; box-shadow: 0 8px 24px rgba(15,23,42,0.04);&quot;&gt;
&lt;div style=&quot;background: #eff6ff; padding: 14px 16px; font-weight: 800; color: #1d4ed8; border-bottom: 1px solid #dbeafe;&quot;&gt;체크리스트 1 | 내 퇴직연금 계좌에서 실제 매수 가능한 상품인가?&lt;/div&gt;
&lt;div style=&quot;padding: 16px; color: #334155; line-height: 1.9;&quot;&gt;일반 증권계좌에서 살 수 있는 ETF가 퇴직연금에서는 그대로 안 보일 수 있습니다. 금융사별로 퇴직연금 전용 상품 라인업과 위험자산 분류 기준이 다를 수 있기 때문입니다. 즉, 글에서 본 ETF 이름이 좋아 보여도 &lt;b&gt;내 퇴직연금 계좌에서 실제 매수가 가능한지&lt;/b&gt; 먼저 확인해야 합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;border: 1px solid #dbeafe; border-radius: 18px; overflow: hidden; margin: 18px 0 24px; background: #ffffff; box-shadow: 0 8px 24px rgba(15,23,42,0.04);&quot;&gt;
&lt;div style=&quot;background: #eff6ff; padding: 14px 16px; font-weight: 800; color: #1d4ed8; border-bottom: 1px solid #dbeafe;&quot;&gt;체크리스트 2 | 같은 미국 지수라도 ETF 세부 구조가 같은가?&lt;/div&gt;
&lt;div style=&quot;padding: 16px; color: #334155; line-height: 1.9;&quot;&gt;같은 S&amp;amp;P500, 같은 나스닥100이라도 환헤지/비헤지, 총보수, 추종 방식, 순자산 규모, 분배금 방식이 다를 수 있습니다. 즉 &lt;b&gt;지수 이름만 같다고 완전히 같은 ETF는 아닐 수 있다&lt;/b&gt;는 점을 같이 봐야 합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;border: 1px solid #dbeafe; border-radius: 18px; overflow: hidden; margin: 18px 0 24px; background: #ffffff; box-shadow: 0 8px 24px rgba(15,23,42,0.04);&quot;&gt;
&lt;div style=&quot;background: #eff6ff; padding: 14px 16px; font-weight: 800; color: #1d4ed8; border-bottom: 1px solid #dbeafe;&quot;&gt;체크리스트 3 | 채권 ETF를 너무 쉽게 빼고 있지 않은가?&lt;/div&gt;
&lt;div style=&quot;padding: 16px; color: #334155; line-height: 1.9;&quot;&gt;채권은 상승장에서 답답해 보일 수 있습니다. 하지만 DC형에서는 계좌 낙폭을 줄이고, 리밸런싱 여지를 만들고, 심리적 이탈을 줄여주는 역할을 할 수 있습니다. 그래서 채권은 수익률 꼴찌 자산이 아니라, &lt;b&gt;계좌를 오래 유지하게 해주는 방어 자산&lt;/b&gt;으로 보는 것이 더 정확합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_dc_2&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;실무 포인트 | 추천은 '상품 1개'보다 '운용 원칙'으로 보는 게 낫다&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;퇴직연금은 한 번의 선택보다 유지와 조정이 더 중요합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;DC형 ETF 추천을 한 줄로 말하면 보통 이렇게 정리할 수 있습니다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;핵심은 S&amp;amp;P500 같은 넓은 주식형 축으로 잡기&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;나스닥100은 성장성 보강용으로 비중 조절하기&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;채권은 버티기용 완충장치로 남겨두기&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;너무 자주 갈아타지 말고 정기적으로만 점검하기&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 퇴직연금은 일반 투자계좌보다 더더욱&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;자주 매매하기보다&lt;/li&gt;
&lt;li&gt;적립 구조를 유지하고&lt;/li&gt;
&lt;li&gt;비중이 많이 틀어질 때만 리밸런싱하는 방식&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 더 현실적입니다.&lt;/p&gt;
&lt;div style=&quot;border: 1px solid #fde68a; background: #fffbeb; padding: 16px 18px; border-radius: 14px; margin: 20px 0; color: #78350f; line-height: 1.9;&quot;&gt;&lt;b&gt;현실적인 운용 팁&lt;/b&gt;&lt;br /&gt;연 1~2회 정도만 비중을 점검하고, 시장이 크게 흔들릴 때 감정적으로 구조를 바꾸지 않는 편이 장기 계좌에는 더 잘 맞을 수 있습니다.&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;심화 내용 | 은퇴까지 남은 시간에 따라 비중 생각도 달라질 수 있다&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;같은 사람도 시점이 바뀌면 정답 비중이 달라질 수 있습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;은퇴까지 시간이 아주 많이 남아 있다면 주식형 비중을 더 높게 가져가는 전략이 자연스럽게 느껴질 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반대로 은퇴 시점이 가까워질수록,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;큰 낙폭 복구에 필요한 시간이 줄어들고&lt;/li&gt;
&lt;li&gt;계좌 변동성에 대한 스트레스가 커질 수 있으며&lt;/li&gt;
&lt;li&gt;일정 부분 방어 자산 비중의 필요성이 커질 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 어떤 사람은 30대와 50대의 비중이 같을 수 없고, 같은 사람도 시간이 지나면 비중을 다르게 가져갈 수 있습니다.&lt;/p&gt;
&lt;div style=&quot;border: 1px solid #e5e7eb; border-radius: 16px; overflow: hidden; margin: 18px 0 24px; background: #ffffff;&quot;&gt;
&lt;div style=&quot;background: #f8fafc; padding: 14px 16px; font-weight: 800; color: #0f172a; border-bottom: 1px solid #e5e7eb;&quot;&gt;은퇴 시점에 따른 아주 단순한 사고 틀&lt;/div&gt;
&lt;div style=&quot;padding: 16px; line-height: 1.9; color: #334155;&quot;&gt;
&lt;div style=&quot;margin-bottom: 10px;&quot;&gt;&lt;b&gt;은퇴까지 시간이 많이 남음&lt;/b&gt; &amp;rarr; 주식형 중심 사고가 비교적 자연스러움&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 10px;&quot;&gt;&lt;b&gt;은퇴가 점점 가까워짐&lt;/b&gt; &amp;rarr; 채권/안정 자산 비중 필요성을 더 크게 봄&lt;/div&gt;
&lt;div&gt;&lt;b&gt;핵심&lt;/b&gt; &amp;rarr; 지금의 비중이 영원한 정답은 아닐 수 있음&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_dc_3&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;자주 묻는 질문 | 퇴직연금 DC형 ETF에서 많이 헷갈리는 부분&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;마지막으로 실전에서 자주 나오는 질문만 빠르게 정리합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;border: 1px solid #e5e7eb; border-radius: 16px; overflow: hidden; margin: 18px 0 18px; background: #ffffff;&quot;&gt;
&lt;div style=&quot;padding: 14px 16px; font-weight: 800; color: #0f172a; background: #f8fafc; border-bottom: 1px solid #e5e7eb;&quot;&gt;Q1. 퇴직연금 DC형에서는 ETF 100%로만 운용해도 되나요?&lt;/div&gt;
&lt;div style=&quot;padding: 16px; color: #334155; line-height: 1.9;&quot;&gt;가능 여부와 한도는 금융사 상품 라인업과 위험자산 규정에 따라 다를 수 있습니다. 이론적으로 주식형 비중을 높게 가져가고 싶더라도, 실제 계좌에서는 편입 가능 상품과 한도를 먼저 확인해야 합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;border: 1px solid #e5e7eb; border-radius: 16px; overflow: hidden; margin: 18px 0 18px; background: #ffffff;&quot;&gt;
&lt;div style=&quot;padding: 14px 16px; font-weight: 800; color: #0f172a; background: #f8fafc; border-bottom: 1px solid #e5e7eb;&quot;&gt;Q2. 채권 ETF는 꼭 넣어야 하나요?&lt;/div&gt;
&lt;div style=&quot;padding: 16px; color: #334155; line-height: 1.9;&quot;&gt;반드시 정답처럼 넣어야 하는 것은 아니지만, 큰 하락을 버티는 자신감이 부족하거나 은퇴 시점이 점점 가까워진다면 채권은 매우 유용한 방어 자산이 될 수 있습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;border: 1px solid #e5e7eb; border-radius: 16px; overflow: hidden; margin: 18px 0 18px; background: #ffffff;&quot;&gt;
&lt;div style=&quot;padding: 14px 16px; font-weight: 800; color: #0f172a; background: #f8fafc; border-bottom: 1px solid #e5e7eb;&quot;&gt;Q3. S&amp;amp;P500과 나스닥100을 둘 다 담아도 되나요?&lt;/div&gt;
&lt;div style=&quot;padding: 16px; color: #334155; line-height: 1.9;&quot;&gt;네, 둘을 함께 담는 방식은 매우 흔합니다. 다만 둘 다 미국 주식형 자산이므로, 나스닥100 비중을 높일수록 성장성은 커지지만 특정 섹터 쏠림과 변동성도 더 커질 수 있습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;border: 1px solid #e5e7eb; border-radius: 16px; overflow: hidden; margin: 18px 0 18px; background: #ffffff;&quot;&gt;
&lt;div style=&quot;padding: 14px 16px; font-weight: 800; color: #0f172a; background: #f8fafc; border-bottom: 1px solid #e5e7eb;&quot;&gt;Q4. DC형 비중은 얼마나 자주 바꿔야 하나요?&lt;/div&gt;
&lt;div style=&quot;padding: 16px; color: #334155; line-height: 1.9;&quot;&gt;보통은 자주 바꾸기보다 정기 점검 방식이 더 현실적입니다. 시장이 흔들릴 때마다 감정적으로 구조를 바꾸기보다, 연 1~2회 정도 원칙 기준으로 점검하는 쪽이 장기 운용에 더 잘 맞을 수 있습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;border: 1px solid #e5e7eb; border-radius: 16px; overflow: hidden; margin: 18px 0 18px; background: #ffffff;&quot;&gt;
&lt;div style=&quot;padding: 14px 16px; font-weight: 800; color: #0f172a; background: #f8fafc; border-bottom: 1px solid #e5e7eb;&quot;&gt;Q5. 국내 상장 ETF를 고를 때 무엇을 추가로 봐야 하나요?&lt;/div&gt;
&lt;div style=&quot;padding: 16px; color: #334155; line-height: 1.9;&quot;&gt;같은 지수를 추종해도 환헤지 여부, 총보수, 순자산 규모, 거래량, 추종 방식이 다를 수 있습니다. 즉 지수 이름만이 아니라 실제 ETF의 세부 구조까지 같이 봐야 합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;결론 | 퇴직연금 DC형 ETF 추천은 이렇게 정리하면 쉽다&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;퇴직연금 DC형 ETF를 고민할 때 가장 먼저 기억하면 좋은 것은 이것입니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;S&amp;amp;P500 ETF&lt;/b&gt;는 기본 축으로 보기 좋고&lt;/li&gt;
&lt;li&gt;&lt;b&gt;나스닥100 ETF&lt;/b&gt;는 성장성 보강용으로 쓰기 좋으며&lt;/li&gt;
&lt;li&gt;&lt;b&gt;채권 ETF&lt;/b&gt;는 계좌를 오래 유지하게 만드는 완충 장치에 가깝습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 추천의 방향은 보통&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;한 방 수익률만 보는 조합보다&lt;/li&gt;
&lt;li&gt;장기 유지 가능한 구조를 만들고&lt;/li&gt;
&lt;li&gt;내 성향과 시점에 맞는 비중을 고르는 쪽&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;으로 가는 것이 더 현실적입니다.&lt;/p&gt;
&lt;div style=&quot;border: 1px solid #c7d2fe; background: #eef2ff; padding: 18px; border-radius: 14px; margin-top: 18px; color: #312e81; line-height: 1.9;&quot;&gt;&lt;b&gt;퇴직연금 DC형 ETF 추천 한 줄 정리&lt;/b&gt;&lt;br /&gt;&lt;span style=&quot;color: #2563eb; font-weight: bold;&quot;&gt;S&amp;amp;P500으로 중심을 잡고&lt;/span&gt;, &lt;span style=&quot;color: #dc2626; font-weight: bold;&quot;&gt;나스닥100으로 성장성을 조절하고&lt;/span&gt;, &lt;span style=&quot;font-weight: bold;&quot;&gt;채권으로 버티는 힘을 남겨두는 구조&lt;/span&gt;가 가장 현실적인 출발점입니다.&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;투자 판단 전에는 반드시 본인 퇴직연금 계좌의 상품 라인업, 위험자산 편입 한도, 수수료, 환헤지 여부를 함께 확인해보시길 권합니다.&lt;/p&gt;</description>
      <category>경제&amp;middot;재테크/ETF&amp;middot;계좌전략</category>
      <category>S&amp;amp;P500etf</category>
      <category>나스닥100ETF</category>
      <category>연금투자</category>
      <category>자산배분</category>
      <category>채권ETF</category>
      <category>퇴직연금dc형</category>
      <category>퇴직연금ETF</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/92</guid>
      <comments>https://trace90.tistory.com/entry/dc-retirement-pension-etf-allocation-guide#entry92comment</comments>
      <pubDate>Sun, 29 Mar 2026 10:28:35 +0900</pubDate>
    </item>
    <item>
      <title>Nginx란 무엇인가? 리버스 프록시와 로드밸런싱 개념 쉽게 이해하기</title>
      <link>https://trace90.tistory.com/entry/what-is-nginx-reverse-proxy-load-balancing-guide</link>
      <description>&lt;h1&gt;Nginx란 무엇인가? 리버스 프록시와 로드밸런싱 개념 쉽게 이해하기&lt;/h1&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;백엔드나 인프라 공부를 하다 보면 &lt;b&gt;Nginx&lt;/b&gt;라는 이름을 정말 자주 보게 됩니다. Spring Boot 앞단에 붙여두기도 하고, 정적 파일을 서빙할 때도 쓰고, HTTPS 설정이나 리버스 프록시 예제에서도 빠지지 않죠.&lt;br /&gt;그런데 처음 접하면 이런 궁금증이 생기기 쉽습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Nginx는 정확히 웹서버인가?&lt;/li&gt;
&lt;li&gt;Apache와 같은 종류라고 보면 되는가?&lt;/li&gt;
&lt;li&gt;왜 애플리케이션 서버 앞에 Nginx를 두는 걸까?&lt;/li&gt;
&lt;li&gt;리버스 프록시와 로드밸런싱은 Nginx와 어떤 관계가 있을까?&lt;/li&gt;
&lt;li&gt;단순 정적 파일 서버를 넘어서 어떤 역할까지 할 수 있을까?&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;많은 분들이 Nginx를 단순히 &lt;b&gt;정적 파일을 잘 내려주는 웹서버&lt;/b&gt; 정도로만 이해하지만, 실제로는 그보다 더 넓은 역할을 합니다. 웹서버이면서도 &lt;b&gt;리버스 프록시, HTTPS 처리, 로드밸런싱, 앞단 트래픽 제어&lt;/b&gt;까지 맡을 수 있기 때문입니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #f0f9ff 100%); box-shadow: 0 10px 28px rgba(37,99,235,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;먼저 핵심부터&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;Nginx&lt;/b&gt;는 정적 파일을 직접 응답할 수 있는 웹서버입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;리버스 프록시&lt;/b&gt;로 동작하며 외부 요청을 내부 애플리케이션 서버로 전달할 수 있습니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;로드밸런서&lt;/b&gt;처럼 여러 서버로 트래픽을 나누는 역할도 할 수 있습니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;핵심은 Nginx가 &amp;lsquo;웹 요청의 앞단에서 흐름을 정리하는 서버&amp;rsquo;라는 점&lt;/b&gt;입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 글에서는 Nginx가 정확히 무엇인지, 왜 많이 쓰이는지, 웹서버&amp;middot;리버스 프록시&amp;middot;로드밸런서 역할은 어떻게 다른지, 그리고 실무에서는 어떤 관점으로 이해하면 좋은지까지 쉽게 정리해보겠습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;Nginx는 왜 이렇게 자주 등장할까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;웹서비스 앞단에서 처리할 일이 많기 때문입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;웹서비스가 단순한 정적 페이지 수준을 넘어가면, 요청을 어떻게 받고 어디로 보낼지가 중요해집니다.&lt;br /&gt;예를 들어 이런 상황이 자주 나옵니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;사용자는 80, 443 포트로 접속해야 한다.&lt;/li&gt;
&lt;li&gt;실제 애플리케이션은 8080, 3000 같은 내부 포트에서 실행된다.&lt;/li&gt;
&lt;li&gt;이미지, CSS, JS 같은 정적 파일은 빠르게 응답하고 싶다.&lt;/li&gt;
&lt;li&gt;HTTPS 인증서는 한 곳에서 관리하고 싶다.&lt;/li&gt;
&lt;li&gt;서버가 여러 대면 요청을 적절히 분산하고 싶다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 요구를 애플리케이션 서버가 전부 직접 처리하게 만들 수도 있지만, 운영이 복잡해질 수 있습니다. 그래서 보통은 &lt;b&gt;Nginx를 앞단에 두고 요청 흐름을 먼저 정리한 뒤, 내부 애플리케이션 서버로 전달하는 구조&lt;/b&gt;를 많이 씁니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;Nginx는 단순히 파일을 내려주는 서버가 아니라, 외부 요청이 내부 시스템으로 들어가기 전 첫 관문 역할을 자주 맡습니다.&lt;/blockquote&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;먼저 아주 쉽게 정의하면&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;Nginx는 웹 요청을 받아 정리하고 전달하는 앞단 서버입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아주 단순하게 말하면 Nginx는 인터넷에서 들어온 요청을 받아,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;직접 응답할 건 직접 응답하고&lt;/li&gt;
&lt;li&gt;내부 서버로 넘길 건 넘기고&lt;/li&gt;
&lt;li&gt;여러 서버 중 하나로 분산할 수도 있는&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;범용적인 웹 인프라 서버 소프트웨어&lt;/b&gt;입니다.&lt;br /&gt;그래서 Nginx를 이해할 때는 하나의 역할만 기억하면 오히려 헷갈립니다. 보통 아래 3가지 역할을 함께 봐야 합니다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;웹서버&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;리버스 프록시&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;로드밸런서&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;한 줄 포인트&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.9; color: #334155;&quot;&gt;Nginx는 &lt;b&gt;웹 요청을 받아 어디서 처리할지 정하는 조정자&lt;/b&gt;처럼 이해하면 감이 훨씬 잘 옵니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;Nginx의 대표 역할 1: 웹서버&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;정적 파일을 직접 내려주는 기본 역할입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가장 기본적으로 Nginx는 웹서버입니다. 즉 브라우저가 요청한 HTML, CSS, JavaScript, 이미지 같은 리소스를 직접 응답할 수 있습니다.&lt;br /&gt;예를 들어 아래 같은 파일은 Nginx가 잘 처리할 수 있습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;HTML&lt;/li&gt;
&lt;li&gt;CSS&lt;/li&gt;
&lt;li&gt;JavaScript&lt;/li&gt;
&lt;li&gt;이미지 파일&lt;/li&gt;
&lt;li&gt;다운로드 파일&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 정적 파일은 별도 비즈니스 로직이 필요한 경우가 적기 때문에, 애플리케이션 서버까지 요청을 보내지 않고 Nginx가 직접 응답하면 더 효율적일 수 있습니다.&lt;br /&gt;즉 정적 리소스 처리에서는 Nginx가 &lt;b&gt;빠르고 가볍게 앞단 응답을 담당하는 역할&lt;/b&gt;을 할 수 있습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #818cf8; background: #f8faff; border-radius: 14px; box-shadow: 0 6px 18px rgba(99,102,241,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;Nginx의 대표 역할 2: 리버스 프록시&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;외부 요청을 내부 애플리케이션 서버로 대신 전달하는 구조입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Nginx를 이해할 때 가장 중요하게 같이 배워야 하는 개념이 바로 &lt;b&gt;리버스 프록시&lt;/b&gt;입니다.&lt;br /&gt;리버스 프록시는 클라이언트가 직접 내부 서버에 접근하지 않고, 앞단 서버가 요청을 받아 대신 내부 서버로 전달하는 구조라고 보면 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 사용자는 &lt;code&gt;https://example.com&lt;/code&gt;으로 접속하지만, 실제 애플리케이션은 내부에서 &lt;code&gt;localhost:8080&lt;/code&gt;으로 실행되고 있을 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;흐름은 대략 이렇게 됩니다.&lt;/p&gt;
&lt;pre class=&quot;armasm&quot;&gt;&lt;code&gt;사용자 브라우저
   &amp;darr;
Nginx
   &amp;darr;
Spring Boot 서버
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 구조를 쓰면 얻는 장점이 많습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;내부 애플리케이션 서버를 직접 외부에 노출하지 않을 수 있다.&lt;/li&gt;
&lt;li&gt;HTTPS 설정을 앞단에서 처리하기 편하다.&lt;/li&gt;
&lt;li&gt;URL 경로나 도메인별로 다른 서버에 라우팅할 수 있다.&lt;/li&gt;
&lt;li&gt;서버 구조가 바뀌어도 외부 진입점은 비교적 안정적으로 유지할 수 있다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 리버스 프록시는 단순 중계가 아니라, &lt;b&gt;서비스 구조를 더 깔끔하게 만들고 운영을 유연하게 만드는 방식&lt;/b&gt;입니다.&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;프록시와 리버스 프록시는 어떻게 다를까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;초보자가 가장 자주 헷갈리는 구간입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;초보자가 많이 헷갈리는 부분이라 한 번에 정리하면 이렇습니다.&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.8; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 30%; text-align: left; color: #1d4ed8;&quot;&gt;구분&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 35%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;프록시(Forward Proxy)&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 35%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;리버스 프록시(Reverse Proxy)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;누구 앞에 서는가&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;클라이언트 쪽&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;서버 쪽&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;핵심 역할&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;사용자 대신 외부와 통신&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;외부 요청을 받아 내부 서버로 전달&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;Nginx와의 관계&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;보통 주 용도는 아님&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;대표적인 활용 방식&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 초보자 기준으로는,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;프록시는 &amp;ldquo;사용자 대신 나가는 느낌&amp;rdquo;&lt;/li&gt;
&lt;li&gt;리버스 프록시는 &amp;ldquo;외부 요청을 받아 서버 안으로 들여보내는 느낌&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;으로 구분하면 이해가 쉽습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;Nginx의 대표 역할 3: 로드밸런싱&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;여러 서버로 요청을 분산해 확장성과 안정성을 높일 수 있습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;서비스 규모가 커지면 애플리케이션 서버를 한 대만 두지 않고 여러 대 운영하는 경우가 많습니다. 이때 Nginx는 여러 서버로 요청을 나눠 보내는 역할도 할 수 있습니다.&lt;/p&gt;
&lt;pre class=&quot;angelscript&quot;&gt;&lt;code&gt;사용자 요청
   &amp;darr;
Nginx
 ├─ app-server-1
 ├─ app-server-2
 └─ app-server-3
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 하면 요청이 특정 서버 한 대에만 몰리지 않고, 여러 서버로 분산될 수 있습니다.&lt;br /&gt;이 구조가 바로 &lt;b&gt;로드밸런싱&lt;/b&gt;입니다.&lt;br /&gt;Nginx를 활용하면 보통 아래 같은 목적을 달성할 수 있습니다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;트래픽 분산&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;서버 확장&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;장애 대응&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;서비스 안정성 향상&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 Nginx는 단순 웹서버를 넘어서, &lt;b&gt;서비스를 운영하기 쉬운 구조로 만드는 인프라 구성 요소&lt;/b&gt;이기도 합니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #bbf7d0; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(16,185,129,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #166534; margin-bottom: 10px;&quot;&gt;한 번에 정리하면&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.9; color: #334155;&quot;&gt;Nginx는 &lt;b&gt;정적 파일은 직접 응답하고, 동적 요청은 내부 서버로 넘기고, 필요하면 여러 서버로 분산도 하는 앞단 제어 서버&lt;/b&gt;라고 보면 됩니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #ef4444; background: #fff5f5; border-radius: 14px; box-shadow: 0 6px 18px rgba(239,68,68,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;예시로 보면 더 쉽다&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;실제 서비스 흐름에 대입하면 개념이 더 또렷해집니다.&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;예시 1. 정적 웹페이지 제공&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;회사 소개 페이지나 이미지, CSS 파일처럼 단순 정적 리소스는 Nginx가 직접 제공할 수 있습니다. 이 경우 애플리케이션 서버까지 요청이 가지 않아도 되므로 구조가 단순하고 응답 효율도 좋아질 수 있습니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;예시 2. Spring Boot 앞단 리버스 프록시&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사용자는 &lt;code&gt;https://myservice.com&lt;/code&gt;으로 접속하지만, 실제 애플리케이션은 내부에서 &lt;code&gt;localhost:8080&lt;/code&gt;으로 실행되고 있을 수 있습니다. Nginx가 앞에서 HTTPS를 받고, 그 뒤 Spring Boot 서버로 요청을 전달하는 방식입니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;예시 3. 여러 애플리케이션 서버로 분산&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;트래픽이 증가해 앱 서버를 3대로 늘렸다고 해보겠습니다. Nginx는 각 요청을 여러 서버 중 한 곳으로 분산해줄 수 있고, 이 구조는 단일 서버보다 확장성과 장애 대응에 유리합니다.&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #8b5cf6; background: #faf5ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(139,92,246,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;Apache와는 무엇이 다를까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;둘 다 웹서버지만, 활용 포인트가 자주 다르게 인식됩니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Nginx를 공부하다 보면 Apache와의 비교도 자주 나옵니다. 둘 다 대표적인 웹서버이지만, 초보자 관점에서는 아래 정도만 먼저 정리해도 충분합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;둘 다 웹서버로 사용할 수 있다.&lt;/li&gt;
&lt;li&gt;Nginx는 리버스 프록시와 로드밸런싱 이야기에서 특히 자주 등장한다.&lt;/li&gt;
&lt;li&gt;현대 웹서비스에서는 Nginx가 앞단 게이트웨이처럼 배치되는 경우가 많다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 무조건 하나가 절대적으로 낫다기보다, &lt;b&gt;어떤 역할로 시스템 안에 배치할지&lt;/b&gt;가 더 중요합니다.&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #06b6d4; background: #ecfeff; border-radius: 14px; box-shadow: 0 6px 18px rgba(6,182,212,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;꼭 봐야 할 정보&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;Nginx를 이해할 때 같이 잡아야 할 핵심 포인트입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 24px; display: grid; grid-template-columns: 1fr; gap: 12px;&quot;&gt;
&lt;div style=&quot;border: 1px solid #dbeafe; background: #f8fbff; border-radius: 16px; padding: 16px; box-shadow: 0 8px 20px rgba(37,99,235,0.04);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #1d4ed8; margin-bottom: 8px;&quot;&gt;1. Nginx는 앱 서버가 아니다&lt;/div&gt;
&lt;div style=&quot;line-height: 1.85; color: #334155;&quot;&gt;Nginx는 요청을 받거나 중계하고 정적 파일을 제공하는 앞단 역할에 가깝습니다. 반면 Spring Boot, Tomcat, Node.js 같은 애플리케이션 서버는 실제 비즈니스 로직을 처리합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;border: 1px solid #dbeafe; background: #f8fbff; border-radius: 16px; padding: 16px; box-shadow: 0 8px 20px rgba(37,99,235,0.04);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #1d4ed8; margin-bottom: 8px;&quot;&gt;2. HTTPS 설정에서 Nginx가 자주 등장한다&lt;/div&gt;
&lt;div style=&quot;line-height: 1.85; color: #334155;&quot;&gt;Nginx는 443 포트에서 HTTPS 요청을 받아 SSL/TLS 처리를 수행한 뒤 내부 서버로 요청을 넘기는 구성이 흔합니다. 그래서 보안 연결의 시작점 역할도 자주 맡습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;border: 1px solid #dbeafe; background: #f8fbff; border-radius: 16px; padding: 16px; box-shadow: 0 8px 20px rgba(37,99,235,0.04);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #1d4ed8; margin-bottom: 8px;&quot;&gt;3. Nginx를 알면 웹 인프라 흐름이 같이 보인다&lt;/div&gt;
&lt;div style=&quot;line-height: 1.85; color: #334155;&quot;&gt;도메인, 포트, HTTP/HTTPS, 리버스 프록시, 로드밸런싱, 정적 리소스 처리 같은 개념이 Nginx를 중심으로 한 번에 연결됩니다.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(239,68,68,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #7f1d1d; margin-bottom: 10px;&quot;&gt;초보자가 꼭 체크할 포인트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Nginx는 단순 웹페이지 제공 도구를 넘어서 앞단 트래픽을 제어하는 서버다.&lt;/li&gt;
&lt;li&gt;정적 파일 처리, 리버스 프록시, 로드밸런싱이라는 세 역할을 함께 봐야 한다.&lt;/li&gt;
&lt;li&gt;애플리케이션 서버와 역할이 다르기 때문에 같이 배치되는 경우가 많다.&lt;/li&gt;
&lt;li&gt;HTTPS, 도메인 분기, 내부 서버 숨기기 같은 운영 포인트와도 깊게 연결된다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;조금 더 깊게 보면, Nginx의 본질은 &amp;lsquo;앞단 제어&amp;rsquo;에 있다&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;핵심은 단순 응답이 아니라 요청 흐름을 설계하는 데 있습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Nginx를 단순 웹서버로만 보면 활용 범위를 좁게 이해하게 됩니다. 실제로 Nginx가 강력한 이유는 &lt;b&gt;요청이 시스템 내부로 들어가기 전, 가장 앞단에서 여러 결정을 내릴 수 있다는 점&lt;/b&gt;에 있습니다.&lt;br /&gt;예를 들면,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어떤 도메인을 어느 서버로 보낼지&lt;/li&gt;
&lt;li&gt;어떤 경로를 어느 애플리케이션에 연결할지&lt;/li&gt;
&lt;li&gt;HTTPS를 어디서 처리할지&lt;/li&gt;
&lt;li&gt;정적 리소스를 누가 응답할지&lt;/li&gt;
&lt;li&gt;여러 서버로 어떻게 트래픽을 나눌지&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;같은 결정을 Nginx가 맡을 수 있습니다.&lt;br /&gt;그래서 Nginx는 단순 응답 서버가 아니라, &lt;b&gt;서비스의 요청 흐름을 설계하고 정리하는 도구&lt;/b&gt;에 더 가깝습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;현실적으로는 어떻게 이해하면 좋을까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;실무에서는 &amp;lsquo;앞단 제어 서버&amp;rsquo;로 받아들이면 가장 실용적입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실무 이야기를 너무 무겁지 않게 정리하면, 대부분의 웹서비스에서는 Nginx를 &lt;b&gt;앞단 제어 서버&lt;/b&gt;처럼 생각하면 이해가 쉽습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정적 파일은 Nginx가 담당하고&lt;/li&gt;
&lt;li&gt;동적 요청은 Spring Boot나 Node.js 서버로 넘기고&lt;/li&gt;
&lt;li&gt;HTTPS와 프록시 설정은 Nginx가 처리하고&lt;/li&gt;
&lt;li&gt;서버가 여러 대면 분산까지 맡길 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 Nginx는 웹서비스 구조를 더 정리되고 운영하기 쉽게 만들어주는 도구입니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;자주 나오는 질문&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; Nginx는 웹서버인가요, 프록시인가요?&lt;br /&gt;&amp;rarr; 둘 다 가능합니다. 웹서버로도 쓰이고, 리버스 프록시로도 아주 많이 쓰입니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; Nginx도 로드밸런서 역할을 할 수 있나요?&lt;br /&gt;&amp;rarr; 네. 여러 서버로 요청을 분산하는 용도로 충분히 활용할 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; Spring Boot 앞에 꼭 Nginx가 있어야 하나요?&lt;br /&gt;&amp;rarr; 항상 필수는 아니지만, 운영 환경에서는 HTTPS, 정적 파일 처리, 프록시, 분산 구성 때문에 자주 배치됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;결론 | Nginx는 웹서버이면서, 리버스 프록시이면서, 로드밸런서다&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;초보자는 기능 이름보다 &amp;lsquo;앞단에서 무엇을 제어하느냐&amp;rsquo;로 이해하면 좋습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Nginx를 처음 배울 때는 하나의 역할만 기억하려고 하면 오히려 더 헷갈립니다. 핵심은 이겁니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Nginx는 정적 파일을 제공할 수 있고&lt;/li&gt;
&lt;li&gt;내부 애플리케이션 서버 앞단에서 리버스 프록시 역할을 할 수 있고&lt;/li&gt;
&lt;li&gt;여러 서버로 요청을 나누는 로드밸런싱도 할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 Nginx는 현대 웹서비스에서 &lt;b&gt;외부 요청을 받아 내부 구조로 정리해주는 핵심 앞단 서버&lt;/b&gt;라고 이해하면 가장 정확합니다.&lt;br /&gt;마지막으로 한 줄로 정리하면 이렇습니다.&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style1&quot;&gt;Nginx는 웹 요청을 받아 정적 파일 제공, 리버스 프록시, 로드밸런싱까지 수행할 수 있는 대표적인 앞단 서버 소프트웨어입니다.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>IT/DevOps&amp;middot;Infra</category>
      <category>DevOps</category>
      <category>nginx</category>
      <category>로드밸런싱</category>
      <category>리버스프록시</category>
      <category>엔진엑스</category>
      <category>웹서버</category>
      <category>인프라</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/86</guid>
      <comments>https://trace90.tistory.com/entry/what-is-nginx-reverse-proxy-load-balancing-guide#entry86comment</comments>
      <pubDate>Sat, 28 Mar 2026 09:00:32 +0900</pubDate>
    </item>
    <item>
      <title>[광고] 2026 절세 투자 전략 | ISA&amp;middot;연금저축&amp;middot;IRP에서 어떤 상품을 어떻게 담아야 할까?</title>
      <link>https://trace90.tistory.com/entry/isa-vs-pension-savings-vs-irp-2026-tax-guide</link>
      <description>&lt;h4 data-ke-size=&quot;size20&quot;&gt;&amp;nbsp;&lt;/h4&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffffff; text-align: left;&quot;&gt;&quot;이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.&quot;&lt;/span&gt; &lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id=&quot;code_1779325524317&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;a href=&amp;quot;https://link.coupang.com/a/ejmLZX&amp;quot; target=&amp;quot;_blank&amp;quot; referrerpolicy=&amp;quot;unsafe-url&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;https://img4c.coupangcdn.com/image/affiliate/banner/ab1a8decf0ac012aa497322025bba582@2x.jpg&amp;quot; alt=&amp;quot;마법의 연금 굴리기 / 사은품증정 / 책 도서 (사은품 증정)&amp;quot; width=&amp;quot;120&amp;quot; height=&amp;quot;240&amp;quot;&amp;gt;&amp;lt;/a&amp;gt;&quot;&gt;&lt;a href=&quot;https://link.coupang.com/a/ejmLZX&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;img src=&quot;https://img4c.coupangcdn.com/image/affiliate/banner/ab1a8decf0ac012aa497322025bba582@2x.jpg&quot; alt=&quot;마법의 연금 굴리기 / 사은품증정 / 책 도서 (사은품 증정)&quot; width=&quot;120&quot; height=&quot;240&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ISA, 연금저축, IRP까지 계좌는 만들어놨는데 막상 가장 헷갈리는 건 따로 있습니다. 바로 &lt;b&gt;그래서 이 안에 무슨 상품을 담아야 하느냐&lt;/b&gt;는 질문입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;많은 사람이 절세계좌를 비교할 때는 열심히 보지만, 정작 실제 투자 단계에서는 예금만 넣어둘지, ETF를 담을지, 배당형으로 갈지, 채권형을 섞을지에서 멈춥니다. 2026년에도 중요한 건 제도 이름보다 &lt;b&gt;계좌의 목적에 맞는 상품 배치&lt;/b&gt;입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 글에서는 ISA&amp;middot;연금저축&amp;middot;IRP 각각의 계좌에 어떤 상품이 잘 맞는지, 어떤 조합이 입문자에게 무난한지, 그리고 너무 공격적이거나 너무 답답한 배치를 피하려면 무엇을 봐야 하는지까지 한 번에 정리해보겠습니다.&lt;/p&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
&lt;div class=&quot;revenue_unit_item adsense&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ISA에는 어떤 상품을 담는 게 일반적으로 잘 맞는가?&lt;/li&gt;
&lt;li&gt;연금저축과 IRP는 같은 ETF를 담아도 되는가?&lt;/li&gt;
&lt;li&gt;2026 기준으로 초보자는 어떤 비중 감각으로 접근하면 좋은가?&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #f0f9ff 100%); box-shadow: 0 10px 28px rgba(37,99,235,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;핵심 요약&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;ISA&lt;/b&gt;는 비교적 유연하게 ETF&amp;middot;채권형&amp;middot;예금성 상품을 섞어 운용하기 좋은 절세 투자 계좌입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;연금저축&lt;/b&gt;은 장기 적립용으로 인덱스 ETF&amp;middot;TDF 같은 노후형 상품과 궁합이 좋습니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;IRP&lt;/b&gt;는 세액공제 확장 카드로 보되, 안정 자산 비중과 상품 제약을 함께 봐야 합니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;결론은 같은 상품을 아무 계좌에나 넣는 게 아니라, 계좌 목적에 맞게 상품 역할을 나눠 담는 것&lt;/b&gt;입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;쉬운 정의 | 먼저 계좌 역할부터 잡아야 한다&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;상품을 고르기 전에, 이 계좌가 무엇을 위한 통인지부터 분리해야 합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아주 쉽게 말하면,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;ISA&lt;/b&gt;는 &lt;b&gt;투자용 절세 계좌&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;연금저축&lt;/b&gt;은 &lt;b&gt;노후 준비용 기본 연금 계좌&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;IRP&lt;/b&gt;는 &lt;b&gt;세액공제를 더 넓히는 추가 연금 계좌&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;라고 생각하면 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;같은 ETF라도 ISA에 넣을 때와 연금저축에 넣을 때의 느낌이 다른 이유는, 계좌의 자금 목적이 다르기 때문입니다. ISA는 중장기 자산 형성 관점이 강하고, 연금저축과 IRP는 노후 자금 성격이 훨씬 강합니다.&lt;/p&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;같은 S&amp;amp;P500 ETF라도 ISA에서는 &amp;lsquo;절세 투자 자산&amp;rsquo;으로, 연금저축에서는 &amp;lsquo;노후 적립 자산&amp;rsquo;으로 보는 관점이 달라집니다.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
  &lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
    &lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
    &lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
    &lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
    &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;비교/구조 | 계좌별로 어울리는 상품은 다르다&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;무작정 인기 상품을 따라가기보다, 계좌 목적과 상품 특성을 맞춰봐야 합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.8; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 20%; text-align: left; color: #1d4ed8;&quot;&gt;구분&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 27%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;ISA&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 27%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;연금저축&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 26%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;IRP&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;핵심 역할&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;절세형 투자 운용&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;노후 적립의 기본 축&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;세액공제 확장 + 퇴직연금 성격&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;어울리는 상품&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;국내상장 ETF, 채권 ETF, 예금성 상품, 배당형 상품&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;장기 적립형 인덱스 ETF, TDF, 분산형 자산&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;안정 자산 + 장기 성장 자산 혼합&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;운용 감각&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;상대적으로 유연하게 조절 가능&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;꾸준히 적립하고 길게 가져가기 좋음&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;세제 장점은 크지만 제약 확인 필요&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;초보자 주의점&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;너무 단기 매매처럼 접근하면 방향이 흔들릴 수 있음&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;중간에 돈을 빼기 어렵다는 점을 먼저 이해해야 함&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;세액공제만 보고 무리하면 불편함이 커질 수 있음&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_isa_1&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;예시 | 실제로는 이렇게 담는 그림이 이해하기 쉽다&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;상품 이름보다 &amp;lsquo;계좌 안에서 어떤 역할을 맡길지&amp;rsquo;가 더 중요합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;예시 1. ISA는 &amp;lsquo;유연한 절세 투자 바구니&amp;rsquo;로 쓰는 경우&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ISA는 입문자 기준으로 아래 같은 조합이 자주 거론됩니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;미국지수형 국내상장 ETF&lt;/li&gt;
&lt;li&gt;국내채권 또는 채권혼합형 ETF&lt;/li&gt;
&lt;li&gt;배당형 ETF&lt;/li&gt;
&lt;li&gt;일부 예금성 상품&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 조합의 장점은 &lt;b&gt;성장 자산과 방어 자산을 한 계좌 안에서 섞기 쉽다&lt;/b&gt;는 점입니다. 2026년처럼 금리, 경기, 증시 기대가 함께 움직이는 시기에는 한쪽으로만 몰아넣기보다 목적별로 나누는 방식이 더 현실적입니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;예시 2. 연금저축은 &amp;lsquo;길게 적립하는 기본 축&amp;rsquo;으로 쓰는 경우&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;연금저축은 매달 자동이체로 꾸준히 적립하면서,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;S&amp;amp;P500 추종 ETF&lt;/li&gt;
&lt;li&gt;나스닥100 추종 ETF&lt;/li&gt;
&lt;li&gt;전세계 분산형 ETF&lt;/li&gt;
&lt;li&gt;TDF(타깃데이트펀드)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;같은 장기 적립형 자산을 담는 방식이 잘 맞습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;핵심은 &lt;b&gt;연금저축을 단기 수익용 계좌처럼 다루지 않는 것&lt;/b&gt;입니다. 계좌의 목적이 노후 준비인 만큼, 너무 잦은 갈아타기보다 길게 가져갈 자산 중심이 더 자연스럽습니다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;예시 3. IRP는 &amp;lsquo;세액공제 확장용 + 보수적 혼합&amp;rsquo;으로 보는 경우&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;IRP는 세액공제를 더 넓히기 위해 활용하지만, 실제 운용에서는 안정 자산 비중과 상품 구성 제한도 함께 봐야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 IRP는 보통 아래처럼 접근하면 무난합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;핵심 성장 자산 일부&lt;/li&gt;
&lt;li&gt;채권형&amp;middot;안정형 자산 일부&lt;/li&gt;
&lt;li&gt;너무 복잡하지 않은 단순 포트폴리오&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 IRP는 공격적으로 몰아가는 계좌라기보다, &lt;b&gt;세제 장점은 챙기되 운용은 더 차분하게 가져가는 계좌&lt;/b&gt;로 이해하는 편이 실전 감각에 가깝습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;실무 포인트 | 2026 상품 전략은 &amp;lsquo;계좌별 역할 분담&amp;rsquo;이 핵심&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;무슨 ETF가 최고냐보다, 어디에 무엇을 넣느냐가 더 중요합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;ISA&lt;/b&gt;에는 비교적 유연하게 굴릴 성장형 ETF와 방어형 자산을 함께 두는 방식이 잘 맞습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;연금저축&lt;/b&gt;에는 장기 복리와 적립을 염두에 둔 단순한 인덱스 중심 구성이 무난합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;IRP&lt;/b&gt;는 세액공제 확대 목적은 좋지만, 제약과 안정 자산 비중을 반드시 같이 확인해야 합니다.&lt;/li&gt;
&lt;li&gt;세 계좌에 똑같은 상품만 반복해서 담으면 역할 분담이 흐려질 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(239,68,68,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #7f1d1d; margin-bottom: 10px;&quot;&gt;초보자가 꼭 체크할 포인트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ISA는 절세 투자 계좌라서 성장형 + 방어형 자산을 같이 담는 그림이 자연스럽다.&lt;/li&gt;
&lt;li&gt;연금저축은 노후 자금이므로 단기 수익용보다 장기 적립용 상품이 더 잘 맞는다.&lt;/li&gt;
&lt;li&gt;IRP는 세액공제만 보고 무리하게 넣기보다 제약과 상품 구성까지 같이 봐야 한다.&lt;/li&gt;
&lt;li&gt;2026년 전략의 핵심은 &amp;lsquo;무슨 상품이 최고냐&amp;rsquo;보다 &amp;lsquo;계좌 목적에 맞게 나눠 담느냐&amp;rsquo;다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_isa_2&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #8b5cf6; background: #faf5ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(139,92,246,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;조금 더 깊게 보면 | 세 계좌를 같은 기준으로 비교하면 오히려 헷갈린다&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;세제 방식, 자금 성격, 운용 자유도가 다르기 때문입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ISA는 투자 수익 절세에 강점이 있고, 연금저축과 IRP는 납입 시 세액공제에 강점이 있습니다. 그래서 같은 ETF를 담더라도 &amp;lsquo;무슨 계좌에 두느냐&amp;rsquo;에 따라 체감 목적이 달라집니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 미국지수형 ETF를 보더라도,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;ISA에서는 &lt;b&gt;중장기 자산 형성용 핵심 자산&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;연금저축에서는 &lt;b&gt;노후 적립용 핵심 자산&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;IRP에서는 &lt;b&gt;세액공제와 안정성 균형 안에서 일부 편입하는 자산&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처럼 역할이 달라질 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, 세 계좌를 경쟁 관계로 보기보다 &lt;b&gt;각기 다른 역할을 맡는 절세 도구&lt;/b&gt;로 이해하는 편이 훨씬 실전적입니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;현실적인 기본 배치 예시&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;ISA&lt;/b&gt; &amp;rarr; 성장형 ETF + 방어형 자산 + 일부 예금성 자산&lt;/div&gt;
&lt;div&gt;&lt;b&gt;연금저축&lt;/b&gt; &amp;rarr; 장기 적립형 인덱스 ETF 중심&lt;/div&gt;
&lt;div&gt;&lt;b&gt;IRP&lt;/b&gt; &amp;rarr; 세액공제 확대 목적의 보수적 혼합형 운용&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #c4b5fd; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(139,92,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;FAQ&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; ISA에도 S&amp;amp;P500 ETF를 담고, 연금저축에도 같은 ETF를 담아도 되나요?&lt;br /&gt;&amp;rarr; 가능합니다. 다만 같은 상품을 넣더라도 계좌 목적이 다르므로 비중과 역할을 다르게 보는 편이 좋습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 연금저축과 IRP 중 어디에 더 공격적인 상품을 담아야 하나요?&lt;br /&gt;&amp;rarr; 보통은 연금저축이 더 단순하게 장기 성장형 자산을 가져가기 편하고, IRP는 안정 자산과 제약을 같이 고려하는 보수적 접근이 무난합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Q.&lt;/b&gt; 2026년에 꼭 특정 상품이 정답인가요?&lt;br /&gt;&amp;rarr; 아닙니다. 정답 상품 하나보다 계좌 목적에 맞는 상품군 배치가 더 중요합니다. 미국지수형, 배당형, 채권형, TDF 등을 목적별로 나눠 보는 접근이 현실적입니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div id=&quot;code_coupang_isa_3&quot; data-ke-type=&quot;html&quot; data-source=&quot;&amp;lt;script src=&amp;quot;https://ads-partners.coupang.com/g.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script&amp;gt;
    new PartnersCoupang.G({&amp;quot;id&amp;quot;:975681,&amp;quot;trackingCode&amp;quot;:&amp;quot;AF9918025&amp;quot;,&amp;quot;subId&amp;quot;:null,&amp;quot;template&amp;quot;:&amp;quot;carousel&amp;quot;,&amp;quot;width&amp;quot;:&amp;quot;728&amp;quot;,&amp;quot;height&amp;quot;:&amp;quot;140&amp;quot;});
&amp;lt;/script&amp;gt;&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;결론 | 2026 절세 전략은 &amp;lsquo;계좌별 상품 배치&amp;rsquo;에서 갈린다&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;절세계좌를 잘 쓰는 사람은 상품보다 역할을 먼저 정합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ISA&amp;middot;연금저축&amp;middot;IRP에서 어떤 상품을 담아야 할지 고민된다면, 먼저 이렇게 정리하면 됩니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;ISA&lt;/b&gt;는 유연하게 굴릴 절세 투자 자산&lt;/li&gt;
&lt;li&gt;&lt;b&gt;연금저축&lt;/b&gt;은 길게 적립할 노후 준비 자산&lt;/li&gt;
&lt;li&gt;&lt;b&gt;IRP&lt;/b&gt;는 세액공제를 넓히되 좀 더 보수적으로 관리할 자산&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 2026년에도 핵심은 특정 상품 하나를 찍는 것이 아니라, &lt;b&gt;각 계좌의 목적에 맞게 상품을 배치하는 것&lt;/b&gt;입니다.&lt;/p&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;절세계좌 투자는 &amp;ldquo;무슨 상품이 최고냐&amp;rdquo;보다 &amp;ldquo;어느 계좌에 어떤 역할로 넣느냐&amp;rdquo;를 먼저 정할 때 훨씬 오래 갑니다.&lt;/blockquote&gt;
&lt;div style=&quot;margin: 24px 0 0; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;관련 글 링크&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/isa-vs-pension-savings-vs-irp-2026-tax-guide&quot;&gt;ISA vs 연금저축 vs IRP 차이 | 2026 절세 계좌 우선순위까지 한 번에 정리&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/how-to-use-pension-savings-and-irp-together&quot;&gt;연금저축과 IRP 차이, 그리고 함께 쓰는 방법까지 쉽게 정리&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://trace90.tistory.com/entry/retirement-planning-order-guide&quot;&gt;노후 준비 순서 총정리, 비상금부터 연금까지 어떻게 시작할까?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p style=&quot;color: #6b7280; font-size: 14px; line-height: 1.7; margin-top: 24px;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>경제&amp;middot;재테크/연금&amp;middot;노후</category>
      <category>ETF</category>
      <category>irp</category>
      <category>ISA</category>
      <category>노후준비</category>
      <category>연금저축</category>
      <category>연금투자</category>
      <category>연말정산</category>
      <category>절세계좌</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/85</guid>
      <comments>https://trace90.tistory.com/entry/isa-vs-pension-savings-vs-irp-2026-tax-guide#entry85comment</comments>
      <pubDate>Fri, 27 Mar 2026 12:59:23 +0900</pubDate>
    </item>
    <item>
      <title>모놀리식 vs MSA 차이 | 어떤 구조를 선택해야 할까?</title>
      <link>https://trace90.tistory.com/entry/monolith-vs-msa-architecture-guide</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;서비스 구조를 고민할 때 가장 자주 나오는 질문 중 하나가 바로 &lt;b&gt;모놀리식(Monolithic)&lt;/b&gt;과 &lt;b&gt;MSA(Microservices Architecture)&lt;/b&gt; 중 무엇을 선택해야 하느냐는 점입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음에는 단순히 &amp;ldquo;옛날 방식 vs 최신 방식&amp;rdquo;처럼 보일 수 있지만, 실제로는 그렇게 단순하지 않습니다. 오히려 많은 팀이 &lt;b&gt;서비스 규모, 팀 구조, 배포 방식, 장애 대응 능력&lt;/b&gt;을 충분히 고려하지 않은 채 구조를 선택해서 오히려 더 힘들어지는 경우도 많습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 24px; padding: 20px 22px; border: 1px solid #dbeafe; border-radius: 20px; background: linear-gradient(180deg, #ffffff 0%, #f0f9ff 100%); box-shadow: 0 10px 28px rgba(37,99,235,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 18px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;먼저 핵심부터&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.95; color: #334155;&quot;&gt;
&lt;div&gt;&lt;b&gt;모놀리식&lt;/b&gt;은 하나의 애플리케이션 안에 기능이 함께 묶여 있는 구조입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;MSA&lt;/b&gt;는 기능을 여러 개의 독립 서비스로 나누어 운영하는 구조입니다.&lt;/div&gt;
&lt;div&gt;&lt;b&gt;정답은 구조 자체가 아니라 현재 팀과 서비스 단계에 맞는 선택&lt;/b&gt;입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 글에서는 모놀리식과 MSA가 각각 무엇인지, 어떤 차이가 있는지, 왜 많은 회사가 MSA를 말하는지, 그리고 실제로는 어떤 상황에서 어떤 구조를 선택하는 것이 더 현실적인지까지 흐름대로 정리해보겠습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;모놀리식 아키텍처란 무엇일까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;가장 전통적이면서도 여전히 많이 사용되는 구조입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모놀리식 아키텍처는 말 그대로 &lt;b&gt;하나의 큰 덩어리&lt;/b&gt;처럼 애플리케이션이 구성된 구조입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 쇼핑몰 서비스를 만든다고 해보겠습니다. 회원, 상품, 주문, 결제, 관리자 기능이 있다고 할 때, 모놀리식 구조에서는 이 기능들이 보통 &lt;b&gt;하나의 프로젝트, 하나의 코드베이스, 하나의 배포 단위&lt;/b&gt; 안에 들어갑니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;쉽게 말하면,&lt;/p&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;기능은 여러 개지만, 운영 관점에서는 하나의 애플리케이션처럼 움직이는 구조&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;라고 이해하면 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;간단한 Spring Boot 서비스 하나에 Controller, Service, Repository, DB 연동이 모두 들어있는 형태를 떠올리면 이해가 쉽습니다.&lt;/p&gt;
&lt;div class=&quot;revenue_unit_wrap&quot;&gt;
&lt;div class=&quot;revenue_unit_item adsense&quot;&gt;
&lt;div class=&quot;revenue_unit_info&quot;&gt;728x90&lt;/div&gt;
&lt;script src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;
&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display: inline-block; width: 728px; height: 90px;&quot; data-ad-host=&quot;ca-host-pub-9691043933427338&quot; data-ad-client=&quot;ca-pub-5715472916498822&quot;&gt;&lt;/ins&gt;
&lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({});&lt;/script&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;pre class=&quot;cs&quot;&gt;&lt;code&gt;[하나의 애플리케이션]
 ├─ 회원 기능
 ├─ 상품 기능
 ├─ 주문 기능
 ├─ 결제 기능
 └─ 관리자 기능
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 방식은 개발을 시작할 때 매우 자연스럽습니다. 구조가 단순하고, 로컬에서 띄우기도 쉽고, 기능 간 호출도 네트워크 통신이 아니라 내부 메서드 호출로 처리되는 경우가 많아 구현 속도도 빠릅니다.&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #60a5fa; background: #f0f9ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(96,165,250,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;MSA란 무엇일까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;큰 애플리케이션을 잘게 나눠 독립 서비스로 운영하는 방식입니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;MSA는 &lt;b&gt;Microservices Architecture&lt;/b&gt;의 약자입니다. 하나의 큰 시스템을 여러 개의 작은 서비스로 나누고, 각각을 독립적으로 개발&amp;middot;배포&amp;middot;운영하는 구조를 뜻합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 같은 쇼핑몰 서비스라도 MSA에서는 다음처럼 나눌 수 있습니다.&lt;/p&gt;
&lt;pre class=&quot;inform7&quot;&gt;&lt;code&gt;[회원 서비스]   [상품 서비스]   [주문 서비스]   [결제 서비스]
      │               │               │               │
      └──── API / 메시지 / 이벤트 기반으로 서로 통신 ────┘
&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, 기능이 하나의 프로젝트 안에 함께 있는 것이 아니라 &lt;b&gt;서비스별로 분리&lt;/b&gt;되어 각자 실행될 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 구조의 핵심은 단순 분리가 아닙니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스별 독립 배포 가능&lt;/li&gt;
&lt;li&gt;서비스별 기술 선택 가능&lt;/li&gt;
&lt;li&gt;서비스별 장애 영향 분리 가능&lt;/li&gt;
&lt;li&gt;서비스별 확장(스케일링) 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이처럼 &lt;b&gt;독립성&lt;/b&gt;이 MSA의 가장 큰 특징입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다만 여기서 중요한 점이 있습니다. 서비스만 쪼갠다고 자동으로 MSA가 잘 되는 것은 아닙니다. 오히려 서비스 사이의 통신, 데이터 일관성, 배포 자동화, 로그 추적, 장애 대응 같은 운영 난도가 크게 올라갑니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #38bdf8; background: #f0fdfd; border-radius: 14px; box-shadow: 0 6px 18px rgba(56,189,248,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;모놀리식과 MSA의 차이를 한 번에 보면&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;구조 차이보다 운영 방식 차이를 보는 것이 더 중요합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.8; overflow: hidden; border: 1px solid #dbeafe; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 34%; text-align: left; color: #1d4ed8;&quot;&gt;비교 항목&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 33%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;모놀리식&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #eff6ff; border-bottom: 1px solid #dbeafe; width: 33%; text-align: left; border-left: 1px solid #dbeafe; color: #1d4ed8;&quot;&gt;MSA&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;코드 구조&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;하나의 애플리케이션에 기능 통합&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;여러 서비스로 기능 분리&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;배포 단위&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;전체를 함께 배포&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;서비스별 개별 배포 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;개발 난이도&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;초기 진입이 비교적 쉬움&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;초기 설계와 운영 준비가 어려움&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;서비스 간 통신&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;프로세스 내부 호출 중심&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;HTTP, gRPC, 메시지 브로커 등 네트워크 통신 필요&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;장애 영향&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;한 영역 이슈가 전체 앱에 영향 줄 수 있음&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;분리 설계가 잘되면 영향 범위를 줄일 수 있음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;확장 방식&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;전체 앱 단위로 확장하는 경우가 많음&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;트래픽 많은 서비스만 선택적으로 확장 가능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; color: #334155;&quot;&gt;운영 복잡도&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;상대적으로 단순&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #dbeafe; border-left: 1px solid #dbeafe; color: #334155;&quot;&gt;로그, 모니터링, 배포, 장애 추적이 복잡&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 꼭 봐야 할 포인트는 &lt;b&gt;MSA가 모놀리식보다 무조건 상위 구조가 아니라는 점&lt;/b&gt;입니다. MSA는 분명 강력한 장점이 있지만, 그 장점은 보통 &lt;b&gt;운영 체계와 팀 역량이 함께 갖춰졌을 때&lt;/b&gt; 비로소 제대로 살아납니다.&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #818cf8; background: #f8faff; border-radius: 14px; box-shadow: 0 6px 18px rgba(99,102,241,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;왜 많은 팀이 MSA를 선택하려고 할까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;단순 유행이 아니라, 규모가 커질수록 실제로 필요해지는 이유가 있습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;MSA가 자주 언급되는 데에는 분명한 배경이 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;첫째, 서비스가 커지면 하나의 거대한 코드베이스를 유지하는 부담이 커집니다. 특정 기능을 수정했는데 전혀 다른 영역까지 함께 테스트하고 배포해야 한다면 속도가 떨어질 수밖에 없습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;둘째, 팀 규모가 커질수록 영역 분리가 중요해집니다. 주문 팀, 결제 팀, 회원 팀이 동시에 작업하는데 모두가 같은 애플리케이션 배포에 묶여 있으면 충돌이 잦아질 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;셋째, 특정 기능만 트래픽이 높아지는 경우가 생깁니다. 예를 들어 상품 조회는 매우 많지만 관리자 기능은 거의 사용되지 않을 수 있습니다. 이런 상황에서는 서비스별로 분리해 필요한 부분만 확장하는 것이 효율적일 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정리하면 MSA는 다음 상황에서 매력이 커집니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스 기능이 많고 빠르게 커지는 경우&lt;/li&gt;
&lt;li&gt;조직이 커져 팀 단위 분리가 필요한 경우&lt;/li&gt;
&lt;li&gt;배포를 더 자주, 더 독립적으로 하고 싶은 경우&lt;/li&gt;
&lt;li&gt;특정 도메인만 집중 확장해야 하는 경우&lt;/li&gt;
&lt;li&gt;장애 영향 범위를 더 세밀하게 나누고 싶은 경우&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;한 줄 포인트&lt;/div&gt;
&lt;div style=&quot;font-size: 15px; line-height: 1.9; color: #334155;&quot;&gt;MSA는 &lt;b&gt;서비스가 커질수록 생기는 조직적&amp;middot;운영적 문제를 풀기 위한 선택&lt;/b&gt;이지, 처음부터 무조건 적용해야 하는 기본 정답은 아닙니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #f59e0b; background: #fffaf0; border-radius: 14px; box-shadow: 0 6px 18px rgba(245,158,11,0.08);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;모놀리식이 더 좋은 경우는 언제일까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;생각보다 많은 서비스가 여기에서 출발하는 것이 맞습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모놀리식은 종종 구식처럼 오해받지만, 실제로는 매우 현실적이고 강력한 선택입니다. 특히 아래 상황에서는 모놀리식이 더 적합한 경우가 많습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스 초기 단계라 빠른 출시가 중요한 경우&lt;/li&gt;
&lt;li&gt;팀 규모가 작고, 한두 팀이 전체 기능을 함께 개발하는 경우&lt;/li&gt;
&lt;li&gt;도메인이 아직 안정되지 않아 구조가 자주 바뀌는 경우&lt;/li&gt;
&lt;li&gt;CI/CD, 모니터링, 분산 추적 체계가 충분하지 않은 경우&lt;/li&gt;
&lt;li&gt;서비스 간 경계를 명확히 나누기 어려운 경우&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;초기 스타트업이나 작은 팀에서는 속도가 중요합니다. 이때 지나치게 이른 MSA 전환은 오히려 개발 속도를 늦출 수 있습니다. 서비스 간 API 설계, 인증, 장애 처리, 통신 실패 대응, 데이터 분리까지 모두 고민해야 하기 때문입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉,&lt;/p&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #f59e0b; background: #fff7ed; color: #9a3412; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;&amp;ldquo;작고 빠르게 검증해야 하는 단계&amp;rdquo;라면 모놀리식이 단순하고 효율적인 경우가 많습니다.&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;입니다.&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #10b981; background: #f0fdf4; border-radius: 14px; box-shadow: 0 6px 18px rgba(16,185,129,0.07);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;반대로 MSA가 더 적합한 경우는?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;복잡해지는 서비스를 더 잘 나누고 통제해야 할 시점이 있습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;MSA는 다음과 같은 상황에서 장점이 더 분명하게 드러납니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스가 이미 커져서 하나의 코드베이스 관리가 버거운 경우&lt;/li&gt;
&lt;li&gt;팀이 여러 개로 나뉘어 독립 개발&amp;middot;독립 배포가 필요한 경우&lt;/li&gt;
&lt;li&gt;특정 서비스만 빠르게 확장해야 하는 경우&lt;/li&gt;
&lt;li&gt;장애 영향을 서비스 단위로 나누는 것이 중요한 경우&lt;/li&gt;
&lt;li&gt;배포 주기가 매우 짧고 기능별 변경 속도가 다른 경우&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 결제 서비스는 안정성이 중요하고 변경 속도가 느리지만, 추천 서비스는 실험이 많아 배포가 잦을 수 있습니다. 이런 경우 모든 기능을 한 번에 묶어 배포하는 것보다 분리 운영이 더 유리할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다만 여기서도 전제 조건이 있습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스 경계가 어느 정도 명확해야 하고&lt;/li&gt;
&lt;li&gt;배포 자동화 체계가 어느 정도 있어야 하며&lt;/li&gt;
&lt;li&gt;로그 수집, 모니터링, 장애 대응 체계가 뒷받침되어야 합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 MSA는 구조만 바꾸는 일이 아니라 &lt;b&gt;개발 문화와 운영 체계를 함께 바꾸는 일&lt;/b&gt;에 가깝습니다.&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #ef4444; background: #fff5f5; border-radius: 14px; box-shadow: 0 6px 18px rgba(239,68,68,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;많은 팀이 MSA에서 힘들어지는 이유&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;서비스를 나누는 것보다, 나눈 뒤 운영하는 것이 훨씬 어렵습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;많은 분들이 MSA를 떠올릴 때 &amp;ldquo;서비스를 나누면 더 깔끔하겠지&amp;rdquo;라고 생각합니다. 그런데 실제 난관은 분리 이후에 시작됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대표적으로 아래 문제가 자주 나옵니다.&lt;/p&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b&gt;서비스 간 통신 실패&lt;/b&gt;&lt;br /&gt;내부 메서드 호출이 아니라 네트워크 호출이 되므로 지연, 타임아웃, 재시도, 장애 전파를 고려해야 합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;데이터 일관성 관리&lt;/b&gt;&lt;br /&gt;하나의 트랜잭션으로 깔끔하게 처리하던 일이 서비스 분리 후에는 더 복잡해질 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;운영 포인트 증가&lt;/b&gt;&lt;br /&gt;애플리케이션 하나를 보던 것에서 여러 서비스의 로그, 메트릭, 배포 상태를 동시에 봐야 합니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;로컬 개발 환경 복잡화&lt;/b&gt;&lt;br /&gt;회원 서비스, 주문 서비스, 결제 서비스, 메시지 브로커, API Gateway 등을 함께 띄워야 할 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;조직 역량 부족&lt;/b&gt;&lt;br /&gt;구조는 MSA인데 실제 운영 문화와 협업 체계가 모놀리식 시절 그대로라면 오히려 혼란이 커질 수 있습니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #fecaca; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(239,68,68,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #7f1d1d; margin-bottom: 10px;&quot;&gt;꼭 봐야 할 체크포인트&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서비스를 나눌 만큼 도메인 경계가 명확한가?&lt;/li&gt;
&lt;li&gt;배포 자동화와 모니터링 체계가 준비되어 있는가?&lt;/li&gt;
&lt;li&gt;분산 환경 장애를 감당할 운영 여력이 있는가?&lt;/li&gt;
&lt;li&gt;지금 문제의 본질이 정말 &amp;ldquo;구조&amp;rdquo; 문제인가?&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 질문에 명확히 답하기 어렵다면, 당장 MSA가 꼭 필요한 단계는 아닐 수도 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;
&lt;script src=&quot;https://ads-partners.coupang.com/g.js&quot;&gt;&lt;/script&gt;
&lt;script&gt;
    new PartnersCoupang.G({&quot;id&quot;:975681,&quot;trackingCode&quot;:&quot;AF9918025&quot;,&quot;subId&quot;:null,&quot;template&quot;:&quot;carousel&quot;,&quot;width&quot;:&quot;728&quot;,&quot;height&quot;:&quot;140&quot;});
&lt;/script&gt;
&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #8b5cf6; background: #faf5ff; border-radius: 14px; box-shadow: 0 6px 18px rgba(139,92,246,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;구조를 선택할 때 꼭 봐야 할 판단 기준&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;&amp;lsquo;유행&amp;rsquo;보다 현재 단계와 문제를 먼저 봐야 합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;구조 선택은 &amp;ldquo;어느 기술이 더 멋진가&amp;rdquo;의 문제가 아니라 &amp;ldquo;지금 우리에게 필요한가&amp;rdquo;의 문제입니다. 아래 항목으로 판단하면 조금 더 현실적으로 볼 수 있습니다.&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto; margin: 18px 0 24px;&quot;&gt;
&lt;table style=&quot;width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; line-height: 1.8; overflow: hidden; border: 1px solid #e9d5ff; border-radius: 16px; background: #ffffff;&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;padding: 14px; background: #faf5ff; border-bottom: 1px solid #e9d5ff; width: 28%; text-align: left; color: #7c3aed;&quot;&gt;판단 기준&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #faf5ff; border-bottom: 1px solid #e9d5ff; width: 36%; text-align: left; border-left: 1px solid #e9d5ff; color: #7c3aed;&quot;&gt;모놀리식 쪽에 더 가까운 신호&lt;/th&gt;
&lt;th style=&quot;padding: 14px; background: #faf5ff; border-bottom: 1px solid #e9d5ff; width: 36%; text-align: left; border-left: 1px solid #e9d5ff; color: #7c3aed;&quot;&gt;MSA 쪽에 더 가까운 신호&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; color: #334155;&quot;&gt;서비스 단계&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #e9d5ff; color: #334155;&quot;&gt;초기 MVP, 빠른 검증 필요&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-left: 1px solid #e9d5ff; color: #334155;&quot;&gt;기능이 많고 변화 속도가 영역별로 다름&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #e9d5ff; color: #334155;&quot;&gt;팀 구조&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #e9d5ff; border-left: 1px solid #e9d5ff; color: #334155;&quot;&gt;작은 팀, 협업 경계가 단순함&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #e9d5ff; border-left: 1px solid #e9d5ff; color: #334155;&quot;&gt;여러 팀이 도메인별로 움직임&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #e9d5ff; color: #334155;&quot;&gt;배포 방식&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #e9d5ff; border-left: 1px solid #e9d5ff; color: #334155;&quot;&gt;전체 배포가 큰 문제가 아님&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #e9d5ff; border-left: 1px solid #e9d5ff; color: #334155;&quot;&gt;서비스별 독립 배포 필요&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #e9d5ff; color: #334155;&quot;&gt;운영 역량&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #e9d5ff; border-left: 1px solid #e9d5ff; color: #334155;&quot;&gt;단순 운영을 선호, 운영 자원이 제한적&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #e9d5ff; border-left: 1px solid #e9d5ff; color: #334155;&quot;&gt;관측성, 배포 자동화, 장애 대응 체계 보유&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #e9d5ff; color: #334155;&quot;&gt;핵심 문제&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #e9d5ff; border-left: 1px solid #e9d5ff; color: #334155;&quot;&gt;아직 구조보다 기능 구현이 더 중요&lt;/td&gt;
&lt;td style=&quot;padding: 14px; vertical-align: top; border-top: 1px solid #e9d5ff; border-left: 1px solid #e9d5ff; color: #334155;&quot;&gt;구조 때문에 배포/확장/협업 병목이 발생&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 표를 보면 알 수 있듯이, 구조 선택은 기술 용어 하나로 끝나는 문제가 아닙니다. &lt;b&gt;서비스 단계, 팀 규모, 운영 수준이 함께 맞물려야&lt;/b&gt; 더 적절한 선택이 나옵니다.&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #06b6d4; background: #ecfeff; border-radius: 14px; box-shadow: 0 6px 18px rgba(6,182,212,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;심화로 보면, 진짜 핵심은 &amp;lsquo;분리&amp;rsquo;보다 &amp;lsquo;경계&amp;rsquo;다&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;MSA를 잘하려면 단순 기술 분리가 아니라 도메인 경계가 먼저 잡혀야 합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;조금 더 깊게 보면, 모놀리식 vs MSA의 핵심은 단순히 애플리케이션 개수를 나누는 문제가 아닙니다. 더 중요한 것은 &lt;b&gt;도메인 경계(boundary)&lt;/b&gt;를 어떻게 정의하느냐입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어 주문과 결제를 나눈다고 했을 때,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;어디까지가 주문 책임인지&lt;/li&gt;
&lt;li&gt;결제 실패 시 주문 상태를 어떻게 처리할지&lt;/li&gt;
&lt;li&gt;데이터 소유권은 어느 서비스가 가지는지&lt;/li&gt;
&lt;li&gt;동기 호출과 비동기 이벤트 중 무엇을 쓸지&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;같은 질문에 답할 수 있어야 실제로 서비스 분리가 의미를 가집니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반대로 이런 경계가 불명확한 상태에서 무리하게 MSA를 도입하면, 내부 메서드 호출이 API 호출로 바뀌기만 하고 구조적 이점은 얻지 못할 수 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 관점에서 보면,&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;잘 설계된 모놀리식&lt;/b&gt;은 충분히 강력할 수 있고&lt;/li&gt;
&lt;li&gt;&lt;b&gt;경계가 불명확한 MSA&lt;/b&gt;는 생각보다 운영 비용만 높을 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 실제로는 처음부터 완전한 MSA로 가기보다, &lt;b&gt;모듈화가 잘된 모놀리식&lt;/b&gt;으로 시작한 뒤, 경계가 명확해지는 영역부터 점진적으로 분리하는 접근이 자주 추천됩니다.&lt;/p&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #14b8a6; background: #f0fdfa; border-radius: 14px; box-shadow: 0 6px 18px rgba(20,184,166,0.06);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;실무적으로는 어떻게 접근하면 좋을까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;과장된 경험담보다, 무리하지 않는 선택 기준이 더 중요합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실무 관점에서 아주 과하게 말하지 않고 정리하면, 보통은 아래처럼 접근하는 것이 무난합니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;처음부터 거대한 MSA를 목표로 하기보다 &lt;b&gt;모듈 구조가 명확한 모놀리식&lt;/b&gt;으로 시작한다.&lt;/li&gt;
&lt;li&gt;기능이 커지면서 특정 도메인이 독립적으로 움직여야 할 필요가 생기면 그때 분리를 검토한다.&lt;/li&gt;
&lt;li&gt;분리 전에는 반드시 &lt;b&gt;배포 자동화, 로그 수집, 모니터링, 장애 대응 방식&lt;/b&gt;을 먼저 점검한다.&lt;/li&gt;
&lt;li&gt;구조를 바꾸는 이유가 유행 때문인지, 실제 병목 때문인지 구분한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 지금의 선택이 &amp;ldquo;최종 구조&amp;rdquo;일 필요는 없습니다. 서비스는 성장하면서 구조도 바뀔 수 있습니다. 중요한 것은 &lt;b&gt;현재 단계에 맞는 구조로 빠르게 움직이되, 나중에 분리할 수 있게 경계를 의식하며 설계하는 것&lt;/b&gt;입니다.&lt;/p&gt;
&lt;div style=&quot;margin: 18px 0 26px; padding: 18px 20px; border: 1px solid #99f6e4; border-radius: 18px; background: #ffffff; box-shadow: 0 8px 24px rgba(20,184,166,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;자주 하는 오해 3가지&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;오해 1.&lt;/b&gt; MSA가 무조건 더 현대적이고 더 좋다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;오해 2.&lt;/b&gt; 서비스만 나누면 자동으로 확장성과 안정성이 높아진다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;오해 3.&lt;/b&gt; 모놀리식은 규모가 조금만 커져도 바로 한계에 부딪힌다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin-top: 12px; font-size: 15px; line-height: 1.9; color: #334155;&quot;&gt;실제로는 구조보다 &lt;b&gt;설계 품질, 운영 체계, 팀의 협업 방식&lt;/b&gt;이 더 큰 영향을 주는 경우도 많습니다.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;margin: 30px 0 14px; padding: 16px 20px; border-left: 5px solid #3b82f6; background: #f8fbff; border-radius: 14px; box-shadow: 0 6px 18px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 22px; font-weight: 800; color: #0f172a;&quot;&gt;결론 | 어떤 구조를 선택해야 할까?&lt;/div&gt;
&lt;div style=&quot;margin-top: 6px; font-size: 14px; color: #64748b;&quot;&gt;한 줄 정답보다, 현재 상황을 기준으로 보는 것이 정확합니다.&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모놀리식과 MSA 중 어느 것이 절대적으로 더 좋다고 말하기는 어렵습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;빠른 개발, 단순한 운영, 작은 팀&lt;/b&gt;이라면 모놀리식이 더 현실적일 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;복잡한 도메인, 여러 팀, 독립 배포와 선택적 확장&lt;/b&gt;이 중요하다면 MSA가 더 적합할 수 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;결국 중요한 것은 &lt;b&gt;현재 우리 서비스가 어떤 문제를 겪고 있는지&lt;/b&gt;입니다. 구조는 그 문제를 풀기 위한 수단이어야 하지, 목표가 되어서는 안 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마지막으로 한 줄로 정리하면 이렇습니다.&lt;/p&gt;
&lt;blockquote style=&quot;margin: 18px 0; padding: 16px 18px; border-left: 5px solid #2563eb; background: #eff6ff; color: #1e3a8a; border-radius: 12px; font-size: 15px; line-height: 1.9;&quot; data-ke-style=&quot;style1&quot;&gt;초기에는 잘 설계된 모놀리식이 좋은 선택일 수 있고, 성장 이후에는 필요한 영역부터 점진적으로 분리하는 전략이 가장 현실적인 경우가 많습니다.&lt;/blockquote&gt;
&lt;div style=&quot;margin: 24px 0 0; padding: 18px 20px; border: 1px solid #dbeafe; border-radius: 18px; background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%); box-shadow: 0 8px 24px rgba(59,130,246,0.05);&quot;&gt;
&lt;div style=&quot;font-size: 16px; font-weight: 800; color: #0f172a; margin-bottom: 10px;&quot;&gt;함께 보면 좋은 주제&lt;/div&gt;
&lt;ul style=&quot;margin: 0; padding-left: 20px; color: #334155; line-height: 1.9; font-size: 15px;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;REST API란 무엇인가? RESTful 설계 핵심 정리&lt;/li&gt;
&lt;li&gt;트랜잭션이란 무엇인가? ACID까지 쉽게 이해하기&lt;/li&gt;
&lt;li&gt;ORM이란 무엇인가? JPA 포함 개념 정리와 SQL과의 차이&lt;/li&gt;
&lt;li&gt;인덱스는 왜 성능을 빠르게 만들까?&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description>
      <category>IT/Architecture</category>
      <category>architecture</category>
      <category>MSA</category>
      <category>마이크로서비스</category>
      <category>모놀리식</category>
      <category>모놀리식vsMSA</category>
      <category>소프트웨어아키텍처</category>
      <category>시스템설계</category>
      <category>아키텍처</category>
      <author>PARK_90</author>
      <guid isPermaLink="true">https://trace90.tistory.com/79</guid>
      <comments>https://trace90.tistory.com/entry/monolith-vs-msa-architecture-guide#entry79comment</comments>
      <pubDate>Fri, 27 Mar 2026 12:39:59 +0900</pubDate>
    </item>
  </channel>
</rss>