<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>나르는나른나른</title>
    <link>https://byeongg96.tistory.com/</link>
    <description>나르는나른나른해</description>
    <language>ko</language>
    <pubDate>Tue, 19 May 2026 12:51:18 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>나르는나른</managingEditor>
    <item>
      <title>[바이브코딩] 유튜브 댓글 클리너 &amp;mdash; 댓글 전체 일괄 삭제 도구</title>
      <link>https://byeongg96.tistory.com/146</link>
      <description>&lt;p style=&quot;font-family:'Pretendard','Apple SD Gothic Neo',sans-serif;line-height:1.7;color:#222;&quot;&gt;
  바이브코딩으로 만든 작은 도구. 유튜브에 쌓인 내 댓글을 한 번에 모두 삭제합니다.
  서버 설치 / 회원가입 / 확장프로그램 없이 &lt;b&gt;브라우저 북마크 클릭 한 번&lt;/b&gt;으로 자동 처리.
&lt;/p&gt;
&lt;p style=&quot;background:#e8f5e9;border-left:4px solid #2e7d32;padding:10px 14px;margin:12px 0;line-height:1.6;color:#1b5e20;font-size:14px;&quot;&gt;&lt;b&gt;✓ 2026년 5월 4일 기준 정상 작동 확인.&lt;/b&gt; YouTube/Google 측 변경으로 동작이 멈출 수 있습니다. 문제 발생 시 댓글로 알려주세요.&lt;/p&gt;

&lt;div style=&quot;background:#fff4e5;border-left:4px solid #f90;padding:12px 16px;margin:16px 0;line-height:1.6;color:#5a3500;&quot;&gt;
  &lt;b&gt;주의:&lt;/b&gt; 삭제된 댓글은 복구 불가. 본인 의사 확인 후 실행하세요.&lt;br&gt;
  연속 5회 실패 시 자동 중단됩니다 (rate limit 방지).
&lt;/div&gt;

&lt;h2 style=&quot;margin-top:32px;&quot;&gt;설치 — 북마크 1개 추가&lt;/h2&gt;
&lt;div style=&quot;background:#f6f6f6;border:1px solid #ccc;padding:24px;text-align:center;margin:20px 0;border-radius:6px;&quot;&gt;
  &lt;a href=&quot;javascript:(async()=%3E%7Bconst%20w=window.WIZ_global_data;if(!w%7C%7C!w.SNlM0e)%7Bconsole.error(&amp;#x27;%5BYTC-DEL%5D%20WIZ_global_data%20%EC%97%86%EC%9D%8C.%20myactivity%20youtube_comments%20%ED%8E%98%EC%9D%B4%EC%A7%80%EC%97%90%EC%84%9C%20%EC%8B%A4%ED%96%89%ED%95%98%EC%84%B8%EC%9A%94.&amp;#x27;);return%7Dif(window.__ytcDelRunning)%7Bconsole.warn(&amp;#x27;%5BYTC-DEL%5D%20%EC%9D%B4%EB%AF%B8%20%EC%8B%A4%ED%96%89%20%EC%A4%91.%20%EC%A4%91%EB%8B%A8:%20__stopYTC()&amp;#x27;);return%7Dwindow.__ytcDelRunning=true;const%20at=w.SNlM0e,fsid=w.FdrFJe,bl=w.cfb2h,hl=document.documentElement.lang%7C%7C&amp;#x27;ko&amp;#x27;;if(!fsid%7C%7C!bl)%7Bconsole.error(&amp;#x27;%5BYTC-DEL%5D%20%EC%84%B8%EC%85%98%20%EC%A0%95%EB%B3%B4%20%EB%88%84%EB%9D%BD&amp;#x27;);window.__ytcDelRunning=false;return%7Dlet%20stopped=false;window.__stopYTC=()=%3E%7Bstopped=true;console.log(&amp;#x27;%5BYTC-DEL%5D%20STOP%20%EC%9A%94%EC%B2%AD%EB%90%A8&amp;#x27;)%7D;const%20sleep=ms=%3Enew%20Promise(r=%3EsetTimeout(r,ms));const%20collectIds=()=%3E%5B...document.querySelectorAll(&amp;#x27;c-wiz%5Bdata-token%5D&amp;#x27;)%5D.map(c=%3Ec.getAttribute(&amp;#x27;data-token&amp;#x27;)).filter(Boolean);const%20deleteOne=async%20id=%3E%7Bconst%20inner=JSON.stringify(%5B%5Bnull,null,%5B&amp;#x27;youtube_comments&amp;#x27;%5D%5D,%5Bid%5D%5D);const%20fReq=JSON.stringify(%5B%5B%5B&amp;#x27;TmdDAd&amp;#x27;,inner,null,&amp;#x27;generic&amp;#x27;%5D%5D%5D);const%20body=&amp;#x27;f.req=&amp;#x27;+encodeURIComponent(fReq)+&amp;#x27;&amp;amp;at=&amp;#x27;+encodeURIComponent(at)+&amp;#x27;&amp;amp;&amp;#x27;;const%20reqid=(Date.now()%251000000)+Math.floor(Math.random()*100);const%20url=&amp;#x27;/_/FootprintsMyactivityUi/data/batchexecute%3Frpcids=TmdDAd&amp;amp;source-path=%252Fpage&amp;amp;f.sid=&amp;#x27;+encodeURIComponent(fsid)+&amp;#x27;&amp;amp;bl=&amp;#x27;+encodeURIComponent(bl)+&amp;#x27;&amp;amp;hl=&amp;#x27;+encodeURIComponent(hl)+&amp;#x27;&amp;amp;soc-app=712&amp;amp;soc-platform=1&amp;amp;soc-device=1&amp;amp;_reqid=&amp;#x27;+reqid+&amp;#x27;&amp;amp;rt=c&amp;#x27;;try%7Bconst%20r=await%20fetch(url,%7Bmethod:&amp;#x27;POST&amp;#x27;,credentials:&amp;#x27;include&amp;#x27;,headers:%7B&amp;#x27;content-type&amp;#x27;:&amp;#x27;application/x-www-form-urlencoded;charset=UTF-8&amp;#x27;%7D,body%7D);const%20t=await%20r.text();return%7Bok:r.status===200&amp;amp;&amp;amp;t.includes(&amp;#x27;%22TmdDAd%22,%22%5B%5D%22&amp;#x27;),status:r.status,text:t%7D%7Dcatch(e)%7Breturn%7Bok:false,status:0,text:String(e)%7D%7D%7D;const%20tryLoadMore=async()=%3E%7Bconst%20h=document.body.scrollHeight;window.scrollTo(0,document.body.scrollHeight);await%20sleep(1200);if(document.body.scrollHeight===h)%7Bconst%20m=%5B...document.querySelectorAll(&amp;#x27;button,%5Brole=%5C%5C%22button%5C%5C%22%5D&amp;#x27;)%5D.find(b=%3E/%EB%8D%94%20%ED%91%9C%EC%8B%9C%7C%EB%8D%94%EB%B3%B4%EA%B8%B0%7CShow%20more%7CLoad%20more/i.test(b.innerText%7C%7Cb.getAttribute(&amp;#x27;aria-label&amp;#x27;)%7C%7C&amp;#x27;&amp;#x27;));if(m)%7Bm.click();await%20sleep(1500)%7D%7D%7D;const%20CONCURRENCY=3,GAP_MS=50;const%20handled=new%20Set();let%20success=0,fail=0,consecutiveFail=0,scrollNoOp=0;const%20t0=Date.now();console.log(&amp;#x27;%5BYTC-DEL%5D%20%EC%8B%9C%EC%9E%91.%20concurrency=&amp;#x27;+CONCURRENCY+&amp;#x27;,%20gap=&amp;#x27;+GAP_MS+&amp;#x27;ms.%20%EC%A4%91%EB%8B%A8:%20__stopYTC()&amp;#x27;);outer:while(!stopped)%7Bconst%20ids=collectIds().filter(id=%3E!handled.has(id));if(ids.length===0)%7Bawait%20tryLoadMore();const%20fresh=collectIds().filter(id=%3E!handled.has(id));if(fresh.length===0)%7BscrollNoOp++;if(scrollNoOp%3E=3)%7Bconsole.log(&amp;#x27;%5BYTC-DEL%5D%20%EB%8D%94%20%EC%9D%B4%EC%83%81%20%EB%8C%93%EA%B8%80%20%EC%97%86%EC%9D%8C.%20%EC%A2%85%EB%A3%8C.&amp;#x27;);break%7Dcontinue%7DscrollNoOp=0;continue%7DscrollNoOp=0;for(let%20i=0;i%3Cids.length;i+=CONCURRENCY)%7Bif(stopped)break%20outer;const%20chunk=ids.slice(i,i+CONCURRENCY);const%20results=await%20Promise.all(chunk.map(deleteOne));for(let%20k=0;k%3Cchunk.length;k++)%7Bhandled.add(chunk%5Bk%5D);const%20res=results%5Bk%5D;if(res.ok)%7Bsuccess++;consecutiveFail=0%7Delse%7Bfail++;consecutiveFail++;console.warn(&amp;#x27;%5BYTC-DEL%5D%20%EC%8B%A4%ED%8C%A8%20status=&amp;#x27;+res.status+&amp;#x27;%20id=&amp;#x27;+chunk%5Bk%5D.slice(0,20)+&amp;#x27;...%20resp=&amp;#x27;+res.text.slice(0,120))%7D%7Dif(consecutiveFail%3E=5)%7Bconsole.error(&amp;#x27;%5BYTC-DEL%5D%20%EC%97%B0%EC%86%8D%205%ED%9A%8C%20%EC%8B%A4%ED%8C%A8%20%E2%80%94%20%EC%A4%91%EB%8B%A8&amp;#x27;);stopped=true;break%20outer%7Dif((success+fail)%259===0)console.log(&amp;#x27;%5BYTC-DEL%5D%20%EC%A7%84%ED%96%89:%20%EC%84%B1%EA%B3%B5%20&amp;#x27;+success+&amp;#x27;%20/%20%EC%8B%A4%ED%8C%A8%20&amp;#x27;+fail);await%20sleep(GAP_MS)%7D%7Dwindow.__ytcDelRunning=false;const%20elapsed=((Date.now()-t0)/1000).toFixed(1);console.log(&amp;#x27;%5BYTC-DEL%5D%20%EC%99%84%EB%A3%8C.%20%EC%B2%98%EB%A6%AC%20&amp;#x27;+handled.size+&amp;#x27;%EA%B0%9C%20(%EC%84%B1%EA%B3%B5%20&amp;#x27;+success+&amp;#x27;,%20%EC%8B%A4%ED%8C%A8%20&amp;#x27;+fail+&amp;#x27;,%20%EC%86%8C%EC%9A%94%20&amp;#x27;+elapsed+&amp;#x27;s)&amp;#x27;)%7D)();void%200&quot;
     class=&quot;bm&quot;
     draggable=&quot;true&quot;
     style=&quot;display:inline-block;padding:12px 24px;background:#d33;color:#fff;text-decoration:none;font-weight:bold;border-radius:4px;cursor:grab;user-select:none;&quot;&gt;  YT 댓글 모두 삭제&lt;/a&gt;
  &lt;p style=&quot;margin:12px 0 0;font-size:13px;color:#666;&quot;&gt;↑ 이 빨간 버튼을 브라우저 &lt;b&gt;북마크 바&lt;/b&gt;로 드래그하세요 (Ctrl+Shift+B로 북마크 바 표시)&lt;/p&gt;
&lt;/div&gt;

&lt;h2&gt;사용법&lt;/h2&gt;
&lt;ol style=&quot;line-height:1.8;&quot;&gt;
  &lt;li&gt;위의 빨간 버튼을 브라우저 &lt;b&gt;북마크 바로 드래그&lt;/b&gt;해서 북마크에 추가&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://myactivity.google.com/page?hl=ko&amp;amp;page=youtube_comments&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;내 YouTube 댓글 활동 페이지&lt;/a&gt; 이동 + 로그인&lt;/li&gt;
  &lt;li&gt;방금 추가한 북마크 클릭&lt;/li&gt;
  &lt;li&gt;F12 → Console 탭에서 진행 상황 확인 (성공/실패 카운터 출력)&lt;/li&gt;
  &lt;li&gt;중단하고 싶으면 콘솔에 &lt;code style=&quot;background:#f0f0f0;padding:2px 6px;border-radius:3px;font-family:Consolas,monospace;&quot;&gt;__stopYTC()&lt;/code&gt; 입력 후 Enter&lt;/li&gt;
&lt;/ol&gt;

&lt;h2 style=&quot;margin-top:32px;&quot;&gt;동작 방식&lt;/h2&gt;
&lt;p style=&quot;line-height:1.8;color:#222;&quot;&gt;
  Google &quot;내 활동&quot; 페이지의 내부 RPC 엔드포인트
  (&lt;code style=&quot;background:#f0f0f0;padding:2px 6px;font-family:Consolas,monospace;&quot;&gt;/_/FootprintsMyactivityUi/data/batchexecute&lt;/code&gt;,
  RPC &lt;code style=&quot;background:#f0f0f0;padding:2px 6px;font-family:Consolas,monospace;&quot;&gt;TmdDAd&lt;/code&gt;) 를
  직접 호출해서 댓글을 삭제합니다.
  concurrency 3으로 동시 요청, chunk 사이 50ms 간격(약 100개당 1.7초)이며,
  무한 스크롤과 &quot;더 표시&quot; 버튼을 자동 처리합니다(한국어/영어 모두 매칭).
  인증 토큰(&lt;code style=&quot;background:#f0f0f0;padding:2px 6px;font-family:Consolas,monospace;&quot;&gt;SNlM0e&lt;/code&gt;,
  &lt;code style=&quot;background:#f0f0f0;padding:2px 6px;font-family:Consolas,monospace;&quot;&gt;FdrFJe&lt;/code&gt;,
  &lt;code style=&quot;background:#f0f0f0;padding:2px 6px;font-family:Consolas,monospace;&quot;&gt;cfb2h&lt;/code&gt;) 은
  페이지의 &lt;code style=&quot;background:#f0f0f0;padding:2px 6px;font-family:Consolas,monospace;&quot;&gt;WIZ_global_data&lt;/code&gt; 에서
  자동 추출되므로 다른 사용자 계정에서도 그대로 동작합니다.
  처리한 ID는 Set으로 추적해 중복 호출을 막고, 연속 5회 실패 시 자동 중단됩니다.
&lt;/p&gt;

&lt;h2 style=&quot;margin-top:32px;&quot;&gt;코드 (검토용)&lt;/h2&gt;
&lt;pre style=&quot;background:#1e1e2e;color:#cdd6f4;padding:16px;overflow-x:auto;font-family:'D2Coding',Consolas,monospace;font-size:12px;line-height:1.6;border-radius:4px;max-height:400px;&quot;&gt;(async()=&amp;gt;{const w=window.WIZ_global_data;if(!w||!w.SNlM0e){console.error(&amp;#x27;[YTC-DEL] WIZ_global_data 없음. myactivity youtube_comments 페이지에서 실행하세요.&amp;#x27;);return}if(window.__ytcDelRunning){console.warn(&amp;#x27;[YTC-DEL] 이미 실행 중. 중단: __stopYTC()&amp;#x27;);return}window.__ytcDelRunning=true;const at=w.SNlM0e,fsid=w.FdrFJe,bl=w.cfb2h,hl=document.documentElement.lang||&amp;#x27;ko&amp;#x27;;if(!fsid||!bl){console.error(&amp;#x27;[YTC-DEL] 세션 정보 누락&amp;#x27;);window.__ytcDelRunning=false;return}let stopped=false;window.__stopYTC=()=&amp;gt;{stopped=true;console.log(&amp;#x27;[YTC-DEL] STOP 요청됨&amp;#x27;)};const sleep=ms=&amp;gt;new Promise(r=&amp;gt;setTimeout(r,ms));const collectIds=()=&amp;gt;[...document.querySelectorAll(&amp;#x27;c-wiz[data-token]&amp;#x27;)].map(c=&amp;gt;c.getAttribute(&amp;#x27;data-token&amp;#x27;)).filter(Boolean);const deleteOne=async id=&amp;gt;{const inner=JSON.stringify([[null,null,[&amp;#x27;youtube_comments&amp;#x27;]],[id]]);const fReq=JSON.stringify([[[&amp;#x27;TmdDAd&amp;#x27;,inner,null,&amp;#x27;generic&amp;#x27;]]]);const body=&amp;#x27;f.req=&amp;#x27;+encodeURIComponent(fReq)+&amp;#x27;&amp;amp;at=&amp;#x27;+encodeURIComponent(at)+&amp;#x27;&amp;amp;&amp;#x27;;const reqid=(Date.now()%1000000)+Math.floor(Math.random()*100);const url=&amp;#x27;/_/FootprintsMyactivityUi/data/batchexecute?rpcids=TmdDAd&amp;amp;source-path=%2Fpage&amp;amp;f.sid=&amp;#x27;+encodeURIComponent(fsid)+&amp;#x27;&amp;amp;bl=&amp;#x27;+encodeURIComponent(bl)+&amp;#x27;&amp;amp;hl=&amp;#x27;+encodeURIComponent(hl)+&amp;#x27;&amp;amp;soc-app=712&amp;amp;soc-platform=1&amp;amp;soc-device=1&amp;amp;_reqid=&amp;#x27;+reqid+&amp;#x27;&amp;amp;rt=c&amp;#x27;;try{const r=await fetch(url,{method:&amp;#x27;POST&amp;#x27;,credentials:&amp;#x27;include&amp;#x27;,headers:{&amp;#x27;content-type&amp;#x27;:&amp;#x27;application/x-www-form-urlencoded;charset=UTF-8&amp;#x27;},body});const t=await r.text();return{ok:r.status===200&amp;amp;&amp;amp;t.includes(&amp;#x27;&amp;quot;TmdDAd&amp;quot;,&amp;quot;[]&amp;quot;&amp;#x27;),status:r.status,text:t}}catch(e){return{ok:false,status:0,text:String(e)}}};const tryLoadMore=async()=&amp;gt;{const h=document.body.scrollHeight;window.scrollTo(0,document.body.scrollHeight);await sleep(1200);if(document.body.scrollHeight===h){const m=[...document.querySelectorAll(&amp;#x27;button,[role=\\&amp;quot;button\\&amp;quot;]&amp;#x27;)].find(b=&amp;gt;/더 표시|더보기|Show more|Load more/i.test(b.innerText||b.getAttribute(&amp;#x27;aria-label&amp;#x27;)||&amp;#x27;&amp;#x27;));if(m){m.click();await sleep(1500)}}};const CONCURRENCY=3,GAP_MS=50;const handled=new Set();let success=0,fail=0,consecutiveFail=0,scrollNoOp=0;const t0=Date.now();console.log(&amp;#x27;[YTC-DEL] 시작. concurrency=&amp;#x27;+CONCURRENCY+&amp;#x27;, gap=&amp;#x27;+GAP_MS+&amp;#x27;ms. 중단: __stopYTC()&amp;#x27;);outer:while(!stopped){const ids=collectIds().filter(id=&amp;gt;!handled.has(id));if(ids.length===0){await tryLoadMore();const fresh=collectIds().filter(id=&amp;gt;!handled.has(id));if(fresh.length===0){scrollNoOp++;if(scrollNoOp&amp;gt;=3){console.log(&amp;#x27;[YTC-DEL] 더 이상 댓글 없음. 종료.&amp;#x27;);break}continue}scrollNoOp=0;continue}scrollNoOp=0;for(let i=0;i&amp;lt;ids.length;i+=CONCURRENCY){if(stopped)break outer;const chunk=ids.slice(i,i+CONCURRENCY);const results=await Promise.all(chunk.map(deleteOne));for(let k=0;k&amp;lt;chunk.length;k++){handled.add(chunk[k]);const res=results[k];if(res.ok){success++;consecutiveFail=0}else{fail++;consecutiveFail++;console.warn(&amp;#x27;[YTC-DEL] 실패 status=&amp;#x27;+res.status+&amp;#x27; id=&amp;#x27;+chunk[k].slice(0,20)+&amp;#x27;... resp=&amp;#x27;+res.text.slice(0,120))}}if(consecutiveFail&amp;gt;=5){console.error(&amp;#x27;[YTC-DEL] 연속 5회 실패 — 중단&amp;#x27;);stopped=true;break outer}if((success+fail)%9===0)console.log(&amp;#x27;[YTC-DEL] 진행: 성공 &amp;#x27;+success+&amp;#x27; / 실패 &amp;#x27;+fail);await sleep(GAP_MS)}}window.__ytcDelRunning=false;const elapsed=((Date.now()-t0)/1000).toFixed(1);console.log(&amp;#x27;[YTC-DEL] 완료. 처리 &amp;#x27;+handled.size+&amp;#x27;개 (성공 &amp;#x27;+success+&amp;#x27;, 실패 &amp;#x27;+fail+&amp;#x27;, 소요 &amp;#x27;+elapsed+&amp;#x27;s)&amp;#x27;)})();void 0&lt;/pre&gt;

&lt;p style=&quot;font-size:12px;color:#888;margin-top:24px;&quot;&gt;
  ※ 안전을 위해 코드는 위에 그대로 공개해뒀습니다. 의심스럽다면 직접 검토 후 사용하세요.
&lt;/p&gt;</description>
      <category>카테고리/사이드 프로젝트</category>
      <category>bookmarklet</category>
      <category>javascript</category>
      <category>바이브코딩</category>
      <category>유튜브 댓글 삭제</category>
      <category>유튜브 댓글 일괄 삭제</category>
      <category>자동화</category>
      <author>나르는나른</author>
      <guid isPermaLink="true">https://byeongg96.tistory.com/146</guid>
      <comments>https://byeongg96.tistory.com/146#entry146comment</comments>
      <pubDate>Mon, 4 May 2026 20:55:17 +0900</pubDate>
    </item>
    <item>
      <title>Mindset: 불평 대신 증명하라</title>
      <link>https://byeongg96.tistory.com/142</link>
      <description>&lt;p data-end=&quot;335&quot; data-start=&quot;215&quot; data-ke-size=&quot;size16&quot;&gt;늘 불평과 불만을 늘어놓으며&lt;br /&gt;&quot;누가 어떠니 저쩌니~&quot; 말하는 사람들이 있다.&lt;br /&gt;정작 본인 이야기는 쏙 빼놓은 채,&lt;br /&gt;마치 한 번도 잘못한 적 없는 사람처럼,&lt;br /&gt;세상을 탓하고 남을 쉽게 판단한다.&lt;/p&gt;
&lt;p data-end=&quot;351&quot; data-start=&quot;337&quot; data-ke-size=&quot;size16&quot;&gt;그런 사람은 멀리하자.&lt;/p&gt;
&lt;p data-end=&quot;351&quot; data-start=&quot;337&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;394&quot; data-start=&quot;358&quot; data-ke-size=&quot;size16&quot;&gt;불합리하다는 생각이 들 때마다&lt;br /&gt;스스로에게 이렇게 물어보자.&lt;/p&gt;
&lt;blockquote data-end=&quot;434&quot; data-start=&quot;395&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;434&quot; data-start=&quot;397&quot; data-ke-size=&quot;size16&quot;&gt;&amp;ldquo;왜 하필 그 대상이 나일까? 혹시 내가 문제일 수도 있을까?&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-end=&quot;525&quot; data-start=&quot;436&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;525&quot; data-start=&quot;436&quot; data-ke-size=&quot;size16&quot;&gt;이건 자기비하가 아니라,&lt;br /&gt;자신을 객관적으로 바라보려는 &lt;b&gt;성숙한 태도&lt;/b&gt;다.&lt;br /&gt;모든 상황의 중심에 &amp;lsquo;나&amp;rsquo;를 두고 성찰할 수 있는 사람이 결국 성장한다.&lt;/p&gt;
&lt;p data-end=&quot;545&quot; data-start=&quot;532&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;545&quot; data-start=&quot;532&quot; data-ke-size=&quot;size16&quot;&gt;그리고 꼭 기억하자.&lt;/p&gt;
&lt;p data-end=&quot;671&quot; data-start=&quot;547&quot; data-ke-size=&quot;size16&quot;&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;p data-end=&quot;685&quot; data-start=&quot;678&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;685&quot; data-start=&quot;678&quot; data-ke-size=&quot;size16&quot;&gt;억울한가?&lt;/p&gt;
&lt;p data-end=&quot;721&quot; data-start=&quot;687&quot; data-ke-size=&quot;size16&quot;&gt;그렇다면 말로 변명하지 말고,&lt;br /&gt;&lt;b&gt;결과로 증명하라.&lt;/b&gt;&lt;/p&gt;
&lt;blockquote data-end=&quot;763&quot; data-start=&quot;722&quot; data-ke-style=&quot;style1&quot;&gt;
&lt;p data-end=&quot;763&quot; data-start=&quot;724&quot; data-ke-size=&quot;size16&quot;&gt;&amp;ldquo;그 누구도 쉽게 도달하지 못할 정점에 올라서 증명해라.&amp;rdquo;&lt;br /&gt;결국, 네가 불평하는 그 환경에서 벗어나지 못한다면&lt;br /&gt;너 또한 네가 평가하는 그 사람들과 다를 바 없다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p data-end=&quot;830&quot; data-start=&quot;765&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-end=&quot;830&quot; data-start=&quot;765&quot; data-ke-size=&quot;size16&quot;&gt;세상은 의도가 아니라 &lt;b&gt;결과로 판단한다.&lt;/b&gt;&lt;br /&gt;불평보다 증명을 택하는 사람,&lt;br /&gt;그 사람이 결국 길을 만든다.&lt;/p&gt;</description>
      <category>일상/마인드셋</category>
      <author>나르는나른</author>
      <guid isPermaLink="true">https://byeongg96.tistory.com/142</guid>
      <comments>https://byeongg96.tistory.com/142#entry142comment</comments>
      <pubDate>Wed, 5 Nov 2025 22:56:52 +0900</pubDate>
    </item>
    <item>
      <title>[교육후기] NHN Kubernetes Service(NKS)로 Cloud Native 시작하기</title>
      <link>https://byeongg96.tistory.com/141</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;165&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c0Oipp/dJMb9YcbEyH/AgF6yR3mIPmZMk6N2mgWD0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c0Oipp/dJMb9YcbEyH/AgF6yR3mIPmZMk6N2mgWD0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c0Oipp/dJMb9YcbEyH/AgF6yR3mIPmZMk6N2mgWD0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc0Oipp%2FdJMb9YcbEyH%2FAgF6yR3mIPmZMk6N2mgWD0%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;581&quot; height=&quot;75&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;165&quot;/&gt;&lt;/span&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;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;688&quot; data-origin-height=&quot;250&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mjFoB/dJMb88lAACE/VzEFKQry6kPgxUkYBnHlWK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mjFoB/dJMb88lAACE/VzEFKQry6kPgxUkYBnHlWK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mjFoB/dJMb88lAACE/VzEFKQry6kPgxUkYBnHlWK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmjFoB%2FdJMb88lAACE%2FVzEFKQry6kPgxUkYBnHlWK%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;413&quot; height=&quot;150&quot; data-origin-width=&quot;688&quot; data-origin-height=&quot;250&quot;/&gt;&lt;/span&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;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;style&gt;  .premium-subtitle {    box-sizing: border-box;    /* 왼쪽 강조 바 */    border-left: 6px solid #1F618D;    /* 밑줄 */    border-bottom: 2px solid #1F618D;    /* 여백 &amp; 패딩 */    margin: 20px 0;    padding: 6px 12px;    /* 폰트 세팅 */    font-family: 'Noto Sans KR', sans-serif;    font-size: 1.3em;    font-weight: 700;    letter-spacing: 0.5px;    line-height: 1.4;    /* 텍스트 컬러 */    color: #333333;    /* 아주 살짝 배경색 추가 */    background-color: rgba(31, 97, 141, 0.05);  }&lt;/style&gt;
&lt;/div&gt;
&lt;h3 class=&quot;premium-subtitle&quot; data-ke-size=&quot;size23&quot;&gt;클라우드를 네이티브하게, 더욱 클라우드스럽게&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Kubernetes(K8s)는 클라우드 환경에서 애플리케이션을 더 클라우드스럽게(Cloud-native) 운영 할 수 있게 해주는 오픈소스 플랫폼이다.&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;&quot;네이티브하게 쓴다&quot;&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;&amp;nbsp;&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;b&gt;정책&amp;middot;행정 서비스의 디지털화를 필수 과제&lt;/b&gt;로 인식하고 있고, 과거의 &amp;lsquo;온프레미스 중심 IT 인프라&amp;rsquo;로는 민첩성과 확장성에 한계가 있기에,&lt;b&gt; 컨테이너 기반 클라우드 네이티브 구조로의 전환을 통해 새로운 행정 서비스를 빠르게 배포하고 개선&lt;/b&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;공공기관용 클라우드 보안 인증 취득과 오픈스택 기반 인프라 기술력, 공공기관 다수 시스템 운영 경험을 보유하고 있고,&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재 이 분야에서 시장을 선도하고있는 NHN Cloud 에서 주관하는『NHN Kubernetes Service(NKS)로 Cloud Native 시작하기』교육을 통해 실제 공공 및 기업 환경에서 적용할 수 있는 클라우드 네이티브의 핵심 개념과 쿠버네티스 운영 기술을 익히고, 이해할 수 있었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;style&gt;  .premium-subtitle {    box-sizing: border-box;    /* 왼쪽 강조 바 */    border-left: 6px solid #1F618D;    /* 밑줄 */    border-bottom: 2px solid #1F618D;    /* 여백 &amp; 패딩 */    margin: 20px 0;    padding: 6px 12px;    /* 폰트 세팅 */    font-family: 'Noto Sans KR', sans-serif;    font-size: 1.3em;    font-weight: 700;    letter-spacing: 0.5px;    line-height: 1.4;    /* 텍스트 컬러 */    color: #333333;    /* 아주 살짝 배경색 추가 */    background-color: rgba(31, 97, 141, 0.05);  }&lt;/style&gt;
&lt;/div&gt;
&lt;h3 class=&quot;premium-subtitle&quot; data-ke-size=&quot;size23&quot;&gt;교육 일정&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1200&quot; data-origin-height=&quot;326&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/p3KWt/dJMb83EAg11/AyKQnYInsv7ebJ7hBakAaK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/p3KWt/dJMb83EAg11/AyKQnYInsv7ebJ7hBakAaK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/p3KWt/dJMb83EAg11/AyKQnYInsv7ebJ7hBakAaK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fp3KWt%2FdJMb83EAg11%2FAyKQnYInsv7ebJ7hBakAaK%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;1200&quot; height=&quot;326&quot; data-origin-width=&quot;1200&quot; data-origin-height=&quot;326&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;교육은 Basic(기초)과 Intermediate(중급) 과정으로 나뉘며, 모두 오프라인으로 진행된다.&lt;br /&gt;각 과정은 하루 일정(09:30~17:30)으로 구성되어 있고, 상황에 따라 약 30분 정도 일찍 끝날 수도 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1465&quot; data-origin-height=&quot;144&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tPFc6/dJMb9L44ccD/7R4BR8b0NWwa98QjXliQUk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tPFc6/dJMb9L44ccD/7R4BR8b0NWwa98QjXliQUk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tPFc6/dJMb9L44ccD/7R4BR8b0NWwa98QjXliQUk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtPFc6%2FdJMb9L44ccD%2F7R4BR8b0NWwa98QjXliQUk%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;1465&quot; height=&quot;144&quot; data-origin-width=&quot;1465&quot; data-origin-height=&quot;144&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1469&quot; data-origin-height=&quot;142&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/co5i9p/dJMb8ZCbnKd/X2n5KGYbe7c9g1NgRXzf81/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/co5i9p/dJMb8ZCbnKd/X2n5KGYbe7c9g1NgRXzf81/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/co5i9p/dJMb8ZCbnKd/X2n5KGYbe7c9g1NgRXzf81/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fco5i9p%2FdJMb8ZCbnKd%2FX2n5KGYbe7c9g1NgRXzf81%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;1469&quot; height=&quot;142&quot; data-origin-width=&quot;1469&quot; data-origin-height=&quot;142&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;NHN Cloud 교육센터에서 확인할 수 있듯, 이 교육은 한 달 주기로 정기 개강한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;style&gt;  .premium-subtitle {    box-sizing: border-box;    /* 왼쪽 강조 바 */    border-left: 6px solid #1F618D;    /* 밑줄 */    border-bottom: 2px solid #1F618D;    /* 여백 &amp; 패딩 */    margin: 20px 0;    padding: 6px 12px;    /* 폰트 세팅 */    font-family: 'Noto Sans KR', sans-serif;    font-size: 1.3em;    font-weight: 700;    letter-spacing: 0.5px;    line-height: 1.4;    /* 텍스트 컬러 */    color: #333333;    /* 아주 살짝 배경색 추가 */    background-color: rgba(31, 97, 141, 0.05);  }&lt;/style&gt;
&lt;/div&gt;
&lt;h3 class=&quot;premium-subtitle&quot; data-ke-size=&quot;size23&quot;&gt;교육 내용&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt; 교육은 이론과 실습이 약 5:5 비율로 구성&lt;/b&gt;되어 있으며, &lt;b&gt;각 개념 학습 후 바로 실습이 이어지는 구조&lt;/b&gt;로 진행된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;실습에 필요한 자료와 가이드 준비가 잘 되어있어, 잘 읽고 천천히 따라간다면 실습은 누구나 충분히 진행할 수 있는 수준이다.&lt;br /&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;&amp;lsquo;NHN Bakery&amp;rsquo;라는 가상의 베이커리 매장을 운영하는 이야기&lt;/b&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;Baisc&lt;br /&gt;&lt;b&gt;컨테이너와 도커의 개념 및 실습&lt;/b&gt;을 중심으로 진행됐다.&lt;br /&gt;컨테이너 기술의 필요성과 원리, 이미지 구조, 도커 파일 작성 및 빌드 방법, 레이어&amp;middot;볼륨 관리, 실행&amp;middot;종료&amp;middot;커밋 등 컨테이너 생명주기 전반을 다뤘다.&lt;br /&gt;또한 NHN Cloud의 NCR(컨테이너 레지스트리) 활용법과 프라이빗 레지스트리 보안, 이미지 배포 실습을 통해 실제 클라우드 네이티브 환경 구축 과정을 익혔다.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Intermediate&lt;br /&gt;&lt;b&gt;클라우드 네이티브 심화와 쿠버네티스 실습&lt;/b&gt; 중심으로 진행됐다.&lt;br /&gt;클라우드 네이티브의 &lt;b&gt;4대 핵심 요소(MSA&amp;middot;Container&amp;middot;DevOps&amp;middot;CI/CD)와 국내 공공기관 전환 사례를 다루고, 대표 사례로 넷플릭스의 클라우드 네이티브 전환 과정을 소개&lt;/b&gt;했다.&lt;br /&gt;실습에서는 NKS 환경에서 프론트엔드&amp;middot;백엔드 클러스터 분리, VPC 피어링&amp;middot;서비스 게이트웨이 설정, 인그레스 컨트롤러 구성 등을 수행했다.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;style&gt;  .premium-subtitle {    box-sizing: border-box;    /* 왼쪽 강조 바 */    border-left: 6px solid #1F618D;    /* 밑줄 */    border-bottom: 2px solid #1F618D;    /* 여백 &amp; 패딩 */    margin: 20px 0;    padding: 6px 12px;    /* 폰트 세팅 */    font-family: 'Noto Sans KR', sans-serif;    font-size: 1.3em;    font-weight: 700;    letter-spacing: 0.5px;    line-height: 1.4;    /* 텍스트 컬러 */    color: #333333;    /* 아주 살짝 배경색 추가 */    background-color: rgba(31, 97, 141, 0.05);  }&lt;/style&gt;
&lt;/div&gt;
&lt;h3 class=&quot;premium-subtitle&quot; data-ke-size=&quot;size23&quot;&gt;소감&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;강의는 NHN Cloud의 현직 엔지니어가 직접 진행하며, 실무 경험을 바탕으로 한 설명이 인상 깊었다.&lt;br /&gt;이론 설명 후 바로 이어지는 실습 덕분에 개념이 빠르게 정리되었고, 강사의 적극적인 지원으로 어려운 부분도 쉽게 해결할 수 있었다.&lt;br /&gt;실습 중간중간 실무에서 발생하는 문제 사례나 운영 노하우를 공유해 주셔서, 단순한 교육을 넘어 현장형 학습으로 느껴졌다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;
&lt;style&gt;  .premium-subtitle {    box-sizing: border-box;    /* 왼쪽 강조 바 */    border-left: 6px solid #1F618D;    /* 밑줄 */    border-bottom: 2px solid #1F618D;    /* 여백 &amp; 패딩 */    margin: 20px 0;    padding: 6px 12px;    /* 폰트 세팅 */    font-family: 'Noto Sans KR', sans-serif;    font-size: 1.3em;    font-weight: 700;    letter-spacing: 0.5px;    line-height: 1.4;    /* 텍스트 컬러 */    color: #333333;    /* 아주 살짝 배경색 추가 */    background-color: rgba(31, 97, 141, 0.05);  }&lt;/style&gt;
&lt;/div&gt;
&lt;h3 class=&quot;premium-subtitle&quot; data-ke-size=&quot;size23&quot;&gt;교육 환경&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;교육은 강남역 5번 출구 인근 『한국컨퍼런스센터 B1F 컨퍼런스룸 C』에서 진행되었다.&lt;br /&gt;지하철과 버스 등 대중교통 접근성이 뛰어나 서울뿐 아니라 수도권에서도 오기 편했다.&lt;br /&gt;인근에 카페와 식당 등 편의시설이 많아 쾌적한 환경에서 교육을 받을 수 있었다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2900&quot; data-origin-height=&quot;3742&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/QrZ2U/dJMb9Mpm11E/CitFY3vsbzpl2YSZiVdF1k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/QrZ2U/dJMb9Mpm11E/CitFY3vsbzpl2YSZiVdF1k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/QrZ2U/dJMb9Mpm11E/CitFY3vsbzpl2YSZiVdF1k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQrZ2U%2FdJMb9Mpm11E%2FCitFY3vsbzpl2YSZiVdF1k%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;645&quot; data-origin-width=&quot;2900&quot; data-origin-height=&quot;3742&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;3000&quot; data-origin-height=&quot;4000&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/NIW4u/dJMb9Mpm11y/MNYyOCv1vK9uwwQAB8H08K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/NIW4u/dJMb9Mpm11y/MNYyOCv1vK9uwwQAB8H08K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/NIW4u/dJMb9Mpm11y/MNYyOCv1vK9uwwQAB8H08K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FNIW4u%2FdJMb9Mpm11y%2FMNYyOCv1vK9uwwQAB8H08K%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;667&quot; data-origin-width=&quot;3000&quot; data-origin-height=&quot;4000&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Cloud/NHN Cloud</category>
      <author>나르는나른</author>
      <guid isPermaLink="true">https://byeongg96.tistory.com/141</guid>
      <comments>https://byeongg96.tistory.com/141#entry141comment</comments>
      <pubDate>Fri, 24 Oct 2025 10:51:18 +0900</pubDate>
    </item>
    <item>
      <title>NHN Cloud Essentials(CES) 예상 출제 문제(feat.ChatGPT)</title>
      <link>https://byeongg96.tistory.com/135</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;764&quot; data-origin-height=&quot;308&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/QB3AU/btsQAnYK0GE/ze044w9peuJJxOHqkfnNp1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/QB3AU/btsQAnYK0GE/ze044w9peuJJxOHqkfnNp1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/QB3AU/btsQAnYK0GE/ze044w9peuJJxOHqkfnNp1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQB3AU%2FbtsQAnYK0GE%2Fze044w9peuJJxOHqkfnNp1%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;764&quot; height=&quot;308&quot; data-origin-width=&quot;764&quot; data-origin-height=&quot;308&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;293&quot; data-origin-height=&quot;352&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/EBik4/btsQBUaeATr/Wl8G0bnurKgkgsLVNXQnk0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/EBik4/btsQBUaeATr/Wl8G0bnurKgkgsLVNXQnk0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/EBik4/btsQBUaeATr/Wl8G0bnurKgkgsLVNXQnk0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEBik4%2FbtsQBUaeATr%2FWl8G0bnurKgkgsLVNXQnk0%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;293&quot; height=&quot;352&quot; data-origin-width=&quot;293&quot; data-origin-height=&quot;352&quot;/&gt;&lt;/span&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;&amp;nbsp;&lt;/p&gt;
&lt;h1 data-end=&quot;92&quot; data-start=&quot;69&quot;&gt;  클라우드 개념 및 보안 (9문항)&lt;/h1&gt;
&lt;hr data-end=&quot;97&quot; data-start=&quot;94&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;119&quot; data-start=&quot;99&quot; data-ke-size=&quot;size23&quot;&gt;1. 클라우드 서비스 모델&lt;/h3&gt;
&lt;p data-end=&quot;196&quot; data-start=&quot;120&quot; data-ke-size=&quot;size16&quot;&gt;다음 중 클라우드 서비스 모델에 해당하지 않는 것은 무엇인가요?&lt;br /&gt;A) IaaS&lt;br /&gt;B) PaaS&lt;br /&gt;C) DaaS&lt;br /&gt;D) IDS&lt;/p&gt;
&lt;hr data-end=&quot;201&quot; data-start=&quot;198&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;222&quot; data-start=&quot;203&quot; data-ke-size=&quot;size23&quot;&gt;2. 클라우드 배포 모델&lt;/h3&gt;
&lt;p data-end=&quot;329&quot; data-start=&quot;223&quot; data-ke-size=&quot;size16&quot;&gt;클라우드 배포 모델 중에서 특정 기업 내부 전용으로 사용하는 방식은 무엇인가요?&lt;br /&gt;A) 퍼블릭 클라우드&lt;br /&gt;B) 프라이빗 클라우드&lt;br /&gt;C) 하이브리드 클라우드&lt;br /&gt;D) 커뮤니티 클라우드&lt;/p&gt;
&lt;hr data-end=&quot;334&quot; data-start=&quot;331&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;353&quot; data-start=&quot;336&quot; data-ke-size=&quot;size23&quot;&gt;3. 책임 공유 모델&lt;/h3&gt;
&lt;p data-end=&quot;475&quot; data-start=&quot;354&quot; data-ke-size=&quot;size16&quot;&gt;책임 공유 모델에서 클라우드 서비스 제공자가 책임져야 하는 영역은 무엇인가요?&lt;br /&gt;A) 물리적 데이터 센터 보안&lt;br /&gt;B) 애플리케이션 보안 패치&lt;br /&gt;C) 인스턴스 사용자 계정 관리&lt;br /&gt;D) 데이터 암호화 정책 수립&lt;/p&gt;
&lt;hr data-end=&quot;480&quot; data-start=&quot;477&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;502&quot; data-start=&quot;482&quot; data-ke-size=&quot;size23&quot;&gt;4. 클라우드 컴퓨팅 특징&lt;/h3&gt;
&lt;p data-end=&quot;595&quot; data-start=&quot;503&quot; data-ke-size=&quot;size16&quot;&gt;클라우드 컴퓨팅의 주요 특징으로 맞는 것은 무엇인가요?&lt;br /&gt;A) 수동 확장성&lt;br /&gt;B) 온디맨드 셀프서비스&lt;br /&gt;C) 고정 요금제만 지원&lt;br /&gt;D) 단일 테넌트만 지원&lt;/p&gt;
&lt;hr data-end=&quot;600&quot; data-start=&quot;597&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;622&quot; data-start=&quot;602&quot; data-ke-size=&quot;size23&quot;&gt;5. 네트워크 ACL 특징&lt;/h3&gt;
&lt;p data-end=&quot;744&quot; data-start=&quot;623&quot; data-ke-size=&quot;size16&quot;&gt;네트워크 ACL의 주요 특징으로 맞는 것은 무엇인가요?&lt;br /&gt;A) 인스턴스 단위로 적용된다&lt;br /&gt;B) 허용 규칙만 적용된다&lt;br /&gt;C) 허용과 거부 규칙 모두 지원한다&lt;br /&gt;D) 순서와 무관하게 모든 규칙이 동시에 적용된다&lt;/p&gt;
&lt;hr data-end=&quot;749&quot; data-start=&quot;746&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;768&quot; data-start=&quot;751&quot; data-ke-size=&quot;size23&quot;&gt;6. 보안 그룹 특징&lt;/h3&gt;
&lt;p data-end=&quot;913&quot; data-start=&quot;769&quot; data-ke-size=&quot;size16&quot;&gt;보안 그룹(Security Group)에 대한 설명으로 올바른 것은 무엇인가요?&lt;br /&gt;A) 인바운드와 아웃바운드 모두 차단 규칙을 지원한다&lt;br /&gt;B) 인스턴스 단위로 적용된다&lt;br /&gt;C) 기본적으로 모든 인바운드가 허용된다&lt;br /&gt;D) 순서 기반으로 규칙이 적용된다&lt;/p&gt;
&lt;hr data-end=&quot;918&quot; data-start=&quot;915&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;935&quot; data-start=&quot;920&quot; data-ke-size=&quot;size23&quot;&gt;7. WAF 목적&lt;/h3&gt;
&lt;p data-end=&quot;1083&quot; data-start=&quot;936&quot; data-ke-size=&quot;size16&quot;&gt;클라우드 환경에서 WAF(Web Application Firewall)를 사용하는 주된 목적은 무엇인가요?&lt;br /&gt;A) SQL Injection, XSS 같은 웹 공격 방어&lt;br /&gt;B) 네트워크 대역폭 확장&lt;br /&gt;C) 데이터베이스 자동 백업&lt;br /&gt;D) 모니터링 알림 제공&lt;/p&gt;
&lt;hr data-end=&quot;1088&quot; data-start=&quot;1085&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1112&quot; data-start=&quot;1090&quot; data-ke-size=&quot;size23&quot;&gt;8. CloudTrail 기능&lt;/h3&gt;
&lt;p data-end=&quot;1224&quot; data-start=&quot;1113&quot; data-ke-size=&quot;size16&quot;&gt;CloudTrail의 주요 기능은 무엇인가요?&lt;br /&gt;A) 리소스 변경 이벤트 탐지&lt;br /&gt;B) 사용자 및 API 호출 로그 기록&lt;br /&gt;C) 네트워크 트래픽 부하 분산&lt;br /&gt;D) 데이터베이스 장애 자동 복구&lt;/p&gt;
&lt;hr data-end=&quot;1229&quot; data-start=&quot;1226&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1246&quot; data-start=&quot;1231&quot; data-ke-size=&quot;size23&quot;&gt;9. IAM 역할&lt;/h3&gt;
&lt;p data-end=&quot;1398&quot; data-start=&quot;1247&quot; data-ke-size=&quot;size16&quot;&gt;클라우드 보안에서 IAM(Identity &amp;amp; Access Management)의 주된 역할은 무엇인가요?&lt;br /&gt;A) 프로젝트 내 사용자 권한 및 접근 제어 관리&lt;br /&gt;B) 데이터 암호화 키 자동 생성&lt;br /&gt;C) 오브젝트 스토리지 자동 확장&lt;br /&gt;D) DB 파라미터 그룹 생성&lt;/p&gt;
&lt;p data-end=&quot;1398&quot; data-start=&quot;1247&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 data-end=&quot;122&quot; data-start=&quot;94&quot;&gt;  NHN Cloud 서비스 특징 (20문항)&lt;/h1&gt;
&lt;hr data-end=&quot;127&quot; data-start=&quot;124&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;144&quot; data-start=&quot;129&quot; data-ke-size=&quot;size23&quot;&gt;1. GPU 인스턴스&lt;/h3&gt;
&lt;p data-end=&quot;320&quot; data-start=&quot;145&quot; data-ke-size=&quot;size16&quot;&gt;NHN Cloud에서 제공하는 GPU 인스턴스에 대한 설명으로 맞는 것은 무엇인가요?&lt;br /&gt;A) CPU만 제공하며 GPU는 지원하지 않는다&lt;br /&gt;B) 딥러닝, AI 연산 등을 위해 GPU를 선택할 수 있다&lt;br /&gt;C) GPU는 오직 NAS와 함께만 사용할 수 있다&lt;br /&gt;D) GPU는 모든 인스턴스에 기본 포함되어 있다&lt;/p&gt;
&lt;hr data-end=&quot;325&quot; data-start=&quot;322&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;341&quot; data-start=&quot;327&quot; data-ke-size=&quot;size23&quot;&gt;2. 블록 스토리지&lt;/h3&gt;
&lt;p data-end=&quot;516&quot; data-start=&quot;342&quot; data-ke-size=&quot;size16&quot;&gt;NHN Cloud에서 블록 스토리지를 인스턴스에 연결할 때 필요한 작업으로 맞는 것은 무엇인가요?&lt;br /&gt;A) 별도의 마운트 과정 없이 바로 사용 가능하다&lt;br /&gt;B) 파티션 생성 및 파일 시스템 포맷 작업 후 마운트해야 한다&lt;br /&gt;C) 보안 그룹에 별도 규칙 추가가 필요하다&lt;br /&gt;D) NAS와 동일하게 자동 공유된다&lt;/p&gt;
&lt;hr data-end=&quot;521&quot; data-start=&quot;518&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;539&quot; data-start=&quot;523&quot; data-ke-size=&quot;size23&quot;&gt;3. 오브젝트 스토리지&lt;/h3&gt;
&lt;p data-end=&quot;704&quot; data-start=&quot;540&quot; data-ke-size=&quot;size16&quot;&gt;NHN Cloud 오브젝트 스토리지에 대한 설명으로 올바른 것은 무엇인가요?&lt;br /&gt;A) 무제한 확장이 가능하며 S3 호환 API를 제공한다&lt;br /&gt;B) 반드시 블록 스토리지와 연동해야 사용할 수 있다&lt;br /&gt;C) 컨테이너 ACL은 Private만 지원한다&lt;br /&gt;D) 전용 인스턴스에서만 접근할 수 있다&lt;/p&gt;
&lt;hr data-end=&quot;709&quot; data-start=&quot;706&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;725&quot; data-start=&quot;711&quot; data-ke-size=&quot;size23&quot;&gt;4. NAS 서비스&lt;/h3&gt;
&lt;p data-end=&quot;866&quot; data-start=&quot;726&quot; data-ke-size=&quot;size16&quot;&gt;NHN Cloud의 NAS 서비스 특징으로 맞는 것은 무엇인가요?&lt;br /&gt;A) 여러 인스턴스에서 동시에 마운트 가능하다&lt;br /&gt;B) 공인 IP를 통해 외부에서도 접근할 수 있다&lt;br /&gt;C) 스냅샷 기능을 제공하지 않는다&lt;br /&gt;D) iSCSI 프로토콜을 사용한다&lt;/p&gt;
&lt;hr data-end=&quot;871&quot; data-start=&quot;868&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;885&quot; data-start=&quot;873&quot; data-ke-size=&quot;size23&quot;&gt;5. 로드밸런서&lt;/h3&gt;
&lt;p data-end=&quot;1022&quot; data-start=&quot;886&quot; data-ke-size=&quot;size16&quot;&gt;NHN Cloud 로드밸런서에 대한 설명으로 옳은 것은 무엇인가요?&lt;br /&gt;A) 오직 L4 모드만 제공한다&lt;br /&gt;B) 헬스 체크 실패 시 자동으로 인스턴스를 제외한다&lt;br /&gt;C) 보안 그룹 없이도 동작한다&lt;br /&gt;D) DNS Plus와 연동이 불가능하다&lt;/p&gt;
&lt;hr data-end=&quot;1027&quot; data-start=&quot;1024&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1051&quot; data-start=&quot;1029&quot; data-ke-size=&quot;size23&quot;&gt;6. 보안 그룹과 네트워크 ACL&lt;/h3&gt;
&lt;p data-end=&quot;1242&quot; data-start=&quot;1052&quot; data-ke-size=&quot;size16&quot;&gt;보안 그룹(Security Group)과 네트워크 ACL에 대한 설명으로 맞는 것은 무엇인가요?&lt;br /&gt;A) 보안 그룹은 서브넷 단위, 네트워크 ACL은 인스턴스 단위로 적용된다&lt;br /&gt;B) 네트워크 ACL은 허용과 거부 규칙을 모두 가질 수 있다&lt;br /&gt;C) 보안 그룹은 차단 규칙을 직접 설정할 수 있다&lt;br /&gt;D) 두 기능은 중복 적용되지 않는다&lt;/p&gt;
&lt;hr data-end=&quot;1247&quot; data-start=&quot;1244&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1265&quot; data-start=&quot;1249&quot; data-ke-size=&quot;size23&quot;&gt;7. NAT 게이트웨이&lt;/h3&gt;
&lt;p data-end=&quot;1417&quot; data-start=&quot;1266&quot; data-ke-size=&quot;size16&quot;&gt;NHN Cloud NAT 게이트웨이의 특징으로 맞는 것은 무엇인가요?&lt;br /&gt;A) 인스턴스에 직접 공인 IP를 할당한다&lt;br /&gt;B) 사설망 인스턴스의 아웃바운드 인터넷 접근을 지원한다&lt;br /&gt;C) 반드시 VPN 게이트웨이와 함께 사용해야 한다&lt;br /&gt;D) 부하 분산 기능을 제공한다&lt;/p&gt;
&lt;hr data-end=&quot;1422&quot; data-start=&quot;1419&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1440&quot; data-start=&quot;1424&quot; data-ke-size=&quot;size23&quot;&gt;8. VPN 게이트웨이&lt;/h3&gt;
&lt;p data-end=&quot;1596&quot; data-start=&quot;1441&quot; data-ke-size=&quot;size16&quot;&gt;NHN Cloud VPN 게이트웨이에 대한 설명으로 올바른 것은 무엇인가요?&lt;br /&gt;A) 최대 2개 연결만 지원한다&lt;br /&gt;B) 동일한 CIDR 대역을 사용하는 경우에도 연결 가능하다&lt;br /&gt;C) Site-to-Site 연결 방식을 지원한다&lt;br /&gt;D) NAT 게이트웨이와 기능이 동일하다&lt;/p&gt;
&lt;hr data-end=&quot;1601&quot; data-start=&quot;1598&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1621&quot; data-start=&quot;1603&quot; data-ke-size=&quot;size23&quot;&gt;9. VPC Peering&lt;/h3&gt;
&lt;p data-end=&quot;1773&quot; data-start=&quot;1622&quot; data-ke-size=&quot;size16&quot;&gt;NHN Cloud VPC Peering에 대한 설명으로 맞는 것은 무엇인가요?&lt;br /&gt;A) 다른 리전 간에도 항상 연결 가능하다&lt;br /&gt;B) 중복된 CIDR 대역은 연결할 수 없다&lt;br /&gt;C) 반드시 Direct Connect를 함께 구성해야 한다&lt;br /&gt;D) 보안 그룹을 대신한다&lt;/p&gt;
&lt;hr data-end=&quot;1778&quot; data-start=&quot;1775&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1802&quot; data-start=&quot;1780&quot; data-ke-size=&quot;size23&quot;&gt;10. Direct Connect&lt;/h3&gt;
&lt;p data-end=&quot;1964&quot; data-start=&quot;1803&quot; data-ke-size=&quot;size16&quot;&gt;NHN Cloud Direct Connect의 특징으로 맞는 것은 무엇인가요?&lt;br /&gt;A) 전용선으로 데이터센터와 NHN Cloud를 연결한다&lt;br /&gt;B) VPN보다 비용이 저렴하지만 안정성이 낮다&lt;br /&gt;C) 인터넷 게이트웨이를 반드시 거쳐야 한다&lt;br /&gt;D) 동일 VPC 내에서만 사용할 수 있다&lt;/p&gt;
&lt;hr data-end=&quot;1969&quot; data-start=&quot;1966&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1987&quot; data-start=&quot;1971&quot; data-ke-size=&quot;size23&quot;&gt;11. DNS Plus&lt;/h3&gt;
&lt;p data-end=&quot;2148&quot; data-start=&quot;1988&quot; data-ke-size=&quot;size16&quot;&gt;NHN Cloud DNS Plus 서비스 설명으로 맞는 것은 무엇인가요?&lt;br /&gt;A) 도메인 이름을 IP 주소로 변환하는 서비스이다&lt;br /&gt;B) Geo 기반 트래픽 분산 기능을 제공한다&lt;br /&gt;C) 반드시 플로팅 IP와 함께 사용해야 한다&lt;br /&gt;D) 오직 Private 네트워크 내에서만 동작한다&lt;/p&gt;
&lt;hr data-end=&quot;2153&quot; data-start=&quot;2150&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;2167&quot; data-start=&quot;2155&quot; data-ke-size=&quot;size23&quot;&gt;12. GSLB&lt;/h3&gt;
&lt;p data-end=&quot;2322&quot; data-start=&quot;2168&quot; data-ke-size=&quot;size16&quot;&gt;NHN Cloud GSLB 서비스의 특징으로 올바른 것은 무엇인가요?&lt;br /&gt;A) 하나의 서버만 대상으로 설정할 수 있다&lt;br /&gt;B) 장애 시 자동으로 트래픽을 다른 리소스로 분산시킨다&lt;br /&gt;C) L7 로드밸런서와 동일한 기능을 수행한다&lt;br /&gt;D) DNS Plus와는 연동할 수 없다&lt;/p&gt;
&lt;hr data-end=&quot;2327&quot; data-start=&quot;2324&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;2340&quot; data-start=&quot;2329&quot; data-ke-size=&quot;size23&quot;&gt;13. RDS&lt;/h3&gt;
&lt;p data-end=&quot;2475&quot; data-start=&quot;2341&quot; data-ke-size=&quot;size16&quot;&gt;NHN Cloud RDS 서비스 특징으로 맞는 것은 무엇인가요?&lt;br /&gt;A) 수동 백업만 지원한다&lt;br /&gt;B) 파라미터 그룹을 통해 DB 설정을 일괄 변경할 수 있다&lt;br /&gt;C) 장애 조치 기능을 제공하지 않는다&lt;br /&gt;D) 오직 MySQL만 지원한다&lt;/p&gt;
&lt;hr data-end=&quot;2480&quot; data-start=&quot;2477&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;2499&quot; data-start=&quot;2482&quot; data-ke-size=&quot;size23&quot;&gt;14. EasyCache&lt;/h3&gt;
&lt;p data-end=&quot;2642&quot; data-start=&quot;2500&quot; data-ke-size=&quot;size16&quot;&gt;NHN Cloud EasyCache 서비스에 대한 설명으로 올바른 것은 무엇인가요?&lt;br /&gt;A) Redis/Valkey 엔진을 지원한다&lt;br /&gt;B) 자동 백업은 지원하지 않는다&lt;br /&gt;C) 인증 기능이 제공되지 않는다&lt;br /&gt;D) RDS와 반드시 함께 사용해야 한다&lt;/p&gt;
&lt;hr data-end=&quot;2647&quot; data-start=&quot;2644&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;2673&quot; data-start=&quot;2649&quot; data-ke-size=&quot;size23&quot;&gt;15. Cloud Monitoring&lt;/h3&gt;
&lt;p data-end=&quot;2821&quot; data-start=&quot;2674&quot; data-ke-size=&quot;size16&quot;&gt;NHN Cloud Cloud Monitoring의 특징으로 맞는 것은 무엇인가요?&lt;br /&gt;A) 10초 단위로 지표를 수집한다&lt;br /&gt;B) 최대 52주까지 지표를 보존할 수 있다&lt;br /&gt;C) 알림 채널은 오직 Email만 지원한다&lt;br /&gt;D) 인스턴스 전용 모니터링만 제공한다&lt;/p&gt;
&lt;hr data-end=&quot;2826&quot; data-start=&quot;2823&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;2851&quot; data-start=&quot;2828&quot; data-ke-size=&quot;size23&quot;&gt;16. Service Gateway&lt;/h3&gt;
&lt;p data-end=&quot;3019&quot; data-start=&quot;2852&quot; data-ke-size=&quot;size16&quot;&gt;NHN Cloud Service Gateway의 기능으로 올바른 것은 무엇인가요?&lt;br /&gt;A) 공인 IP 없이 내부망에서 NHN Cloud 서비스에 접근할 수 있다&lt;br /&gt;B) 반드시 VPN을 거쳐야 한다&lt;br /&gt;C) Direct Connect 전용 기능이다&lt;br /&gt;D) 보안 그룹 설정 없이도 접근이 가능하다&lt;/p&gt;
&lt;hr data-end=&quot;3024&quot; data-start=&quot;3021&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;3040&quot; data-start=&quot;3026&quot; data-ke-size=&quot;size23&quot;&gt;17. 플로팅 IP&lt;/h3&gt;
&lt;p data-end=&quot;3205&quot; data-start=&quot;3041&quot; data-ke-size=&quot;size16&quot;&gt;NHN Cloud의 플로팅 IP(Floating IP)에 대한 설명으로 맞는 것은 무엇인가요?&lt;br /&gt;A) 시간 경과에 따라 주소가 자동 변경된다&lt;br /&gt;B) 특정 리소스에서 해제 후 다른 리소스에 재할당할 수 있다&lt;br /&gt;C) 오직 로드밸런서에서만 사용할 수 있다&lt;br /&gt;D) 내부 전용 IP와 동일하다&lt;/p&gt;
&lt;hr data-end=&quot;3210&quot; data-start=&quot;3207&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;3226&quot; data-start=&quot;3212&quot; data-ke-size=&quot;size23&quot;&gt;18. 오토스케일링&lt;/h3&gt;
&lt;p data-end=&quot;3401&quot; data-start=&quot;3227&quot; data-ke-size=&quot;size16&quot;&gt;NHN Cloud 오토스케일링(Auto Scaling)에 대한 설명으로 맞는 것은 무엇인가요?&lt;br /&gt;A) 수동으로만 인스턴스 수를 조정할 수 있다&lt;br /&gt;B) 모니터링 지표에 따라 자동으로 인스턴스를 확장/축소한다&lt;br /&gt;C) 반드시 GPU 인스턴스에서만 동작한다&lt;br /&gt;D) VPC Peering과 함께만 사용 가능하다&lt;/p&gt;
&lt;hr data-end=&quot;3406&quot; data-start=&quot;3403&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;3419&quot; data-start=&quot;3408&quot; data-ke-size=&quot;size23&quot;&gt;19. IAM&lt;/h3&gt;
&lt;p data-end=&quot;3582&quot; data-start=&quot;3420&quot; data-ke-size=&quot;size16&quot;&gt;NHN Cloud IAM(Identity &amp;amp; Access Management)의 주요 기능으로 맞는 것은 무엇인가요?&lt;br /&gt;A) 인스턴스 OS 계정을 관리한다&lt;br /&gt;B) 조직/프로젝트 단위 사용자 권한을 제어한다&lt;br /&gt;C) 데이터베이스 계정을 생성한다&lt;br /&gt;D) 보안 그룹 규칙을 자동 적용한다&lt;/p&gt;
&lt;hr data-end=&quot;3587&quot; data-start=&quot;3584&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;3613&quot; data-start=&quot;3589&quot; data-ke-size=&quot;size23&quot;&gt;20. Resource Watcher&lt;/h3&gt;
&lt;p data-end=&quot;3755&quot; data-start=&quot;3614&quot; data-ke-size=&quot;size16&quot;&gt;NHN Cloud Resource Watcher의 기능으로 맞는 것은 무엇인가요?&lt;br /&gt;A) 리소스 변경 이벤트를 탐지하고 알림을 제공한다&lt;br /&gt;B) 로그 수집만 수행한다&lt;br /&gt;C) 비용 결제를 자동으로 처리한다&lt;br /&gt;D) 오직 스토리지 서비스에만 적용된다&lt;/p&gt;
&lt;p data-end=&quot;3755&quot; data-start=&quot;3614&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 data-end=&quot;105&quot; data-start=&quot;78&quot;&gt;  NHN Cloud 기술 활용 (24문항)&lt;/h1&gt;
&lt;hr data-end=&quot;110&quot; data-start=&quot;107&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;132&quot; data-start=&quot;112&quot; data-ke-size=&quot;size23&quot;&gt;1. 추가 블록 스토리지 사용&lt;/h3&gt;
&lt;p data-end=&quot;282&quot; data-start=&quot;133&quot; data-ke-size=&quot;size16&quot;&gt;인스턴스를 새로 생성한 후 루트 볼륨 외에 추가 블록 스토리지를 사용하려면 올바른 절차는 무엇인가요?&lt;br /&gt;A) 단순 연결 후 바로 사용 가능&lt;br /&gt;B) 파티션 생성 &amp;rarr; 파일시스템 포맷 &amp;rarr; 마운트&lt;br /&gt;C) 스냅샷 생성 후 마운트&lt;br /&gt;D) 보안 그룹 추가 후 자동 사용&lt;/p&gt;
&lt;hr data-end=&quot;287&quot; data-start=&quot;284&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;309&quot; data-start=&quot;289&quot; data-ke-size=&quot;size23&quot;&gt;2. 키페어 생성 시 주의사항&lt;/h3&gt;
&lt;p data-end=&quot;480&quot; data-start=&quot;310&quot; data-ke-size=&quot;size16&quot;&gt;인스턴스 접속을 위한 키페어 생성 시 주의해야 할 점으로 올바른 것은 무엇인가요?&lt;br /&gt;A) 생성 후 언제든지 콘솔에서 비밀키 재발급 가능&lt;br /&gt;B) 생성 시 다운로드한 비밀키는 반드시 보관해야 한다&lt;br /&gt;C) 비밀키는 사용자 계정과 무관하게 공유 가능하다&lt;br /&gt;D) 인스턴스 접속 시 비밀키는 필요하지 않다&lt;/p&gt;
&lt;hr data-end=&quot;485&quot; data-start=&quot;482&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;505&quot; data-start=&quot;487&quot; data-ke-size=&quot;size23&quot;&gt;3. 인스턴스 인터넷 연결&lt;/h3&gt;
&lt;p data-end=&quot;609&quot; data-start=&quot;506&quot; data-ke-size=&quot;size16&quot;&gt;인스턴스를 공인 인터넷에 연결하려면 필요한 작업은 무엇인가요?&lt;br /&gt;A) NAT 게이트웨이 생성&lt;br /&gt;B) 플로팅 IP 할당&lt;br /&gt;C) 서비스 게이트웨이 등록&lt;br /&gt;D) VPC 피어링 연결&lt;/p&gt;
&lt;hr data-end=&quot;614&quot; data-start=&quot;611&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;631&quot; data-start=&quot;616&quot; data-ke-size=&quot;size23&quot;&gt;4. 자동 확장 기능&lt;/h3&gt;
&lt;p data-end=&quot;750&quot; data-start=&quot;632&quot; data-ke-size=&quot;size16&quot;&gt;특정 인스턴스의 CPU 사용률이 80% 이상일 때 자동으로 확장하려면 어떤 기능을 사용해야 하나요?&lt;br /&gt;A) 로드밸런서&lt;br /&gt;B) 오토스케일링 그룹&lt;br /&gt;C) VPN 게이트웨이&lt;br /&gt;D) Direct Connect&lt;/p&gt;
&lt;hr data-end=&quot;755&quot; data-start=&quot;752&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;770&quot; data-start=&quot;757&quot; data-ke-size=&quot;size23&quot;&gt;5. 스냅샷 활용&lt;/h3&gt;
&lt;p data-end=&quot;878&quot; data-start=&quot;771&quot; data-ke-size=&quot;size16&quot;&gt;블록 스토리지 스냅샷을 활용하는 대표적인 사례는 무엇인가요?&lt;br /&gt;A) 네트워크 속도 향상&lt;br /&gt;B) 데이터 백업 및 새로운 볼륨 생성&lt;br /&gt;C) 인스턴스 접근 제어&lt;br /&gt;D) DNS 레코드 관리&lt;/p&gt;
&lt;hr data-end=&quot;883&quot; data-start=&quot;880&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;905&quot; data-start=&quot;885&quot; data-ke-size=&quot;size23&quot;&gt;6. 오브젝트 스토리지 ACL&lt;/h3&gt;
&lt;p data-end=&quot;1059&quot; data-start=&quot;906&quot; data-ke-size=&quot;size16&quot;&gt;Object Storage 컨테이너에 접근할 때 ACL을 Public으로 설정하면 어떤 결과가 발생하나요?&lt;br /&gt;A) 모든 사용자가 인증 없이 접근 가능&lt;br /&gt;B) IAM 사용자만 접근 가능&lt;br /&gt;C) 반드시 VPN을 통해서만 접근 가능&lt;br /&gt;D) 다른 프로젝트에서만 접근 가능&lt;/p&gt;
&lt;hr data-end=&quot;1064&quot; data-start=&quot;1061&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1088&quot; data-start=&quot;1066&quot; data-ke-size=&quot;size23&quot;&gt;7. 사설망 인스턴스 인터넷 접근&lt;/h3&gt;
&lt;p data-end=&quot;1207&quot; data-start=&quot;1089&quot; data-ke-size=&quot;size16&quot;&gt;VPC 내 사설망 인스턴스가 외부 인터넷에 나가야 할 때 가장 적절한 방법은 무엇인가요?&lt;br /&gt;A) 플로팅 IP 직접 연결&lt;br /&gt;B) NAT 게이트웨이 사용&lt;br /&gt;C) VPN 게이트웨이 사용&lt;br /&gt;D) GSLB 설정&lt;/p&gt;
&lt;hr data-end=&quot;1212&quot; data-start=&quot;1209&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1233&quot; data-start=&quot;1214&quot; data-ke-size=&quot;size23&quot;&gt;8. VPN 게이트웨이 조건&lt;/h3&gt;
&lt;p data-end=&quot;1346&quot; data-start=&quot;1234&quot; data-ke-size=&quot;size16&quot;&gt;VPN 게이트웨이로 온프레미스와 연결 시 유의해야 하는 조건은 무엇인가요?&lt;br /&gt;A) CIDR 중복 불가&lt;br /&gt;B) 반드시 공인 IP 사용&lt;br /&gt;C) NAT 게이트웨이 필수&lt;br /&gt;D) 로드밸런서 연동 필수&lt;/p&gt;
&lt;hr data-end=&quot;1351&quot; data-start=&quot;1348&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1368&quot; data-start=&quot;1353&quot; data-ke-size=&quot;size23&quot;&gt;9. 로드밸런서 동작&lt;/h3&gt;
&lt;p data-end=&quot;1495&quot; data-start=&quot;1369&quot; data-ke-size=&quot;size16&quot;&gt;로드밸런서 사용 시 백엔드 인스턴스가 헬스 체크에 실패하면 어떤 동작이 수행되나요?&lt;br /&gt;A) 자동으로 보안 그룹 차단&lt;br /&gt;B) 해당 인스턴스를 LB 대상에서 제외&lt;br /&gt;C) 인스턴스 강제 종료&lt;br /&gt;D) 다른 리전에 자동 복제&lt;/p&gt;
&lt;hr data-end=&quot;1500&quot; data-start=&quot;1497&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1519&quot; data-start=&quot;1502&quot; data-ke-size=&quot;size23&quot;&gt;10. RDS 설정 변경&lt;/h3&gt;
&lt;p data-end=&quot;1617&quot; data-start=&quot;1520&quot; data-ke-size=&quot;size16&quot;&gt;RDS 인스턴스의 설정을 일괄적으로 변경하고자 할 때 사용하는 기능은 무엇인가요?&lt;br /&gt;A) 파라미터 그룹&lt;br /&gt;B) 서브넷 그룹&lt;br /&gt;C) 로드밸런서 그룹&lt;br /&gt;D) 보안 그룹&lt;/p&gt;
&lt;hr data-end=&quot;1622&quot; data-start=&quot;1619&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1647&quot; data-start=&quot;1624&quot; data-ke-size=&quot;size23&quot;&gt;11. EasyCache 복제 그룹&lt;/h3&gt;
&lt;p data-end=&quot;1786&quot; data-start=&quot;1648&quot; data-ke-size=&quot;size16&quot;&gt;EasyCache에서 데이터 무결성을 보장하고자 복제 그룹을 구성하면 얻을 수 있는 효과는 무엇인가요?&lt;br /&gt;A) 캐시 데이터 자동 암호화&lt;br /&gt;B) 장애 시 다른 노드로 자동 장애 조치&lt;br /&gt;C) 운영체제 자동 업데이트&lt;br /&gt;D) RDS와 자동 연동&lt;/p&gt;
&lt;hr data-end=&quot;1791&quot; data-start=&quot;1788&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1820&quot; data-start=&quot;1793&quot; data-ke-size=&quot;size23&quot;&gt;12. Cloud Monitoring 알림&lt;/h3&gt;
&lt;p data-end=&quot;1942&quot; data-start=&quot;1821&quot; data-ke-size=&quot;size16&quot;&gt;Cloud Monitoring에서 특정 지표 임계치를 초과했을 때 알림을 받으려면 어떤 기능을 사용해야 하나요?&lt;br /&gt;A) 알림 채널과 알람 규칙&lt;br /&gt;B) IAM 정책&lt;br /&gt;C) 보안 그룹 로그&lt;br /&gt;D) VPN 라우팅&lt;/p&gt;
&lt;hr data-end=&quot;1947&quot; data-start=&quot;1944&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1976&quot; data-start=&quot;1949&quot; data-ke-size=&quot;size23&quot;&gt;13. Resource Watcher 활용&lt;/h3&gt;
&lt;p data-end=&quot;2102&quot; data-start=&quot;1977&quot; data-ke-size=&quot;size16&quot;&gt;Resource Watcher의 활용 사례로 가장 적절한 것은 무엇인가요?&lt;br /&gt;A) 리소스 변경 이벤트 탐지 및 알림&lt;br /&gt;B) 네트워크 대역폭 증가&lt;br /&gt;C) DB 파라미터 자동 최적화&lt;br /&gt;D) 오브젝트 스토리지 성능 향상&lt;/p&gt;
&lt;hr data-end=&quot;2107&quot; data-start=&quot;2104&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;2129&quot; data-start=&quot;2109&quot; data-ke-size=&quot;size23&quot;&gt;14. NAT 게이트웨이 설정&lt;/h3&gt;
&lt;p data-end=&quot;2229&quot; data-start=&quot;2130&quot; data-ke-size=&quot;size16&quot;&gt;NAT 게이트웨이를 구성할 때 반드시 설정해야 하는 것은 무엇인가요?&lt;br /&gt;A) 라우팅 테이블 연동&lt;br /&gt;B) GSLB 정책&lt;br /&gt;C) ACL 로그 수집&lt;br /&gt;D) 플로팅 IP 삭제&lt;/p&gt;
&lt;hr data-end=&quot;2234&quot; data-start=&quot;2231&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;2258&quot; data-start=&quot;2236&quot; data-ke-size=&quot;size23&quot;&gt;15. DNS Plus A 레코드&lt;/h3&gt;
&lt;p data-end=&quot;2383&quot; data-start=&quot;2259&quot; data-ke-size=&quot;size16&quot;&gt;DNS Plus에 A 레코드를 등록하는 주된 목적은 무엇인가요?&lt;br /&gt;A) 도메인을 특정 IP 주소에 매핑&lt;br /&gt;B) 도메인을 다른 도메인으로 포워딩&lt;br /&gt;C) 도메인을 암호화 연결&lt;br /&gt;D) 도메인을 VPN 게이트웨이와 연결&lt;/p&gt;
&lt;hr data-end=&quot;2388&quot; data-start=&quot;2385&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;2405&quot; data-start=&quot;2390&quot; data-ke-size=&quot;size23&quot;&gt;16. GSLB 활용&lt;/h3&gt;
&lt;p data-end=&quot;2528&quot; data-start=&quot;2406&quot; data-ke-size=&quot;size16&quot;&gt;GSLB를 활용하여 웹 서비스의 가용성을 높이는 방법은 무엇인가요?&lt;br /&gt;A) 동일 리전 내에서 부하 분산&lt;br /&gt;B) 장애 발생 시 다른 리전으로 자동 트래픽 전환&lt;br /&gt;C) DB 성능 최적화&lt;br /&gt;D) 스토리지 용량 증설&lt;/p&gt;
&lt;hr data-end=&quot;2533&quot; data-start=&quot;2530&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;2553&quot; data-start=&quot;2535&quot; data-ke-size=&quot;size23&quot;&gt;17. IAM 사용자 추가&lt;/h3&gt;
&lt;p data-end=&quot;2681&quot; data-start=&quot;2554&quot; data-ke-size=&quot;size16&quot;&gt;IAM을 통해 프로젝트에 새로운 사용자를 추가할 때 올바른 절차는 무엇인가요?&lt;br /&gt;A) 리눅스 계정 생성&lt;br /&gt;B) 조직 또는 프로젝트 단위 권한 부여&lt;br /&gt;C) 보안 그룹에 사용자 등록&lt;br /&gt;D) VPN 게이트웨이에 사용자 추가&lt;/p&gt;
&lt;hr data-end=&quot;2686&quot; data-start=&quot;2683&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;2714&quot; data-start=&quot;2688&quot; data-ke-size=&quot;size23&quot;&gt;18. Terraform Provider&lt;/h3&gt;
&lt;p data-end=&quot;2845&quot; data-start=&quot;2715&quot; data-ke-size=&quot;size16&quot;&gt;Terraform Provider를 NHN Cloud에서 사용하는 주된 목적은 무엇인가요?&lt;br /&gt;A) 인프라를 코드로 자동화 관리&lt;br /&gt;B) 데이터베이스 성능 최적화&lt;br /&gt;C) 오토스케일링 임계값 설정&lt;br /&gt;D) VPN 암호화 터널 구성&lt;/p&gt;
&lt;hr data-end=&quot;2850&quot; data-start=&quot;2847&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;2866&quot; data-start=&quot;2852&quot; data-ke-size=&quot;size23&quot;&gt;19. RDS 복원&lt;/h3&gt;
&lt;p data-end=&quot;2974&quot; data-start=&quot;2867&quot; data-ke-size=&quot;size16&quot;&gt;RDS 백업을 통해 특정 시점으로 복원하려고 한다면 어떤 기능을 활용해야 하나요?&lt;br /&gt;A) 포인트 인 타임 리커버리&lt;br /&gt;B) 오토스케일링&lt;br /&gt;C) 로드밸런서 리다이렉트&lt;br /&gt;D) ACL 로깅&lt;/p&gt;
&lt;hr data-end=&quot;2979&quot; data-start=&quot;2976&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;3001&quot; data-start=&quot;2981&quot; data-ke-size=&quot;size23&quot;&gt;20. EasyCache 인증&lt;/h3&gt;
&lt;p data-end=&quot;3138&quot; data-start=&quot;3002&quot; data-ke-size=&quot;size16&quot;&gt;EasyCache 인증 기능을 활성화하면 어떤 효과가 있나요?&lt;br /&gt;A) 인증 키 없이는 접근할 수 없다&lt;br /&gt;B) 자동으로 TLS 연결이 설정된다&lt;br /&gt;C) 다른 프로젝트에서도 접근 가능하다&lt;br /&gt;D) 인증과 무관하게 항상 Public 접근 가능&lt;/p&gt;
&lt;hr data-end=&quot;3143&quot; data-start=&quot;3140&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;3163&quot; data-start=&quot;3145&quot; data-ke-size=&quot;size23&quot;&gt;21. 모니터링 지표 주기&lt;/h3&gt;
&lt;p data-end=&quot;3239&quot; data-start=&quot;3164&quot; data-ke-size=&quot;size16&quot;&gt;Cloud Monitoring 지표 수집 주기는 기본적으로 얼마인가요?&lt;br /&gt;A) 10초&lt;br /&gt;B) 1분&lt;br /&gt;C) 5분&lt;br /&gt;D) 1시간&lt;/p&gt;
&lt;hr data-end=&quot;3244&quot; data-start=&quot;3241&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;3266&quot; data-start=&quot;3246&quot; data-ke-size=&quot;size23&quot;&gt;22. API 엔드포인트 확인&lt;/h3&gt;
&lt;p data-end=&quot;3380&quot; data-start=&quot;3267&quot; data-ke-size=&quot;size16&quot;&gt;NHN Cloud에서 API 호출 시 엔드포인트 정보를 확인하려면 어떤 항목을 참조해야 하나요?&lt;br /&gt;A) serviceCatalog&lt;br /&gt;B) IAM 정책&lt;br /&gt;C) ACL 규칙&lt;br /&gt;D) 보안 그룹 로그&lt;/p&gt;
&lt;hr data-end=&quot;3385&quot; data-start=&quot;3382&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;3414&quot; data-start=&quot;3387&quot; data-ke-size=&quot;size23&quot;&gt;23. 로드밸런서 + DNS Plus 연동&lt;/h3&gt;
&lt;p data-end=&quot;3537&quot; data-start=&quot;3415&quot; data-ke-size=&quot;size16&quot;&gt;로드밸런서와 DNS Plus를 연동하여 얻을 수 있는 효과는 무엇인가요?&lt;br /&gt;A) 도메인 기반으로 부하 분산 대상 연결&lt;br /&gt;B) DB 성능 자동 최적화&lt;br /&gt;C) NAS 자동 마운트&lt;br /&gt;D) RDS 파라미터 자동 적용&lt;/p&gt;
&lt;hr data-end=&quot;3542&quot; data-start=&quot;3539&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;3564&quot; data-start=&quot;3544&quot; data-ke-size=&quot;size23&quot;&gt;24. 프로젝트 삭제 시 결제&lt;/h3&gt;
&lt;p data-end=&quot;3692&quot; data-start=&quot;3565&quot; data-ke-size=&quot;size16&quot;&gt;프로젝트 삭제 시 유의해야 하는 결제 관련 사항은 무엇인가요?&lt;br /&gt;A) 사용 중인 리소스는 모두 즉시 무료 전환&lt;br /&gt;B) 남은 리소스 사용량은 과금될 수 있다&lt;br /&gt;C) 크레딧은 자동 환불된다&lt;br /&gt;D) 결제수단은 자동 해지된다&lt;/p&gt;
&lt;p data-end=&quot;3692&quot; data-start=&quot;3565&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h1 data-end=&quot;91&quot; data-start=&quot;63&quot;&gt;  NHN Cloud 결제 및 요금 (7문항)&lt;/h1&gt;
&lt;hr data-end=&quot;96&quot; data-start=&quot;93&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;113&quot; data-start=&quot;98&quot; data-ke-size=&quot;size23&quot;&gt;1. 크레딧 개념&lt;/h3&gt;
&lt;p data-end=&quot;230&quot; data-start=&quot;114&quot; data-ke-size=&quot;size16&quot;&gt;NHN Cloud 크레딧에 대한 설명으로 맞는 것은 무엇인가요?&lt;br /&gt;A) 현금 1원과 동일하게 사용된다&lt;br /&gt;B) 환불이 가능하다&lt;br /&gt;C) 항상 자동으로 소멸 연장된다&lt;br /&gt;D) 다른 계정으로 양도할 수 있다&lt;/p&gt;
&lt;hr data-end=&quot;235&quot; data-start=&quot;232&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;251&quot; data-start=&quot;237&quot; data-ke-size=&quot;size23&quot;&gt;2. 결제 방식&lt;/h3&gt;
&lt;p data-end=&quot;381&quot; data-start=&quot;252&quot; data-ke-size=&quot;size16&quot;&gt;NHN Cloud 결제 방식에 대한 설명으로 올바른 것은 무엇인가요?&lt;br /&gt;A) 선결제만 가능하다&lt;br /&gt;B) 종량제와 정액제 방식을 모두 지원한다&lt;br /&gt;C) 신용카드 결제만 허용된다&lt;br /&gt;D) 결제수단 등록 없이 서비스 사용이 가능하다&lt;/p&gt;
&lt;hr data-end=&quot;386&quot; data-start=&quot;383&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;411&quot; data-start=&quot;388&quot; data-ke-size=&quot;size23&quot;&gt;3. 크레딧 보유 시 결제 처리&lt;/h3&gt;
&lt;p data-end=&quot;560&quot; data-start=&quot;412&quot; data-ke-size=&quot;size16&quot;&gt;NHN Cloud에서 크레딧을 보유하고 있는 경우 요금 결제는 어떻게 처리되나요?&lt;br /&gt;A) 결제수단에서 바로 결제된다&lt;br /&gt;B) 크레딧 선차감 후 부족분만 결제수단에서 청구된다&lt;br /&gt;C) 항상 전액 결제수단에서 청구된다&lt;br /&gt;D) 크레딧은 요금 결제에 사용할 수 없다&lt;/p&gt;
&lt;hr data-end=&quot;565&quot; data-start=&quot;562&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;585&quot; data-start=&quot;567&quot; data-ke-size=&quot;size23&quot;&gt;4. 요금 미발생 사례&lt;/h3&gt;
&lt;p data-end=&quot;715&quot; data-start=&quot;586&quot; data-ke-size=&quot;size16&quot;&gt;다음 중 NHN Cloud에서 요금이 발생하지 않는 경우는 무엇인가요?&lt;br /&gt;A) 인스턴스를 실행 중인 경우&lt;br /&gt;B) 플로팅 IP를 생성하여 인스턴스에 연결한 경우&lt;br /&gt;C) 인스턴스를 중지한 경우&lt;br /&gt;D) 로드밸런서를 생성한 경우&lt;/p&gt;
&lt;hr data-end=&quot;720&quot; data-start=&quot;717&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;742&quot; data-start=&quot;722&quot; data-ke-size=&quot;size23&quot;&gt;5. 프로젝트 삭제와 결제&lt;/h3&gt;
&lt;p data-end=&quot;890&quot; data-start=&quot;743&quot; data-ke-size=&quot;size16&quot;&gt;NHN Cloud 프로젝트 삭제 시 결제와 관련된 설명으로 맞는 것은 무엇인가요?&lt;br /&gt;A) 모든 요금이 자동으로 취소된다&lt;br /&gt;B) 프로젝트 삭제와 관계없이 사용 중 리소스는 과금될 수 있다&lt;br /&gt;C) 크레딧은 삭제 즉시 환불된다&lt;br /&gt;D) 결제수단은 자동 해지된다&lt;/p&gt;
&lt;hr data-end=&quot;895&quot; data-start=&quot;892&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;911&quot; data-start=&quot;897&quot; data-ke-size=&quot;size23&quot;&gt;6. 요금 정책&lt;/h3&gt;
&lt;p data-end=&quot;1077&quot; data-start=&quot;912&quot; data-ke-size=&quot;size16&quot;&gt;NHN Cloud 요금 정책에 대한 설명으로 맞는 것은 무엇인가요?&lt;br /&gt;A) 모든 서비스는 정액제만 지원한다&lt;br /&gt;B) 사용량 기반으로 종량제가 적용되는 서비스가 있다&lt;br /&gt;C) 요금은 서비스 신청일 기준이 아닌 계정 생성일 기준으로 부과된다&lt;br /&gt;D) 크레딧을 보유하면 자동으로 정액제로 전환된다&lt;/p&gt;
&lt;hr data-end=&quot;1082&quot; data-start=&quot;1079&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h3 data-end=&quot;1102&quot; data-start=&quot;1084&quot; data-ke-size=&quot;size23&quot;&gt;7. 가입 축하 크레딧&lt;/h3&gt;
&lt;p data-end=&quot;1229&quot; data-start=&quot;1103&quot; data-ke-size=&quot;size16&quot;&gt;NHN Cloud 크레딧 중 가입 축하 크레딧에 대한 설명으로 맞는 것은 무엇인가요?&lt;br /&gt;A) 유효기간 연장이 가능하다&lt;br /&gt;B) 타인에게 양도 가능하다&lt;br /&gt;C) 유효기간 내에만 사용 가능하다&lt;br /&gt;D) 현금으로 환불 가능하다&lt;/p&gt;</description>
      <category>Cloud/NHN Cloud</category>
      <author>나르는나른</author>
      <guid isPermaLink="true">https://byeongg96.tistory.com/135</guid>
      <comments>https://byeongg96.tistory.com/135#entry135comment</comments>
      <pubDate>Tue, 16 Sep 2025 11:34:47 +0900</pubDate>
    </item>
    <item>
      <title>NHN Cloud Essentials(CES) 자격 시험 키워드맵(feat.ChatGPT)</title>
      <link>https://byeongg96.tistory.com/134</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;293&quot; data-origin-height=&quot;352&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bdq165/btsQAFMnoSb/EDYw7us7sehf8aZ8c9KHm0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bdq165/btsQAFMnoSb/EDYw7us7sehf8aZ8c9KHm0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bdq165/btsQAFMnoSb/EDYw7us7sehf8aZ8c9KHm0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbdq165%2FbtsQAFMnoSb%2FEDYw7us7sehf8aZ8c9KHm0%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;293&quot; height=&quot;352&quot; data-origin-width=&quot;293&quot; data-origin-height=&quot;352&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h1 data-end=&quot;114&quot; data-start=&quot;93&quot;&gt;&amp;nbsp;&lt;/h1&gt;
&lt;h1 data-end=&quot;114&quot; data-start=&quot;93&quot;&gt;  60문항 예상 출제 키워드 맵&lt;/h1&gt;
&lt;h2 data-end=&quot;145&quot; data-start=&quot;116&quot; data-ke-size=&quot;size26&quot;&gt;1. 클라우드 개념 및 보안 (9문항, 15%)&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;413&quot; data-start=&quot;146&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;188&quot; data-start=&quot;146&quot;&gt;클라우드 서비스 모델: IaaS / PaaS / SaaS / DaaS&lt;/li&gt;
&lt;li data-end=&quot;225&quot; data-start=&quot;189&quot;&gt;배포 유형: Public / Private / Hybrid&lt;/li&gt;
&lt;li data-end=&quot;251&quot; data-start=&quot;226&quot;&gt;책임공유모델 (CSP vs 고객 책임)&lt;/li&gt;
&lt;li data-end=&quot;281&quot; data-start=&quot;252&quot;&gt;보안그룹 vs 네트워크 ACL 적용 순서/특징&lt;/li&gt;
&lt;li data-end=&quot;296&quot; data-start=&quot;282&quot;&gt;리전/가용영역 개념&lt;/li&gt;
&lt;li data-end=&quot;323&quot; data-start=&quot;297&quot;&gt;CloudTrail (이벤트 로그 추적)&lt;/li&gt;
&lt;li data-end=&quot;358&quot; data-start=&quot;324&quot;&gt;Resource Watcher (자원 변경 탐지/알림)&lt;/li&gt;
&lt;li data-end=&quot;374&quot; data-start=&quot;359&quot;&gt;거버넌스 IP ACL&lt;/li&gt;
&lt;li data-end=&quot;413&quot; data-start=&quot;375&quot;&gt;보안 서비스: WAF, Network Firewall, SKM&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;418&quot; data-start=&quot;415&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;454&quot; data-start=&quot;420&quot; data-ke-size=&quot;size26&quot;&gt;2. NHN Cloud 서비스 특징 (20문항, 34%)&lt;/h2&gt;
&lt;h3 data-end=&quot;462&quot; data-start=&quot;455&quot; data-ke-size=&quot;size23&quot;&gt;컴퓨팅&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;544&quot; data-start=&quot;463&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;484&quot; data-start=&quot;463&quot;&gt;인스턴스 종류 (일반, GPU)&lt;/li&gt;
&lt;li data-end=&quot;499&quot; data-start=&quot;485&quot;&gt;이미지/스냅샷 관리&lt;/li&gt;
&lt;li data-end=&quot;521&quot; data-start=&quot;500&quot;&gt;키페어 &amp;amp; 접속 비밀번호 복호화&lt;/li&gt;
&lt;li data-end=&quot;544&quot; data-start=&quot;522&quot;&gt;Auto Scaling 지원 여부&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;554&quot; data-start=&quot;546&quot; data-ke-size=&quot;size23&quot;&gt;스토리지&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;655&quot; data-start=&quot;555&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;591&quot; data-start=&quot;555&quot;&gt;Block Storage (볼륨 생성/부착/스냅샷/암호화)&lt;/li&gt;
&lt;li data-end=&quot;632&quot; data-start=&quot;592&quot;&gt;Object Storage (컨테이너 ACL, S3 호환 API)&lt;/li&gt;
&lt;li data-end=&quot;655&quot; data-start=&quot;633&quot;&gt;NAS(Private IP 기반)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;665&quot; data-start=&quot;657&quot; data-ke-size=&quot;size23&quot;&gt;네트워크&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;860&quot; data-start=&quot;666&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;680&quot; data-start=&quot;666&quot;&gt;VPC/서브넷 구조&lt;/li&gt;
&lt;li data-end=&quot;706&quot; data-start=&quot;681&quot;&gt;인터넷 게이트웨이 / NAT 게이트웨이&lt;/li&gt;
&lt;li data-end=&quot;724&quot; data-start=&quot;707&quot;&gt;로드밸런서 (L4/L7)&lt;/li&gt;
&lt;li data-end=&quot;748&quot; data-start=&quot;725&quot;&gt;보안 그룹 규칙 / 네트워크 ACL&lt;/li&gt;
&lt;li data-end=&quot;781&quot; data-start=&quot;749&quot;&gt;VPN 게이트웨이 (최대 연결 수, CIDR 제약)&lt;/li&gt;
&lt;li data-end=&quot;814&quot; data-start=&quot;782&quot;&gt;Direct Connect / VPC Peering&lt;/li&gt;
&lt;li data-end=&quot;837&quot; data-start=&quot;815&quot;&gt;서비스 게이트웨이 (내부망 접근)&lt;/li&gt;
&lt;li data-end=&quot;860&quot; data-start=&quot;838&quot;&gt;DNS Plus / GSLB 차이&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;875&quot; data-start=&quot;862&quot; data-ke-size=&quot;size23&quot;&gt;데이터베이스/캐시&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;947&quot; data-start=&quot;876&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;906&quot; data-start=&quot;876&quot;&gt;RDS (백업/복구, 파라미터 그룹, 고가용성)&lt;/li&gt;
&lt;li data-end=&quot;947&quot; data-start=&quot;907&quot;&gt;EasyCache (Redis/Valkey, 인증/백업/모니터링)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-end=&quot;958&quot; data-start=&quot;949&quot; data-ke-size=&quot;size23&quot;&gt;운영/관리&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1048&quot; data-start=&quot;959&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;997&quot; data-start=&quot;959&quot;&gt;Cloud Monitoring (1분 단위 수집, 보존 기간)&lt;/li&gt;
&lt;li data-end=&quot;1022&quot; data-start=&quot;998&quot;&gt;API Gateway (도메인 연계)&lt;/li&gt;
&lt;li data-end=&quot;1048&quot; data-start=&quot;1023&quot;&gt;Terraform Provider 지원&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1053&quot; data-start=&quot;1050&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1088&quot; data-start=&quot;1055&quot; data-ke-size=&quot;size26&quot;&gt;3. NHN Cloud 기술 활용 (24문항, 40%)&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1498&quot; data-start=&quot;1089&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1106&quot; data-start=&quot;1089&quot;&gt;인스턴스 생성/관리 절차&lt;/li&gt;
&lt;li data-end=&quot;1127&quot; data-start=&quot;1107&quot;&gt;블록 스토리지 확장 및 마운트&lt;/li&gt;
&lt;li data-end=&quot;1146&quot; data-start=&quot;1128&quot;&gt;로드밸런서와 인스턴스 연결&lt;/li&gt;
&lt;li data-end=&quot;1167&quot; data-start=&quot;1147&quot;&gt;DB 연결 &amp;amp; 보안 그룹 설정&lt;/li&gt;
&lt;li data-end=&quot;1206&quot; data-start=&quot;1168&quot;&gt;Object Storage와 외부 툴(Cyberduck) 연동&lt;/li&gt;
&lt;li data-end=&quot;1237&quot; data-start=&quot;1207&quot;&gt;NAT 게이트웨이를 통한 아웃바운드 인터넷 접근&lt;/li&gt;
&lt;li data-end=&quot;1266&quot; data-start=&quot;1238&quot;&gt;VPN 게이트웨이 설정과 라우팅 테이블 구성&lt;/li&gt;
&lt;li data-end=&quot;1291&quot; data-start=&quot;1267&quot;&gt;VPC 피어링 시 CIDR 중복 불가&lt;/li&gt;
&lt;li data-end=&quot;1316&quot; data-start=&quot;1292&quot;&gt;DNS Plus로 도메인 레코드 관리&lt;/li&gt;
&lt;li data-end=&quot;1345&quot; data-start=&quot;1317&quot;&gt;GSLB로 Failover/Geo 기반 분산&lt;/li&gt;
&lt;li data-end=&quot;1371&quot; data-start=&quot;1346&quot;&gt;IAM(조직/프로젝트/역할/정책 관리)&lt;/li&gt;
&lt;li data-end=&quot;1398&quot; data-start=&quot;1372&quot;&gt;Resource Watcher 알림 활용&lt;/li&gt;
&lt;li data-end=&quot;1425&quot; data-start=&quot;1399&quot;&gt;장애 대응: LB 헬스체크 실패 시 동작&lt;/li&gt;
&lt;li data-end=&quot;1454&quot; data-start=&quot;1426&quot;&gt;모니터링 알림 채널 (SMS/Email 등)&lt;/li&gt;
&lt;li data-end=&quot;1474&quot; data-start=&quot;1455&quot;&gt;API 인증 토큰 발급 절차&lt;/li&gt;
&lt;li data-end=&quot;1498&quot; data-start=&quot;1475&quot;&gt;Terraform으로 인프라 자동화&lt;/li&gt;
&lt;/ul&gt;
&lt;hr data-end=&quot;1503&quot; data-start=&quot;1500&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;h2 data-end=&quot;1529&quot; data-start=&quot;1505&quot; data-ke-size=&quot;size26&quot;&gt;4. 결제 및 요금 (7문항, 11%)&lt;/h2&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-end=&quot;1727&quot; data-start=&quot;1530&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;1546&quot; data-start=&quot;1530&quot;&gt;요금제: 종량제/정액제&lt;/li&gt;
&lt;li data-end=&quot;1572&quot; data-start=&quot;1547&quot;&gt;결제 방식: 선결제/후결제, 카드/계좌&lt;/li&gt;
&lt;li data-end=&quot;1604&quot; data-start=&quot;1573&quot;&gt;크레딧 특징: 1원=1크레딧, 선차감, 환불 불가&lt;/li&gt;
&lt;li data-end=&quot;1631&quot; data-start=&quot;1605&quot;&gt;가입 축하 크레딧(유효기간, 연장 불가)&lt;/li&gt;
&lt;li data-end=&quot;1663&quot; data-start=&quot;1632&quot;&gt;리소스 할당 한도 (인스턴스, LB, ACL 등)&lt;/li&gt;
&lt;li data-end=&quot;1683&quot; data-start=&quot;1664&quot;&gt;프로젝트 삭제 시 과금 처리&lt;/li&gt;
&lt;li data-end=&quot;1727&quot; data-start=&quot;1684&quot;&gt;비용 절감 방법: 리소스 최적화 (Auto Scaling, LB 활용)&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>Cloud/NHN Cloud</category>
      <author>나르는나른</author>
      <guid isPermaLink="true">https://byeongg96.tistory.com/134</guid>
      <comments>https://byeongg96.tistory.com/134#entry134comment</comments>
      <pubDate>Tue, 16 Sep 2025 11:29:19 +0900</pubDate>
    </item>
    <item>
      <title>31~40</title>
      <link>https://byeongg96.tistory.com/132</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Gemini_Generated_Image_kuuprakuuprakuup.png&quot; data-origin-width=&quot;2048&quot; data-origin-height=&quot;2048&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vuj6F/btsPEppzj1D/jg0JikLz58DIfKRRxnrlp1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vuj6F/btsPEppzj1D/jg0JikLz58DIfKRRxnrlp1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vuj6F/btsPEppzj1D/jg0JikLz58DIfKRRxnrlp1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fvuj6F%2FbtsPEppzj1D%2Fjg0JikLz58DIfKRRxnrlp1%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;400&quot; height=&quot;400&quot; data-filename=&quot;Gemini_Generated_Image_kuuprakuuprakuup.png&quot; data-origin-width=&quot;2048&quot; data-origin-height=&quot;2048&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #505050; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;31. What components are common in a service mesh?&lt;/b&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #505050; text-align: left;&quot;&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span data-choice-letter=&quot;A&quot;&gt;A.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;tracing and log storage&lt;/li&gt;
&lt;li&gt;&lt;span data-choice-letter=&quot;B&quot;&gt;B.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;circuit breaking and Pod scheduling&lt;/li&gt;
&lt;li&gt;&lt;span data-choice-letter=&quot;C&quot;&gt;C.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;data plane and runtime plane&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;D.&amp;nbsp;service proxy and control plane&lt;/span&gt;&lt;/li&gt;
&lt;/ul&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;What components are common : 일반적인(일반적으로 사용되는or흔히 사용되는) 구성요소들은 무엇인가?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;in a service mesh: 서비스 메시에서&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&quot;서비스 메시에서 일반적인(일반적으로 사용되는or흔히 사용되는) 구성 요소들은 무엇인가?&quot;&lt;/b&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ 서비스 메시(Service Mesh)란?: 여러 개의 작은 서비스(마이크로서비스)들이 서로 효율적이고 안전하게 통신할 수 있또록 돕는 구조이다. 쉽게 말하면, 수많은 작은 서비스들이 서로 주고받는 네트워크 통신을 관리하고, 보안, 로깅, 관찰 등을 도와주는 역할을 수행하는 것이다.&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;span style=&quot;color: #ee2323;&quot;&gt; A. tracing and log storage (추적 및 로그 저장소)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ tracing: 요청이 여러 서비스를 거치며 이동한 경로를 기록한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ log storage: 시스템이 기록한 로그 데이터를 저장하는 저장소&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;span style=&quot;color: #ee2323;&quot;&gt; B. circuit breaking and Pod scheduling (서킷 브레이킹 및 Pod 스케줄링)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ circuit breaking: 문제가 발생한 서비스로의 요청을 차단해주는 기술&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ Pod scheduling: 쿠버네티스에서 Pod가 어떤 노드에서 실행될지 정하는 기능&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;span style=&quot;color: #ee2323;&quot;&gt; C. data plane and runtime plane (데이터 플레인 및 런타임 플레인)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ data plane: 서비스 간의 실제 트래픽을 전달하고 처리한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ runtime plane: 이 용어는 일반적으로 서비스 메시에서 사용되지 않는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;span style=&quot;color: #006dd7;&quot;&gt; D. service proxy and control plane (서비스 프록시 및 컨트롤 플레인)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ service proxy: 각 서비스 옆에서 실제 통신을 관리하고 조정하는 작은 소프트웨어&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ control plane: 서비스 프록시들의 동작과 설정을 중앙에서 관리하고 명령을 내리는 관리 시스템&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;service proxy와 control plane에 대해 더 자세히 알아보자.&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;※ Service Proxy란?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;서비스 프록시는 마이크로서비스(혹은 Pod, 컨테이너) 앞에 위치해서, 해당 서비스로 들어오거나 나가는 트래픽을 대신 처리해주는 네트워크 컴포넌트이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;■ 주요 역할&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 트래픽 관리: 요청의 라우팅, 분산, 재시도, 타임아웃, 장애 전파 차단(써킷 브레이커) 등&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 보안: mTLS(서비스 간 암호화), 인증/인가, 접근 제어&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 관측: 트래픽 로그, 모니터링, 분산 추적(Tracing), 메트릭 수집&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 정책 적용: Rate limiting, 필터링, 접근 정책 등&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;■ 동작 구조&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Sidecar Proxy: 각 서비스(혹은 Pod)마다 하나씩 붙어서 서비스의 네트워크 트래픽을 모두 통제함&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;즉, Service Proxy는 서비스 앞에 붙어서 트래픽을 대신 받아 처리해주는 대리인이라고 보면 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;※ Control Plane란?&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;컨트롤 플레인은 네트워크 정책, 트래픽 라우팅 등 전체 서비스 메시에 대한 중앙 관리/제어 및 설정을 담당하는 컴포넌트이다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;■ 주요 역할&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;1. 정책 및 구성 관리: 전체 프록시(데이터 플레인)에 정책/설정 전달&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;2. 상태 수집: 서비스 헬스체크, 메트릭 수집 및 가시화&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;3. 서비스 디스커버리: 전체 네트워크의 서비스 위치 관리&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;4. 보안 정책 중앙 관리: 인증서 관리, mTLS 구성, 접근 정책 관리&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;5. 트래픽 제어: 롤아웃, 카나리 배포, 트래픽 분할 등&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;■ 동작 구조&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;중앙 집중형: 대부분의 Service Mesh 솔루션은 하나 이상의 Control Plane을 두고, 각 서비스 프록시(데이터 플레인)와 통신하며 명령을 내린다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;즉, Control Plane은 전체 서비스 네트워크를 중앙에서 제어/관리하는 두뇌 역할을 한다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;※ Service Proxy와 Contorl Plane의 관계&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;1. Service Proxy는 실제로 트래픽을 처리하는 Data Plane 역할을 한다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;2. Control Plane은 여러 Proxy를 중앙에서 관리/제어/설정하는 역할을 한다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;3. Control Plane이 정책을 Proxy들에게 전달하면, Proxy는 실시간으로 해당 정책을 반영해서 트래픽을 처리한다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;=====================================================&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #505050; text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;32. Which storage operator in Kubernetes can help the system to self-scale, self-heal, etc?&lt;/b&gt;&lt;/p&gt;
&lt;div style=&quot;background-color: #ffffff; color: #505050; text-align: left;&quot;&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;A.&amp;nbsp;Rook&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span data-choice-letter=&quot;B&quot;&gt;B.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;Kubernetes&lt;/li&gt;
&lt;li&gt;&lt;span data-choice-letter=&quot;C&quot;&gt;C.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;Helm&lt;/li&gt;
&lt;li&gt;&lt;span data-choice-letter=&quot;D&quot;&gt;D.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;Container Storage Interface (CSI)&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;Which storage operator in Kubernetes: 쿠버네티스에서 어떤 스토리지 오퍼레이터가&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;can help the system: 시스템이 ~할 수 있게 도와주는가?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;to self-scale, self-heal, etc: 스스로 확장하고, 스스로 복구하는 등의 기능을&lt;/p&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[풀이]&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ Storage operator란?: 쿠버네티스 환경에서 스토리지 리소스를 자동으로 관리해주는 소프트웨어 컴포넌트이다. Operator 패턴을 사용해서 사용자가 원하는 스토리지 상태를 선언하면, Operator가 이를 감시하고 자동으로 생성/설정/복구/확장/삭제 등 일련의 작업을 자동화해준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ 쿠버네티스는 기본 기능만으로도 스토리지 연결은 가능하지만, 스토리지 배포와 운영이 복잡하고 고가용성(HA) 및 백업/복구, 확장과 같은 고급 기능은 수동으로 처리해야한다. 이런 문제를 자동화하고 운영 부담을 줄이기 위해 Storage Operator가 등장했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt; A. Rook&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ Rook은 쿠버네티스의 대표적인 Storage operator이다. 쿠버네티스 클러스터 내부에서 스토리지를 자동으로 관리하고, 스스로 규모를 확장하거나 장애가 발생했을 때 자동 복구(self-healing)하는 기능을 제공한다.&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;span style=&quot;color: #ee2323;&quot;&gt; B. Kubernetes&lt;/span&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt; C. Helm&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ Helm은 쿠버네티스 애플리케이션을 쉽게 배포하고 관리할 수 있도록 도와주는 패키지 매니저이다.&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;span style=&quot;color: #ee2323;&quot;&gt; D. Container Storage Interface (CSI)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ CSI는 쿠버네티스와 다양한 스토리지 시스템 간의 표준화된 인터페이스(연결 방식)이다. 스토리지의 연결 및 마운트를 표준화하는 역할이며, 스토리지 자체의 관리, 확장, 복구 등을 수행하는 오퍼레이터는 아니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>자격증/KCNA</category>
      <author>나르는나른</author>
      <guid isPermaLink="true">https://byeongg96.tistory.com/132</guid>
      <comments>https://byeongg96.tistory.com/132#entry132comment</comments>
      <pubDate>Sat, 2 Aug 2025 21:20:32 +0900</pubDate>
    </item>
    <item>
      <title>1~10</title>
      <link>https://byeongg96.tistory.com/131</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[문제1]&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-----------------------------------------------------------------&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;386&quot; data-origin-height=&quot;317&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bbAyer/btsPAX7a6mc/drZ8cnjezaUP9Shy1muDRk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bbAyer/btsPAX7a6mc/drZ8cnjezaUP9Shy1muDRk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bbAyer/btsPAX7a6mc/drZ8cnjezaUP9Shy1muDRk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbbAyer%2FbtsPAX7a6mc%2FdrZ8cnjezaUP9Shy1muDRk%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;386&quot; height=&quot;317&quot; data-origin-width=&quot;386&quot; data-origin-height=&quot;317&quot;/&gt;&lt;/span&gt;&lt;/figure&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;호스트네임, IP주소, 게이트웨이와 DNS를 설정하라는 문제이다.&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;1. 호스트네임 설정하기&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;sudo&amp;nbsp;vi&amp;nbsp;/etc/hostname&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 명령어로 파일에 접근 후 키보드 'i' 를 눌러 입력모드로 전환한다. &lt;br /&gt;주어진&amp;nbsp;호스트네임&amp;nbsp;입력&amp;nbsp;후&amp;nbsp;':wq'로&amp;nbsp;저장하고&amp;nbsp;빠져나온다. &lt;br /&gt;&lt;br /&gt;2. IP 주소 및 게이트웨이, DNS 설정&lt;br /&gt;&lt;br /&gt;아래&amp;nbsp;명령어로&amp;nbsp;네트워크&amp;nbsp;인터페이스&amp;nbsp;이름부터&amp;nbsp;확인한다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;nmcli&amp;nbsp;dev&amp;nbsp;status&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ nmcli: NetworkManager Command Line Interface의 약자이며, 리눅스에서 네트워크 설정을 CLI로 제어하는 도구이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ dev: device의 약자이며, 네트워크 장치를 대상으로 명령어를 실행한다는 뜻&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ status: 네트워크 장치들의 상태를 확인&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인터페이스 이름의 형태는 보통 eth 또는 ens로 시작하는 형태이다. &lt;br /&gt;필자의 vm은 ens160이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;422&quot; data-origin-height=&quot;64&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bpbS2I/btsPBocpKzk/bWCUHYimKe0GZ2cO2EaLO1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bpbS2I/btsPBocpKzk/bWCUHYimKe0GZ2cO2EaLO1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bpbS2I/btsPBocpKzk/bWCUHYimKe0GZ2cO2EaLO1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbpbS2I%2FbtsPBocpKzk%2FbWCUHYimKe0GZ2cO2EaLO1%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;422&quot; height=&quot;64&quot; data-origin-width=&quot;422&quot; data-origin-height=&quot;64&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;아래 명령어로 IP 주소와 게이트웨이 주소를 수동으로 설정해준다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;sudo&amp;nbsp;nmcli&amp;nbsp;con&amp;nbsp;mod&amp;nbsp;ens160&amp;nbsp;ipv4.addresses&amp;nbsp;172.24.40.40/24&lt;br /&gt;sudo&amp;nbsp;nmcli&amp;nbsp;con&amp;nbsp;mod&amp;nbsp;ens160&amp;nbsp;ipv4.gateway&amp;nbsp;172.24.40.1&lt;br /&gt;sudo nmcli con mod ens160 ipv4.dns 172.24.40.1&lt;br /&gt;sudo&amp;nbsp;nmcli&amp;nbsp;con&amp;nbsp;mod&amp;nbsp;ens160&amp;nbsp;ipv4.method&amp;nbsp;manual&lt;br /&gt;sudo nmcli con up ens160&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ con: connection의 약자이며, 네트워크 연결을 설정하겠다는 뜻&lt;br /&gt;※ mod: modify의 약자이며, 수정하겠다는 뜻&lt;br /&gt;※&amp;nbsp;up:&amp;nbsp;앞서&amp;nbsp;설정한&amp;nbsp;네트워크&amp;nbsp;연결을&amp;nbsp;활성화&amp;nbsp;하겠다는&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;'hostnamectl' 명령어로 호스트네임이 수정되었는지 확인한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;443&quot; data-origin-height=&quot;240&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bg6i3A/btsPBJm6bpF/tGophoG7bqrzKHOxuKBktk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bg6i3A/btsPBJm6bpF/tGophoG7bqrzKHOxuKBktk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bg6i3A/btsPBJm6bpF/tGophoG7bqrzKHOxuKBktk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbg6i3A%2FbtsPBJm6bpF%2FtGophoG7bqrzKHOxuKBktk%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;443&quot; height=&quot;240&quot; data-origin-width=&quot;443&quot; data-origin-height=&quot;240&quot;/&gt;&lt;/span&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;'ip addr' 명령어로 IP 주소가 수정되었는지 확인한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;763&quot; data-origin-height=&quot;224&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bVq5eP/btsPB1gMS0Z/p4i7kMpMhVEqjukG3y7rP0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bVq5eP/btsPB1gMS0Z/p4i7kMpMhVEqjukG3y7rP0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bVq5eP/btsPB1gMS0Z/p4i7kMpMhVEqjukG3y7rP0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbVq5eP%2FbtsPB1gMS0Z%2Fp4i7kMpMhVEqjukG3y7rP0%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;763&quot; height=&quot;224&quot; data-origin-width=&quot;763&quot; data-origin-height=&quot;224&quot;/&gt;&lt;/span&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;'/etc/resolv.conf' 파일의 내용을 확인하여 nameserver(DNS)가 설정되었는지 확인한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;390&quot; data-origin-height=&quot;63&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lNfhQ/btsPAX7b091/ccBy1yxq7KPO8uOoYFwjE1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lNfhQ/btsPAX7b091/ccBy1yxq7KPO8uOoYFwjE1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lNfhQ/btsPAX7b091/ccBy1yxq7KPO8uOoYFwjE1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlNfhQ%2FbtsPAX7b091%2FccBy1yxq7KPO8uOoYFwjE1%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;390&quot; height=&quot;63&quot; data-origin-width=&quot;390&quot; data-origin-height=&quot;63&quot;/&gt;&lt;/span&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;&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;&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;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[문제2]&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;-----------------------------------------------------------------&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;657&quot; data-origin-height=&quot;112&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YUgdv/btsPBGKH5RI/1aVKQRLXvbmr69B5fktUW0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YUgdv/btsPBGKH5RI/1aVKQRLXvbmr69B5fktUW0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YUgdv/btsPBGKH5RI/1aVKQRLXvbmr69B5fktUW0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYUgdv%2FbtsPBGKH5RI%2F1aVKQRLXvbmr69B5fktUW0%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;657&quot; height=&quot;112&quot; data-origin-width=&quot;657&quot; data-origin-height=&quot;112&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;-----------------------------------------------------------------&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;harry, natasha, tom이라는 유저를 추가하고, 그 중 harry, natasha는 admin그룹을 추가 그룹으로 설정하라고 한다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;그리고 tom의 login shell을 non-interactive로 설정하라고 한다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;※ 추가그룹: 사용자가 필요에 따라 추가적으로 소속될 수 있는 그룹&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;※ non-interactive: 비 대화형을 의미한다. 즉, SSH나 콘솔 등에서 직접 로그인이 불가능한 형태(스크립트에서 간접적으로는 가능)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;1. 일단 admin 이라는 그룹이 존재하는지부터 확인&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;cat /etc/group | grep 'admin'&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 명령어를 수행해서 admin 그룹이 존재하는지 확인한다.&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;없다면 아래 명령어로 admin 그룹 생성&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;groupadd admin&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 사용자 추가 및 그룹 지정&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 51px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 51px;&quot;&gt;
&lt;td style=&quot;width: 100%; height: 51px;&quot;&gt;sudo useradd -G admin harry&lt;br /&gt;sudo useradd -G admin natasha&lt;br /&gt;sudo useradd -s /sbin/nologin tom&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ useradd: 새 사용자를 생성하는 명령어&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ -G: 추가 그룹을 지정하는 옵션&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ -s: (--shell) 로그인 셸을 지정하는 옵션&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ /sbin/nologin: login shell을 non-interactive로 설정하라는것은 대화형(콘솔, SSH 등)으로 직접 로그인하지 못하도록 설정하라는 것 이기 때문에, nologin shell을 login shell로 지정하는것이다.&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아래 명령어를 사용하여 추가 그룹과 login shell이 설정되었는지 확인한다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;id harry&lt;br /&gt;id natasha&lt;br /&gt;grep tom /etc/passwd&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;549&quot; data-origin-height=&quot;96&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/TeU9t/btsPA0v9VZ7/CVNisFb6i4F6APefmHxT30/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/TeU9t/btsPA0v9VZ7/CVNisFb6i4F6APefmHxT30/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/TeU9t/btsPA0v9VZ7/CVNisFb6i4F6APefmHxT30/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTeU9t%2FbtsPA0v9VZ7%2FCVNisFb6i4F6APefmHxT30%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;549&quot; height=&quot;96&quot; data-origin-width=&quot;549&quot; data-origin-height=&quot;96&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[문제3]&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;-----------------------------------------------------------------&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;663&quot; data-origin-height=&quot;114&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bLF3oK/btsPB119sWa/T9qfRjKwkr3SfnuILk1TYk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bLF3oK/btsPB119sWa/T9qfRjKwkr3SfnuILk1TYk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bLF3oK/btsPB119sWa/T9qfRjKwkr3SfnuILk1TYk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbLF3oK%2FbtsPB119sWa%2FT9qfRjKwkr3SfnuILk1TYk%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;663&quot; height=&quot;114&quot; data-origin-width=&quot;663&quot; data-origin-height=&quot;114&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;-----------------------------------------------------------------&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;1. /home 디렉터리 아래에 admins라는 이름의 디렉터리를 생성하고, 해당 디렉터리의 소유 그룹은 admin 그룹이어야 함&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;2. admin 그룹에 속한 사용자들은 이 디렉터리에 대해 읽기, 쓰기가 가능해야하며, &lt;span style=&quot;letter-spacing: 0px;&quot;&gt;admin 그룹이 아닌 다른 사용자들은 이 디렉터리에 접근할 수 없어야 함&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;3. admin 그룹의 사용자가 이 디렉터리 안에서 새로 만드는 파일들은, 자동으로 소유 그룹이 admin 그룹으로 설정되어야 함&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;일단 admin 이라는 그룹이 존재하는지부터 확인&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;cat /etc/group | grep 'admin'&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 명령어를 수행해서 admin 그룹이 존재하는지 확인한다.&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;없다면 아래 명령어로 admin 그룹 생성&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 17px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 100%; height: 17px;&quot;&gt;groupadd admin&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;1. 디렉터리 생성 및 그룹 지정&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;아래 명령어로 /home 디렉터리에 admins라는 이름의 디렉터리를 생성한다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;mkdir /home/admins&lt;br /&gt;&lt;br /&gt;※ mkdir: (make directory) 디렉터리를 생성하는 명령어&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;'ls /home' 명령어로 /home 디렉터리 내에 admins 디렉터리가 생긴것을 확인할 수 있음&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;308&quot; data-origin-height=&quot;30&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dB0CNx/btsPAw3nkQX/e6d0o9FVtJlJ02IOBeJwhK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dB0CNx/btsPAw3nkQX/e6d0o9FVtJlJ02IOBeJwhK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dB0CNx/btsPAw3nkQX/e6d0o9FVtJlJ02IOBeJwhK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdB0CNx%2FbtsPAw3nkQX%2Fe6d0o9FVtJlJ02IOBeJwhK%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;308&quot; height=&quot;30&quot; data-origin-width=&quot;308&quot; data-origin-height=&quot;30&quot;/&gt;&lt;/span&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;아래 명령어로 /home/admins 디렉터리의 소유자를 변경한다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;chown :admin /home/admins&lt;br /&gt;&lt;br /&gt;※ 사용자는 그대로 두고 소유 그룹을 admin으로 지정한다.&lt;br /&gt;※ chown &amp;lt;사용자&amp;gt;:&amp;lt;그룹&amp;gt; &amp;lt;경로&amp;gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 디렉터리 권한 설정&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;chmod 2770 /home/admins&lt;br /&gt;&lt;br /&gt;※ chmod: 파일 또는 디렉터리의 권한을 변경하는 명령어&lt;br /&gt;※ 2: (setgid) 하위 파일들이 상속하여 디렉터리의 그룹을 따르게 함&lt;br /&gt;※ 770: 소유자와 그룹에게 rwx 권한을 모두 부여하며, 다른 사용자(other)에게는 아무런 권한도 부여하지 않음&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;모든 설정을 마쳤으면 아래 명령어로 확인한다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;ls -ld /home/admins&lt;br /&gt;&lt;br /&gt;※ ls: 리스트를 보여주는 명령어&lt;br /&gt;※ -l: 상세(long) 형식으로 출력하는 옵션&lt;br /&gt;※ -d: 디렉터리 정보를 출력&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;418&quot; data-origin-height=&quot;34&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b7rUua/btsPBeVoEHw/Gz7rGxxCk7DLfSlS17hvoK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b7rUua/btsPBeVoEHw/Gz7rGxxCk7DLfSlS17hvoK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b7rUua/btsPBeVoEHw/Gz7rGxxCk7DLfSlS17hvoK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb7rUua%2FbtsPBeVoEHw%2FGz7rGxxCk7DLfSlS17hvoK%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;418&quot; height=&quot;34&quot; data-origin-width=&quot;418&quot; data-origin-height=&quot;34&quot;/&gt;&lt;/span&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;&quot;drwxrws---&quot; 에서 맨 앞 'd'는 디렉터리라는 의미이고, 소유자권한 &quot;rwx&quot;, 그룹권한 &quot;rws&quot;를 의미한다. 그리고 '---'는 다른 사용자(other)의 권한인데 아무것도 없다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그룹권한 &quot;rws&quot; 에서 's'는 setgid를 의미한다. &quot;rwx+s&quot; 인거나 마찬가지이다. 하지만 만약에 실행(x)권한이 없다면 's'가 아닌 'S'로 출력된다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[문제4]&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;-----------------------------------------------------------------&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;452&quot; data-origin-height=&quot;67&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/4GnlV/btsPAzsk4El/Jk1zxPBIrS2G61OQsXpkIk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/4GnlV/btsPAzsk4El/Jk1zxPBIrS2G61OQsXpkIk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/4GnlV/btsPAzsk4El/Jk1zxPBIrS2G61OQsXpkIk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4GnlV%2FbtsPAzsk4El%2FJk1zxPBIrS2G61OQsXpkIk%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;452&quot; height=&quot;67&quot; data-origin-width=&quot;452&quot; data-origin-height=&quot;67&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;-----------------------------------------------------------------&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;매일 14:23에 'echo hello' 명령어가 실행되도록 작업을 구성하라고 한다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;즉, crontab을 활용한 스케줄링을 하라는것이다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;crontab을 활용해서 특정 명령어를 실행시키려면 해당 명령어 실행 파일 경로를 알아야한다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;아래 명령어로 'echo' 명령어 실행 파일 경로를 확인한다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;which echo&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;241&quot; data-origin-height=&quot;26&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/HYdvB/btsPCnRsJnJ/KEIGOAkCxKNgqWAyGfxKL0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/HYdvB/btsPCnRsJnJ/KEIGOAkCxKNgqWAyGfxKL0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/HYdvB/btsPCnRsJnJ/KEIGOAkCxKNgqWAyGfxKL0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FHYdvB%2FbtsPCnRsJnJ%2FKEIGOAkCxKNgqWAyGfxKL0%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;241&quot; height=&quot;26&quot; data-origin-width=&quot;241&quot; data-origin-height=&quot;26&quot;/&gt;&lt;/span&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;&quot;/usr/bin/echo&quot;가 echo명령어 실행 파일 경로이다.&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;아래 명령어로 cron 작업을 편집한다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;crontab -e&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;23 14 * * * /usr/bin/echo hello&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;※ &amp;lt;분&amp;gt; &amp;lt;시&amp;gt; &amp;lt;일&amp;gt; &amp;lt;월&amp;gt; &amp;lt;요&amp;gt; &amp;lt;수행할 작업&amp;gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 아래 명령어로 cron 작업이 정상적으로 등록되었는지 확인한다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;crontab -l&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;251&quot; data-origin-height=&quot;32&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bKYYuu/btsPzWO7ZZg/C5QTJfyW2FJADkP80p4uJ1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bKYYuu/btsPzWO7ZZg/C5QTJfyW2FJADkP80p4uJ1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bKYYuu/btsPzWO7ZZg/C5QTJfyW2FJADkP80p4uJ1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbKYYuu%2FbtsPzWO7ZZg%2FC5QTJfyW2FJADkP80p4uJ1%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;251&quot; height=&quot;32&quot; data-origin-width=&quot;251&quot; data-origin-height=&quot;32&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[문제5]&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;-----------------------------------------------------------------&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;412&quot; data-origin-height=&quot;72&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tUEip/btsPCjBx0KY/tTFlRqVFqWOd8LUbxYf9jk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tUEip/btsPCjBx0KY/tTFlRqVFqWOd8LUbxYf9jk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tUEip/btsPCjBx0KY/tTFlRqVFqWOd8LUbxYf9jk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtUEip%2FbtsPCjBx0KY%2FtTFlRqVFqWOd8LUbxYf9jk%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;412&quot; height=&quot;72&quot; data-origin-width=&quot;412&quot; data-origin-height=&quot;72&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;-----------------------------------------------------------------&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;harry가 소유한 파일을 찾고, /opt/dir 디렉터리에 복사하라고 한다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;먼저 /opt 디렉터리가 존재하는지 확인한다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;865&quot; data-origin-height=&quot;29&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dGBGEp/btsPBLrNhLr/APoykbgfmADilw59cKC2X0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dGBGEp/btsPBLrNhLr/APoykbgfmADilw59cKC2X0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dGBGEp/btsPBLrNhLr/APoykbgfmADilw59cKC2X0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdGBGEp%2FbtsPBLrNhLr%2FAPoykbgfmADilw59cKC2X0%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;865&quot; height=&quot;29&quot; data-origin-width=&quot;865&quot; data-origin-height=&quot;29&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;존재하는것을 확인했다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;아래 명령어로 /opt 디렉터리에 dir 디렉터리를 생성한다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;mkdir /opt/dir&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후, 아래 명령어로 harry라는 유저의 파일을 찾아내고, 동시에 cp명령어를 통해 /opt/dir 디렉터리에 복사한다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;find / -user harry -type f -exec cp -a {} /opt/dir \;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;※ find: 파일 및 디렉터리를 검색하는 명령어&lt;br /&gt;※ / : 루트 디렉터리를 검색 시작점으로 지정&lt;br /&gt;※ -user harry: 소유자가 harry인것만&lt;br /&gt;※ -type f: 타입이 파일(File)인것만&lt;br /&gt;&lt;br /&gt;※ -exec ... \;&lt;br /&gt;: 검색 결과에 해당하는것들에 대해 특정 명령을 실행함&lt;br /&gt;※ cp: 복사 명령어&lt;br /&gt;※ -a: 아카이브 모드(파일 권한, 소유자, 타임스탬프 등까지 모두 보존하여 복사하는 옵션)&lt;br /&gt;※ {}: find 명령어가 찾은 파일들의 경로들이 입시저장되는곳이다. 그리고 cp명령어에서 복사 대상으로 지정되었다.&lt;br /&gt;※ /opt/dir: 파일들이 복사될 디렉터리&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;606&quot; data-origin-height=&quot;142&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cBTKbx/btsPBmsdUy3/n49bntoKY5qu4Wwb2LRA91/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cBTKbx/btsPBmsdUy3/n49bntoKY5qu4Wwb2LRA91/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cBTKbx/btsPBmsdUy3/n49bntoKY5qu4Wwb2LRA91/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcBTKbx%2FbtsPBmsdUy3%2Fn49bntoKY5qu4Wwb2LRA91%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;606&quot; height=&quot;142&quot; data-origin-width=&quot;606&quot; data-origin-height=&quot;142&quot;/&gt;&lt;/span&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;이전 문제 풀이에서 생성했던 사용자 harry의 홈 디렉터리가 /opt/dir 디렉터리에 복사됐다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[문제6]&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;-----------------------------------------------------------------&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;654&quot; data-origin-height=&quot;102&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bF9gRp/btsPFibtOFd/6bfZblzYUF3uJpxmRmaes1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bF9gRp/btsPFibtOFd/6bfZblzYUF3uJpxmRmaes1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bF9gRp/btsPFibtOFd/6bfZblzYUF3uJpxmRmaes1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbF9gRp%2FbtsPFibtOFd%2F6bfZblzYUF3uJpxmRmaes1%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;654&quot; height=&quot;102&quot; data-origin-width=&quot;654&quot; data-origin-height=&quot;102&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&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;파일 /etc/testfile 에서 문자열 abcde 가 포함된 행을 찾고, 이 행들을 /tmp/testfile 파일에 기록하라고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;단, 기록할 때의 행 순서는 원본 파일 /etc/testfile 의 순서와 동일해야한다.&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;이 문제는 grep 명령어를 이용하면 간단하게 해결할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ grep: 텍스트 데이터에서 특정 패턴이나 문자열을 검색하여 일치하는 줄을 출력하는 명령어&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ grep 명령어는 원본 파일에서 검색 결과의 행 순서를 유지하기 때문에 별도의 옵션이 필요없다.&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;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;grep&amp;nbsp;'abcde'&amp;nbsp;/etc/testfile&amp;nbsp;&amp;gt;&amp;nbsp;/tmp/testfile&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;grep 'abcde': 파일에서 문자열이 abcde 인 행을 찾음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;/etc/testfile: 문자열을 찾을 원본 파일&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;gt;: 결과를 파일에 저장하도록 리다이렉션함&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;/tmp/testfile: 결과를 저장할 파일 경로&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[문제7]&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;-----------------------------------------------------------------&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;654&quot; data-origin-height=&quot;102&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bF9gRp/btsPFibtOFd/6bfZblzYUF3uJpxmRmaes1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bF9gRp/btsPFibtOFd/6bfZblzYUF3uJpxmRmaes1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bF9gRp/btsPFibtOFd/6bfZblzYUF3uJpxmRmaes1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbF9gRp%2FbtsPFibtOFd%2F6bfZblzYUF3uJpxmRmaes1%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;654&quot; height=&quot;102&quot; data-origin-width=&quot;654&quot; data-origin-height=&quot;102&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;-----------------------------------------------------------------&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;부팅 시 자동으로 활성화되는 2GB 크기의 swap 파티션을 생성하라고 한다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;단, 기존 swap 파티션에는 영향을 주지 말아야 한다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;먼저 아래 명령어로 디스크 목록을 확인한다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;fdisk -l&lt;br /&gt;&lt;br /&gt;※ 디스크의 파티션을 생성, 삭제, 확인하거나 변경할때 사용하는 명령어&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;569&quot; data-origin-height=&quot;185&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dR559a/btsPC6xaE95/t5rffF2uMweCnmta7gdqDk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dR559a/btsPC6xaE95/t5rffF2uMweCnmta7gdqDk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dR559a/btsPC6xaE95/t5rffF2uMweCnmta7gdqDk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdR559a%2FbtsPC6xaE95%2Ft5rffF2uMweCnmta7gdqDk%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;569&quot; height=&quot;185&quot; data-origin-width=&quot;569&quot; data-origin-height=&quot;185&quot;/&gt;&lt;/span&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;/dev/nvme0n2 라는 디스크가 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 /dev/nvme0n2p1 라는 이름으로 2GB가 이미 swap 파티션으로 사용되고있는것을 확인할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ Id가 82라는것이 swap 파티션이라는 의미이다.&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;자, 이제 /dev/nvme0n2에 또 하나의 swap 파티션을 만들어보자.&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ 시스템 환경마다 일부 과정이 다를 수 있음&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;fdisk /dev/nvme0n2&lt;br /&gt;n&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # 새로운 파티션 생성 &lt;br /&gt;p&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # primary 파티션 &lt;br /&gt;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # 파티션 번호 2 (기존 swap 파티션이 파티션 번호 1이기 때문)&lt;br /&gt;&amp;lt;엔터&amp;gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# 기본값 (파티션 시작)&lt;br /&gt;※ 파티션 시작(First sector) 지점이란?: 각 파티션은 디스크 상의 특정 지점에서부터 시작하여 특정 지점까지의 범위를 가지게되는데, 그 시작지점을 물어보는 단계임. 보통 기본값 사용&lt;br /&gt;+2G&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# 파티션 크기 (2GB) &lt;br /&gt;t&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# 타입 변경&lt;br /&gt;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # 타입을 변경할 파티션 번호 2&lt;br /&gt;82&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # 리눅스 swap 파티션 타입 &lt;br /&gt;w&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# 변경사항 저장&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;562&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/52ioK/btsPC7COGpM/HW1RwHZBNE9hwpsSJpNjM0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/52ioK/btsPC7COGpM/HW1RwHZBNE9hwpsSJpNjM0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/52ioK/btsPC7COGpM/HW1RwHZBNE9hwpsSJpNjM0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F52ioK%2FbtsPC7COGpM%2FHW1RwHZBNE9hwpsSJpNjM0%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;714&quot; height=&quot;562&quot; data-origin-width=&quot;714&quot; data-origin-height=&quot;562&quot;/&gt;&lt;/span&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;그 다음, 아래 mkswap 명령어로 swap 용으로 만든 파티션을 실제로 swap용으로 사용할 수 있게 초기화(세팅)해준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ 지금까지는 단순히 swap용으로 사용할 파티션을 만들었을 뿐, swap 기능을 할 수 있게된것은 아니다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 18px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 18px;&quot;&gt;
&lt;td style=&quot;width: 100%; height: 18px;&quot;&gt;mkswap /dev/nvme0n2p2&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;523&quot; data-origin-height=&quot;54&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/A4Wfu/btsPDYylEfd/NIusQHaAv40P6miIxH94Pk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/A4Wfu/btsPDYylEfd/NIusQHaAv40P6miIxH94Pk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/A4Wfu/btsPDYylEfd/NIusQHaAv40P6miIxH94Pk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FA4Wfu%2FbtsPDYylEfd%2FNIusQHaAv40P6miIxH94Pk%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;523&quot; height=&quot;54&quot; data-origin-width=&quot;523&quot; data-origin-height=&quot;54&quot;/&gt;&lt;/span&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;그 다음, /etc/fstab을 편집하여 파티션을 등록해 시스템 재부팅 시 자동으로 활성화되도록 설정한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ /etc/fstab이란?: fstab은 파일 시스템 테이블(File System Table)의 약자로, Linux와 Unix 계열 운영체제에서 시스템 부팅 시 자동으로 마운트할 파일 시스템의 설정을 담고 있는 구성파일이다.&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;아래 명령어로 /etc/fstab 파일에 편집기로 접근한다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;vi /etc/fstab&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 다음, 아래와 같이 새로 생성한 /dev/nvme0n2p2에 대한 한 행을 추가해주면 된다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;761&quot; data-origin-height=&quot;256&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d3e5QF/btsPDUQewVj/KgcOzCWKnKbhAwVnuFTf0K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d3e5QF/btsPDUQewVj/KgcOzCWKnKbhAwVnuFTf0K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d3e5QF/btsPDUQewVj/KgcOzCWKnKbhAwVnuFTf0K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd3e5QF%2FbtsPDUQewVj%2FKgcOzCWKnKbhAwVnuFTf0K%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;761&quot; height=&quot;256&quot; data-origin-width=&quot;761&quot; data-origin-height=&quot;256&quot;/&gt;&lt;/span&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;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;&amp;lt;장치명 또는 UUID&amp;gt; &amp;lt;마운트 포인트&amp;gt; &amp;lt;파일시스템 타입&amp;gt; &amp;lt;옵션&amp;gt; &amp;lt;dump 옵션&amp;gt; &amp;lt;fsck 옵션&amp;gt;&lt;br /&gt;&lt;br /&gt;※ 장치명 또는 UUID: 마운트할 장치 이름 또는 고유 식별자(UUID)를 작성&lt;br /&gt;※ 마운트 포인트: 장치를 마운트할 디렉터리를 작성&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # swap 파티션은 특별히 마운트 포인트가 필요없다면 none으로 해도 됨&lt;br /&gt;※ 파일 시스템 타입: 파일 시스템의 유형을 작성&lt;br /&gt;※ 옵션: 마운트 옵션&lt;br /&gt;※ dump 옵션: 덤프(dump) 명령어로 백업할 때 포함 여부&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # 0=비활성화, 1=활성화&lt;br /&gt;※ fsck 옵션: 부팅 시 파일시스템 검사 순서 지정&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # 0=검사안함, 1=첫번째검사, 2=두번째검사&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 다음, 아래 명령어로 swap 파티션을 즉시 활성화하여 작동을 확인한다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;swapon /dev/nvme0n2p2&lt;br /&gt;swapon -s&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;777&quot; data-origin-height=&quot;91&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bhMTVv/btsPDV2HbqW/F3JiSy4Hh0V962Y39kXPwK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bhMTVv/btsPDV2HbqW/F3JiSy4Hh0V962Y39kXPwK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bhMTVv/btsPDV2HbqW/F3JiSy4Hh0V962Y39kXPwK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbhMTVv%2FbtsPDV2HbqW%2FF3JiSy4Hh0V962Y39kXPwK%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;777&quot; height=&quot;91&quot; data-origin-width=&quot;777&quot; data-origin-height=&quot;91&quot;/&gt;&lt;/span&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;기존 swap 파티션(/dev/nvme0n2p1)도 정상 작동중이고, 그 아래 우선순위로 /dev/nvme0n2p2가 확인된다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;※ 문제의 지문에서 &quot;기존 swap 파티션에 영향을 주지 말아야 한다.&quot; 의 핵심은 아래 3가지와 같다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;239&quot; data-start=&quot;198&quot;&gt;이미 존재하는 swap 파티션을 삭제하거나 비활성화하지 말아야 한다.&lt;/li&gt;
&lt;li data-end=&quot;294&quot; data-start=&quot;240&quot;&gt;기존의 /etc/fstab 파일에 등록된 swap 항목을 수정하거나 삭제해서는 안된다.&lt;/li&gt;
&lt;li data-end=&quot;345&quot; data-start=&quot;295&quot;&gt;기존 swap 파티션의 UUID나 device 경로를 바꾸거나 덮어쓰지 말아야 한다.&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[문제10]&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;※ 문제 8~9는 RHEL9 이후로 유효하지 않는 문제이므로 패스&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;-----------------------------------------------------------------&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;453&quot; data-origin-height=&quot;119&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/byB8Af/btsPDpDhksn/I0sb4akJgCUDrhkypHlVjK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/byB8Af/btsPDpDhksn/I0sb4akJgCUDrhkypHlVjK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/byB8Af/btsPDpDhksn/I0sb4akJgCUDrhkypHlVjK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbyB8Af%2FbtsPDpDhksn%2FI0sb4akJgCUDrhkypHlVjK%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;453&quot; height=&quot;119&quot; data-origin-width=&quot;453&quot; data-origin-height=&quot;119&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&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;a href=&quot;http://station.domain40.example.com&quot;&gt;http://station.domain40.example.com&lt;/a&gt; 주소로 접속이 가능하게 HTTP 서버를 구성하라고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;웹 페이지는 http://ip/dir/example.html 에서 다운로드 받아 사용하라고 한다.&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;먼저, 아래 명령어로 httpd를 설치해준다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;yum install -y httpd&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ httpd란?: HTTP Daemon의 약자로, 웹 서버 역할을 하는 소프트웨어 패키지이다. 가장 널리 쓰이는 대표적인 httpd는 아파치(Apache) HTTP 서버이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ 리눅스에서 httpd 패키지를 설치하면, 일반적으로 아파치 HTTP 서버가 설치된다.&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;그 다음, 아래 명령어로 httpd 서비스를 부팅 시 자동으로 시작되도록 설정하고 즉시 시작한다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;systemctl enable --now httpd&lt;br /&gt;&lt;br /&gt;※ systemctl: systemd 기반 시스템에서 서비스(daemon)를 제어할 때 사용하는 명령어&lt;br /&gt;※ enable: 부팅 시 자동으로 서비스가 시작되도록 설정&lt;br /&gt;※ --now: 서비스를 즉시 시작하는 옵션&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;918&quot; data-origin-height=&quot;55&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cJNun3/btsPE8UAA0T/qtiInyNxNJ2PBUw4Dsd4k1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cJNun3/btsPE8UAA0T/qtiInyNxNJ2PBUw4Dsd4k1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cJNun3/btsPE8UAA0T/qtiInyNxNJ2PBUw4Dsd4k1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcJNun3%2FbtsPE8UAA0T%2FqtiInyNxNJ2PBUw4Dsd4k1%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;918&quot; height=&quot;55&quot; data-origin-width=&quot;918&quot; data-origin-height=&quot;55&quot;/&gt;&lt;/span&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;그 다음, RHEL9은 기본적으로 방화벽(firewalld)이 활성화되어 있어서, 외부에서 들어오는 연결을 기본적으로 차단한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, 웹 서버(httpd)를 설치하고 구동하더라도 방화벽에서 허용하지 않으면 외부에서 접근할 수 없다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 웹 서비스를 외부에 제공하려면, 방화벽 설정에서 httpd 서비스(기본적으로 80번 포트)를 명시적으로 허용해야 한다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;firewall-cmd --permanent --add-service=http&lt;br /&gt;&lt;br /&gt;※ firewall-cmd: firewalld 방화벽을 관리하기 위한 명령어&lt;br /&gt;※ --permanent: 영구적으로 설정을 적용하는 옵션&lt;br /&gt;※ --add-service: 방화벽에 어떤 서비스(포트)를 허용할지 지정하는 옵션&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;502&quot; data-origin-height=&quot;35&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ohPOr/btsPCLth0BZ/kEDdgFrF5BaCwJiTRi7X8k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ohPOr/btsPCLth0BZ/kEDdgFrF5BaCwJiTRi7X8k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ohPOr/btsPCLth0BZ/kEDdgFrF5BaCwJiTRi7X8k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FohPOr%2FbtsPCLth0BZ%2FkEDdgFrF5BaCwJiTRi7X8k%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;502&quot; height=&quot;35&quot; data-origin-width=&quot;502&quot; data-origin-height=&quot;35&quot;/&gt;&lt;/span&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;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;firewall-cmd --reload&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;319&quot; data-origin-height=&quot;37&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bESf4P/btsPF4xn0eL/nJsrR174gv42CV79tw4HkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bESf4P/btsPF4xn0eL/nJsrR174gv42CV79tw4HkK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bESf4P/btsPF4xn0eL/nJsrR174gv42CV79tw4HkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbESf4P%2FbtsPF4xn0eL%2FnJsrR174gv42CV79tw4HkK%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;319&quot; height=&quot;37&quot; data-origin-width=&quot;319&quot; data-origin-height=&quot;37&quot;/&gt;&lt;/span&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;그 다음, 아래 명령어로 웹 서버(httpd)가 웹 콘텐츠(html파일)를 정상적으로 읽게 하기 위해서 SELinux 컨텍스트를 부여한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ SELinux란?: 보안이 중요한 Linux 시스템에서 쓰이는 보안 솔루션이며, 기본적으로 특정 프로그램이 정해진 작업만 하도록 제한하는 역할을 한다. 예를 들어, 웹 서버(httpd)가 파일을 읽고 웹 페이지로 보여주는 건 당연히 허용된 작업이지만, 웹 서버가 사용자의 비밀번호 파일이나 다른 보안 파일을 함부로 읽으면 안된다. 이런 정책들을 설정하여 프로그램마다 무엇을 해도 되고, 무엇을 하면 안되는지를 정한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ 컨텍스트(context)란?: SELinux가 사용하는 일종의 꼬리표(라벨)라고 생각하면 된다. SELinux는 파일이나 디렉터리에 모두 고유한 꼬리표를 붙인다. 이 꼬리표에는 &quot;이 파일은 어떤 목적의 파일이다&quot; 라는 정보가 들어있다. 특히, 웹서버(httpd)에서는 ' httpd_sys_content_t'라는 꼬리표가 붙은 파일만 읽을 수 있다. 다른 꼬리표가 붙은 파일을 웹서버가 읽으려고 하면 SELinux가 차단한다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;restorecon -Rv /var/www/html&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;※ restorecon: SELinux에서 사용되는 명령어로, 파일과 디렉터리의 보안 컨텍스트(라벨)를 복구/재설정한다.&lt;br /&gt;※ -R: 재귀적으로 동작하는 옵션이다. /var/www/html 뿐 아니라 그 하위 모든 파일/디렉터리에도 적용하는 옵션이다.&lt;br /&gt;※ -v: Verbose의 약자이며, 변경된 파일들의 정보를 화면에 자세히 출력하는 옵션이다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li data-end=&quot;956&quot; data-start=&quot;905&quot;&gt;사용자가 웹 콘텐츠로 쓰일 파일을 원래의 위치가 아닌 다른 곳에서 가져오거나 복사한 경우&lt;/li&gt;
&lt;li data-end=&quot;1002&quot; data-start=&quot;957&quot;&gt;또는 처음부터 SELinux 컨텍스트를 고려하지 않고 새로운 파일을 만든 경우&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이때, SELinux는 원본 파일의 꼬리표를 그대로 유지하거나 잘못된 꼬리표를 붙이게 된다.&lt;br /&gt;그 결과 웹 서버 프로그램(httpd)이 이 파일을 읽으려 하면 SELinux가 허용하지 않아 403 Forbidden(접근 거부) 오류가 발생한다.&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ 문제의 지문에서는 http://ip/dir/example.html 에서 다운로드 하라고 하지만, 이는 로컬PC에서 실습하는 환경에서는 유효하지 않은 링크이기 때문에, 논리적으로만 명령어 사용법을 익히고, 실제 html파일은 수동으로 추가해주었다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;curl -o /var/www/html/example.html&lt;span&gt; http://ip/dir/example.html&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;※ curl: URL(웹 주소)에서 파일을 가져오거나 데이터를 요청할 때 쓰는 명령어&lt;br /&gt;※ -o: output의 약자이며, 뒤에 오는 경로에 파일을 저장한다는 의미로 사용하는 옵션&lt;br /&gt;※ &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;/var/www/html/example: -o 옵션으로 저장할 로컬 파일 경로(없으면 알아서 파일을 생성함)&lt;br /&gt;※ http://ip/dir/example.html: 다운로드할 원격 파일의 주소이며, 이 파일의 데이터를 /var/www/html/example.html에 저장함&lt;br /&gt;&lt;br /&gt;즉, &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;http://ip/dir/example.html 를 /var/www/html 디렉터리에 example.html 라는 이름으로 저장하겠다는것으로 이해하면 됨&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 다음, 아래 명령어를 사용하여 해당 파일을 웹 페이지 기본 페이지로 설정하기 위해 파일명을 index.html로 변경해준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ 문제 지문에 딱히 명시된 내용은 아니지만, 일반적으로 index.html로 파일명을 변경해주는것이 바람직함&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;mv /var/www/html/example.html /var/www/html/index.html&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ 가상호스트란?: 하나의 서버에서 여러 개의 웹사이트를 동시에 운영할 수 있도록 해주는 웹 서버의 기능&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ station.domain40.example.com 으로 접속하면 /var/www/html 디렉토리의 파일들을 보여주도록 설정하는 핵심 설정이다.&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;아래 명령어로 conf.d 폴더 안에 demo.conf라는 사용자 정의 이름의 설정 파일을 만들어준다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;vi /etc/httpd/conf.d/demo.conf&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;※ conf.d란?: Apache 웹서버의 설정 파일들이 들어가는 특별한 디렉터리이다. 이 디렉터리 안에 있는 모든 .conf 파일을 자동으로 읽어서 적용한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 160px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 160px;&quot;&gt;
&lt;td style=&quot;width: 100%; height: 160px;&quot;&gt;&amp;lt;VirtualHost *:80&amp;gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# HTTP의 80번 포트로 들어오는 모든 IP(*)주소에 대해 내용을 적용&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ServerName station.domain40.example.com&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# 도메인 이름을 설정&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DocumentRoot /var/www/html&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# 웹사이트 루트 디렉터리를 지정(해당 디렉터리 안에 있는 파일들을 웹에서 볼 수 있음&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Directory &quot;/var/www/html&quot;&amp;gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # DocumentRoot 경로에 대한 추가적인 접근 제어&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;AllowOverride None&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # 사용자가 개별적으로 웹 서버 설정을 임의로 변경하지 못하도록 제한&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Require all granted&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# 모든 클라이언트(누구든지) 접근을 허용하겠다는 의미&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/Directory&amp;gt; &lt;br /&gt;&amp;lt;/VirtualHost&amp;gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 다음, 아래 명령어로 httpd를 재시작하고 설정을 적용한다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;systemctl restart httpd&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ station.domain40.example.com 는 실제로 존재하는 DNS가 아니기때문에, VMware에서 이렇게 웹서버를 구성하더라도 로컬PC에서 station.domain40.example.com로 접속이 될 수 없다. 하지만 VMware 인스턴스의 사설IP주소로 접근해보면 잘 되는것은 확인할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;station.domain40.example.com를 통해 접속하고싶다면 별도의 DNS 서버를 구성해야하지만, 문제에서 요구하고있지는 않다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;413&quot; data-origin-height=&quot;219&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/blCcJF/btsPF4YDNz2/JsMBekj5gKNHFMzK2laXc0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/blCcJF/btsPF4YDNz2/JsMBekj5gKNHFMzK2laXc0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/blCcJF/btsPF4YDNz2/JsMBekj5gKNHFMzK2laXc0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FblCcJF%2FbtsPF4YDNz2%2FJsMBekj5gKNHFMzK2laXc0%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;413&quot; height=&quot;219&quot; data-origin-width=&quot;413&quot; data-origin-height=&quot;219&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>자격증/RHCSA</category>
      <author>나르는나른</author>
      <guid isPermaLink="true">https://byeongg96.tistory.com/131</guid>
      <comments>https://byeongg96.tistory.com/131#entry131comment</comments>
      <pubDate>Sun, 27 Jul 2025 16:40:57 +0900</pubDate>
    </item>
    <item>
      <title>이론. OSI 7 Layer</title>
      <link>https://byeongg96.tistory.com/130</link>
      <description>&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Gemini_Generated_Image_r53wibr53wibr53w.png&quot; data-origin-width=&quot;2048&quot; data-origin-height=&quot;2048&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bIG30r/btsProDcwSV/Kcw3y9PcUJPhVfJ1yw8ke1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bIG30r/btsProDcwSV/Kcw3y9PcUJPhVfJ1yw8ke1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bIG30r/btsProDcwSV/Kcw3y9PcUJPhVfJ1yw8ke1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbIG30r%2FbtsProDcwSV%2FKcw3y9PcUJPhVfJ1yw8ke1%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;400&quot; height=&quot;400&quot; data-filename=&quot;Gemini_Generated_Image_r53wibr53wibr53w.png&quot; data-origin-width=&quot;2048&quot; data-origin-height=&quot;2048&quot;/&gt;&lt;/span&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;&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;OSI(Open Systems Interconnection) 7 계층 모델은 통신 시스템에서 데이터가 네트워크를 통해 어떻게 전달되는지 설명하는 표준적인 개념적 모델이다.&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;각 계층(layer)은 고유한 기능과 역할을 가지며, 독립적으로 작동하면서 전체 시스템의 효율성과 호환성을 높인다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 287px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style15&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 14.3023%; text-align: center; height: 21px;&quot;&gt;계 층&lt;/td&gt;
&lt;td style=&quot;width: 37.5582%; text-align: center; height: 21px;&quot;&gt;기 능&lt;/td&gt;
&lt;td style=&quot;width: 16.1627%; text-align: center;&quot;&gt;프로토콜&lt;/td&gt;
&lt;td style=&quot;width: 14.6512%; text-align: center; height: 21px;&quot;&gt;전송 단위&lt;/td&gt;
&lt;td style=&quot;width: 17.3256%; text-align: center; height: 21px;&quot;&gt;관련 장비&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 38px;&quot;&gt;
&lt;td style=&quot;width: 14.3023%; text-align: center; height: 38px;&quot;&gt;응용 계층&lt;br /&gt;(Application)&lt;/td&gt;
&lt;td style=&quot;width: 37.5582%; text-align: left; height: 38px;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;background-color: #f9f9f9; color: #333333; text-align: left;&quot;&gt;&lt;span&gt; 사용자와 네트워크 간 응용서비스를 제공하는 역할&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 16.1627%; text-align: center;&quot;&gt;HTTP, FTP,&lt;br /&gt;SMTP, DNS 등&lt;/td&gt;
&lt;td style=&quot;width: 14.6512%; text-align: center; height: 38px;&quot;&gt;메시지&lt;br /&gt;(Message)&lt;/td&gt;
&lt;td style=&quot;width: 17.3256%; text-align: center; height: 38px;&quot;&gt;웹 서버, 이메일 서버, 웹 브라우저 등&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 38px;&quot;&gt;
&lt;td style=&quot;width: 14.3023%; text-align: center; height: 38px;&quot;&gt;표현 계층&lt;br /&gt;(Presentation)&lt;/td&gt;
&lt;td style=&quot;width: 37.5582%; text-align: left; height: 38px;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;background-color: #f9f9f9; color: #333333; text-align: left;&quot;&gt;&lt;span&gt; 데이터의 압축, 암호화, 인코딩과 같은 데이터 표현 방식을 결정하는 역할&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 16.1627%; text-align: center;&quot;&gt;JPEG, MPEG,&lt;br /&gt;SSL/TLS 등&lt;/td&gt;
&lt;td style=&quot;width: 14.6512%; text-align: center; height: 38px;&quot;&gt;메시지&lt;br /&gt;(Message)&lt;/td&gt;
&lt;td style=&quot;width: 17.3256%; text-align: center; height: 38px;&quot;&gt;암호화 장비, 인코딩 변환기, 압축 장비&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 38px;&quot;&gt;
&lt;td style=&quot;width: 14.3023%; text-align: center; height: 38px;&quot;&gt;세션 계층&lt;br /&gt;(Session)&lt;/td&gt;
&lt;td style=&quot;width: 37.5582%; text-align: left; height: 38px;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;background-color: #f9f9f9; color: #333333; text-align: left;&quot;&gt;&lt;span&gt; 두 시스템(서버&amp;harr;클라이언트) 간 통신 채널의 상태 유지 및 관리&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;background-color: #f9f9f9; color: #333333; text-align: left;&quot;&gt;&lt;span&gt; 세션 설정 및 종료 관리 역할&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 16.1627%; text-align: center;&quot;&gt;NetBIOS, PPTP, L2TP, RPC 등&lt;/td&gt;
&lt;td style=&quot;width: 14.6512%; text-align: center; height: 38px;&quot;&gt;메시지&lt;br /&gt;(Message)&lt;/td&gt;
&lt;td style=&quot;width: 17.3256%; text-align: center; height: 38px;&quot;&gt;게이트웨이, VPN 서버, 프록시 서버&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 38px;&quot;&gt;
&lt;td style=&quot;width: 14.3023%; text-align: center; height: 38px;&quot;&gt;전송 계층&lt;br /&gt;(Transport)&lt;/td&gt;
&lt;td style=&quot;width: 37.5582%; text-align: left; height: 38px;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;background-color: #f9f9f9; color: #333333; text-align: left;&quot;&gt;&lt;span&gt; 종단 간(end-to-end) 신뢰성 있는 데이터 전송을 제공하는 역할&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;background-color: #f9f9f9; color: #333333; text-align: left;&quot;&gt;&lt;span&gt; 흐름 제어 및 데이터 세그먼트화 수행&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 16.1627%; text-align: center;&quot;&gt;TCP, UDP&lt;/td&gt;
&lt;td style=&quot;width: 14.6512%; text-align: center; height: 38px;&quot;&gt;세그먼트&lt;br /&gt;(Segment)&lt;/td&gt;
&lt;td style=&quot;width: 17.3256%; text-align: center; height: 38px;&quot;&gt;게이트웨이, 방화벽&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 38px;&quot;&gt;
&lt;td style=&quot;width: 14.3023%; text-align: center; height: 38px;&quot;&gt;네트워크 계층&lt;br /&gt;(Network)&lt;/td&gt;
&lt;td style=&quot;width: 37.5582%; text-align: left; height: 38px;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;background-color: #f9f9f9; color: #333333; text-align: left;&quot;&gt;&lt;span&gt; 서로 다른 네트워크 간 데이터를 전송하는 역할&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;background-color: #f9f9f9; color: #333333; text-align: left;&quot;&gt;&lt;span&gt; 논리적 주소 지정과 라우팅 수행&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 16.1627%; text-align: center;&quot;&gt;라우팅 프로토콜,&lt;br /&gt;IP, ICMP, IGMP&lt;/td&gt;
&lt;td style=&quot;width: 14.6512%; text-align: center; height: 38px;&quot;&gt;패킷(Packet)&lt;/td&gt;
&lt;td style=&quot;width: 17.3256%; text-align: center; height: 38px;&quot;&gt;라우터, L3 스위치&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 38px;&quot;&gt;
&lt;td style=&quot;width: 14.3023%; text-align: center; height: 38px;&quot;&gt;데이터 링크 계층&lt;br /&gt;(Data Link)&lt;/td&gt;
&lt;td style=&quot;width: 37.5582%; text-align: left; height: 38px;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt; 물리적 연결을 통해 신뢰성 있게 데이터를 전송하는 역할&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull; MAC 주소를 이용한 데이터 전송 및 오류 탐지/수정&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 16.1627%; text-align: center;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;LAN, WAN, 무선&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 14.6512%; text-align: center; height: 38px;&quot;&gt;프레임(Frame)&lt;/td&gt;
&lt;td style=&quot;width: 17.3256%; text-align: center; height: 38px;&quot;&gt;브리지, L2 스위치&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 38px;&quot;&gt;
&lt;td style=&quot;width: 14.3023%; text-align: center; height: 38px;&quot;&gt;물리 계층&lt;br /&gt;(Physical)&lt;/td&gt;
&lt;td style=&quot;width: 37.5582%; text-align: left; height: 38px;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt; 실제 전기적 신호나 광 신호 형태로 데이터를 전송하는 역할&lt;/td&gt;
&lt;td style=&quot;width: 16.1627%; text-align: center;&quot;&gt;유선 전송, 광 전송, 무선 전송&lt;/td&gt;
&lt;td style=&quot;width: 14.6512%; text-align: center; height: 38px;&quot;&gt;비트(Bit)&lt;/td&gt;
&lt;td style=&quot;width: 17.3256%; text-align: center; height: 38px;&quot;&gt;케이블, 허브, 리피터&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;각 계층을 더 세부적으로 살펴보자&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;1. 물리계층&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;물리 계층은 OSI 모델의 가장 하위 계층으로, 디지털 데이터를 실제 신호로 변환하여 전송 매체(케이블 등)를 통해 전송하는 역할을 수행한다.&amp;nbsp; &amp;nbsp; ※ 디지털 데이터란?: 0과 1로 이루어진 이진(Binary) 정보이며, 데이터 단위로는 비트(Bit)를 의미한다.&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;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt; 관련 프로토콜 및 기술&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 62.6744%; height: 130px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style15&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 18.1395%; text-align: center;&quot;&gt;유 형&lt;/td&gt;
&lt;td style=&quot;width: 81.8605%; text-align: center;&quot;&gt;대표적인 예시&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 18.1395%; text-align: center;&quot;&gt;유선 전송&lt;/td&gt;
&lt;td style=&quot;width: 81.8605%;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;이더넷(Ethernet), RS-232, RS-485&lt;br /&gt;※ 이더넷은 물리 계층과 데이터 링크 계층에 모두 관련된 기술이다.&lt;br /&gt;물리 계층에서는 사용하는 케이블 종류, 신호 전송 방식, 전압 등 물리적 특성을 정의한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 18.1395%; text-align: center;&quot;&gt;광 전송&lt;/td&gt;
&lt;td style=&quot;width: 81.8605%;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;SONET, SDH&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 18.1395%; text-align: center;&quot;&gt;무선 전송&lt;/td&gt;
&lt;td style=&quot;width: 81.8605%;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;Wi-Fi, 블루투스, LTE, 5G 등&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt; 주요 장비&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 95.3488%; height: 251px;&quot; border=&quot;1&quot; data-ke-style=&quot;style15&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 18.1395%; text-align: center;&quot;&gt;유 형&lt;/td&gt;
&lt;td style=&quot;width: 81.8605%; text-align: center;&quot;&gt;기 능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 18.1395%; text-align: center;&quot;&gt;케이블(Cable)&lt;/td&gt;
&lt;td style=&quot;width: 81.8605%;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt; 구리 케이블(UTP, STP)&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt; 광케이블(Optical Fiber)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 18.1395%; text-align: center;&quot;&gt;허브(Hub)&lt;/td&gt;
&lt;td style=&quot;width: 81.8605%;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt; 여러 네트워크 장치를 하나로 연결해 주는 장치&amp;nbsp; &amp;nbsp; &amp;nbsp;※ USB허브와 유사&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; 신호 증폭기(Repeater)의 역할을 수행하며, 받은 신호를 그대로 증폭하여 연결된 모든 포트에 전달하는 Broadcast 방식으로 작동&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; 네트워크의 규모가 작을 때 적합&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; 외부에서 유입되는 모든 데이터를 허브와 연결된 모든 네트워크 장치들에 전송(Broadcast)하기 때문에 효율성이 낮음&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 18.1395%; text-align: center;&quot;&gt;리피터(Repeater)&lt;/td&gt;
&lt;td style=&quot;width: 81.8605%;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt; 네트워크 신호를 증폭하여 전송 거리를 연장해 주는 가장 기초적이고 단순한 장치&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt; 데이터를 해석하거나 경로를 판단하지 않고 단순히 신호 증폭만 하기 때문에, 네트워크 트래픽 관리 기능은 없음&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;&lt;b&gt;2. 데이터 링크 계층&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;데이터 링크 계층은 OSI 모델의 2번째 계층으로, 물리 계층을 통해 전달받은 신호를 해석하여 장치 간 신뢰성 있는 데이터 전송을 수행하는 역할을 수행한다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;관련 프로토콜 및 기술&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 62.6744%; height: 130px;&quot; border=&quot;1&quot; data-ke-style=&quot;style15&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 18.1395%;&quot;&gt;유 형&lt;/td&gt;
&lt;td style=&quot;width: 81.8605%;&quot;&gt;대표적인 예시&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 18.1395%;&quot;&gt;LAN&lt;/td&gt;
&lt;td style=&quot;width: 81.8605%;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;이더넷(Ethernet), IEEE 802.3&lt;br /&gt;※ 이더넷은 물리 계층과 데이터 링크 계층에 모두 관련된 기술이다.&lt;br /&gt;데이터 링크 계층에서는 MAC 주소를 이용한 데이터 전송 방식과 프레임 구조를 정의한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 18.1395%;&quot;&gt;WAN&lt;/td&gt;
&lt;td style=&quot;width: 81.8605%;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt; HDLC, PPP, 프레임 릴레이(Frame Relay)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 18.1395%;&quot;&gt;무선&lt;/td&gt;
&lt;td style=&quot;width: 81.8605%;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt; IEEE 802.11(Wi-Fi), IEEE 802.15(블루투스)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;주요 장비&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 95.3488%; height: 251px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style15&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 18.1395%; text-align: center;&quot;&gt;유 형&lt;/td&gt;
&lt;td style=&quot;width: 81.8605%; text-align: center;&quot;&gt;기 능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 18.1395%; text-align: center;&quot;&gt;브리지(Bridge)&lt;/td&gt;
&lt;td style=&quot;width: 81.8605%;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt; 동일한 프로토콜을 사용하는 두 개의 LAN을 연결하여 논리적으로 하나의 LAN처럼 작동하게 해주는 장치&lt;br /&gt;※ ex. 한 회사가 1층과 2층에 각각 사무실을 운영하고 있다고 가정, 각 층마다 서로 다른 LAN(네트워크)이 구축되어 있어 서로 데이터를 공유하거나 프린터를 공유하기 어려운 상황.&lt;br /&gt;이때, '브리지'를 통해 두 네트워크가 마치 하나의 네트워크처럼 데이터를 주고받을 수 있게 만들어주면 1층에서 2층의 프린터로 출력이 가능&lt;br /&gt;※ 쉽게 생각하면, 단순하게 물리적인 선으로 두 네트워크를 연결했다고 생각하면 된다. IP주소를 사용하는 통신이 아닌, 각 장치의 NIC에 있는 MAC주소를 통해 전기적인 신호로 통신을 하게되는것이다.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt; &lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; MAC 주소를 기반으로 데이터를 분석하여 필요한 경우에만 데이터를 전달하여 네트워크 효율성을 높임&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; CRC 오류 검출 검사를 통해 데이터의 무결성을 검증&amp;nbsp; &amp;nbsp; &amp;nbsp;※ 복구 및 오류 정정은 불가능&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; 소규모 네트워크 간 연결 시 적합&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 18.1395%; text-align: center;&quot;&gt;L2 스위치(Switch)&lt;/td&gt;
&lt;td style=&quot;width: 81.8605%;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; MAC 주소를 기반으로 특정 목적지 장치에만 데이터를 전달하는 장치(Unicast)&lt;br /&gt;&lt;/span&gt; &lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; 네트워크 효율성을 극대화하며 데이터 충돌(Collision)을 최소화&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;CRC 오류 검출 검사를 통해 데이터의 무결성을 검증&amp;nbsp; &amp;nbsp; &amp;nbsp;※ 복구 및 오류 정정은 불가능&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; Pause Frame 흐름제어 메커니즘을 통해 특정 스위치 포트가 과부하 상태에 놓이거나 수신 프레임 처리 능력을 초과하는 경우, 스위치가 송신측 장비에 Pause Frame을 전송하여 일정 시간 동안 전송을 중지하거나 속도를 낮추도록 요청한다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; 중규모 이상의 네트워크 구성에 적합&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 18.1395%; text-align: center;&quot;&gt;NIC&lt;br /&gt;(Network Interface card)&lt;/td&gt;
&lt;td style=&quot;width: 81.8605%;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; 컴퓨터를 네트워크에 연결할 수 있도록 하는 장치&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; MAC 주소를 가지고 있으며, 프레임의 생성 및 전송, 수신 및 오류 검출 기능 제공&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;CRC 오류 검출 검사를 통해 데이터의 무결성을 검증&amp;nbsp; &amp;nbsp; &amp;nbsp;※ 복구 및 오류 정정은 불가능&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; &lt;span style=&quot;background-color: #f9f9f9; color: #333333; text-align: left;&quot;&gt;Pause Frame 흐름제어 메커니즘을 통해 스위치와 양방향으로 Pause Frame을 교환한다. NIC의 수신 버퍼(Recieve Buffer)가 과부하 상태일 때, NIC는 연결된 스위치에게 Pause Frame을 전송하여 일정 시간 동안 전송을 중지하거나 속도를 낮추도록 요청한다.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;또한, 반대로 스위치의 특정 포트의 수신 버퍼가 과부하 상태가 되면, 스위치는 연결된 NIC에 Pause Frame을 전송하여 일정 시간 동안 전송을 중지하거나 속도를 낮추도록 요청한다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3. 네트워크 계층&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;네트워크 계층은 OSI 모델의 3번째 계층으로, 서로 다른 네트워크 간에 데이터를 전달하기 위해 최적의 경로를 선택하고 관리하는 역할을 수행한다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;※ 최적의 경로란?: 데이터를 목적지까지 가장 효율적으로 전달할 수 있는 경로를 의미하며, 이를 위해 논리적 주소 지정(IP주소)과 라우팅(Routing) 기능을 제공한다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;관련 프로토콜 및 기술&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 62.6744%; height: 130px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style15&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 18.1395%;&quot;&gt;유 형&lt;/td&gt;
&lt;td style=&quot;width: 81.8605%;&quot;&gt;대표적인 예시&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 18.1395%; text-align: center;&quot;&gt;라우팅&lt;br /&gt;프로토콜&lt;/td&gt;
&lt;td style=&quot;width: 81.8605%;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt; RIP, OSPF, EIGRP, BGP&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 18.1395%; text-align: center;&quot;&gt;IP&lt;/td&gt;
&lt;td style=&quot;width: 81.8605%;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; IPv4, IPv6&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 18.1395%; text-align: center;&quot;&gt;ICMP&lt;/td&gt;
&lt;td style=&quot;width: 81.8605%;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; IP 프로토콜의 오류 보고와 진단을 목적으로 사용되는 프로토콜&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; 대표적으로 Ping 명령을 통해 네트워크 상태를 확인하고, 목적지에 도달할 수 없는 경우 에러 메시지 전송 등의 기능을 수행하여, 네트워크 관리 및 문제 진단에 주로 활용된다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 18.1395%; text-align: center;&quot;&gt;IGMP&lt;/td&gt;
&lt;td style=&quot;width: 81.8605%;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt; &lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; 멀티캐스트 그룹 멤버십을 관리하기 위한 프로토콜&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; 호스트가 특정 멀티캐스트 그룹에 가입하거나 탈퇴할 때 라우터에 이를 알리기 위해 사용&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;※ 멀티캐스트란?: 네트워크에서 하나의 송신자가 데이터를 특정 다수의 수신자 그룹에게 동시에 전송하는 방식&lt;br /&gt;※ IGMP는 대표적으로 IPTV나 실시간 인터넷 방송에서 사용&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;주요 장비&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 95.3488%; height: 251px;&quot; border=&quot;1&quot; data-ke-style=&quot;style15&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 16.3103%; text-align: center;&quot;&gt;유 형&lt;/td&gt;
&lt;td style=&quot;width: 83.6897%; text-align: center;&quot;&gt;기 능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 16.3103%; text-align: center;&quot;&gt;라우터(Router)&lt;/td&gt;
&lt;td style=&quot;width: 83.6897%;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; 서로 다른 네트워크 간 데이터를 전달하기 위해 최적의 경로를 찾아주는 장치&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; IP 주소를 기반으로 패킷의 목적지를 결정하고 라우팅 테이블을 참조하여 최적의 경로를 선택하여 전송&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; 네트워크 간 연결을 위한 게이트웨이(Gateway) 역할 수행&lt;br /&gt;※ 게이트웨이란?: 서로 다른 네트워크 간 데이터를 전송할 때 반드시 거쳐야 하는 출입구 역할이다. 즉, 게이트웨이는 중간 지점에서 종단 간 데이터의 흐름을 중계하는 장치를 의미&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; 다양한 라우팅 프로토콜(RIP, OSPF, BGP 등)을 이용해 네트워크 경로를 관리&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; 네트워크 트래픽을 관리하고 충돌 및 브로드캐스트 도메인을 분리하여 네트워크 효율성 향상&lt;br /&gt;※ 브로드캐스트 도메인이란?: 브로드캐스트 메시지가 전달될 수 있는 네트워크 영역을 의미한다. 쉽게 생각하면, 특정 네트워크 범위(영역)라고 생각하면 된다. 같은 물리적 회선(망)을 사용하더라도, VLAN 등을 통해 논리적으로 네트워크 영역을 나누어 브로드캐스트 메시지가 서로 전달되지 않도록 분리할 수 있다. 이러한 구분을 브로드캐스트 도메인을 분리한다고 표현하며, 서로 다른 도메인 간에는 라우터와 같은 장비를 통해서만 데이터를 전달할 수 있다.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; 중규모 이상의 네트워크 또는 서로 다른 네트워크 간 연결 시 필수적인 장비&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 16.3103%; text-align: center;&quot;&gt;L3 스위치(Switch)&lt;/td&gt;
&lt;td style=&quot;width: 83.6897%;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; 라우터와 L2 스위치의 기능이 결합된 장치&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; 네트워크 계층과 데이터 링크 계층의 기능을 모두 수행&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; MAC 주소뿐만 아니라 IP 주소 기반으로도 데이터를 전달할 수 있는 장치&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; 고속으로 패킷 라우팅을 수행하며 네트워크 계층의 IP 라우팅과 데이터 링크 계층의 MAC 주소 전달을 동시에 지원&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; 네트워크 규모가 크고 속도가 중요한 환경에서 주로 사용&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; VLAN을 통해 브로드캐스트 도메인을 구분하여 네트워크 성능과 보안을 강화할 수 있음&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4. 전송 계층&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;전송 계층은 OSI 모델의 4번째 계층으로, 네트워크 계층에서 받은 데이터를 종단 간(end-to-end) 신뢰성 있게 전송하는 역할을 수행한다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;※ 종단 간 전송이란?: 송신 측과 수신 측이 직접 데이터를 주고받는 통신 방식이며, 데이터의 정확한 전달과 흐름 제어를 위해 오류 복구, 데이터 세그먼트화 및 순서 제어 등의 기능을 제공한다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;※ 데이터 세그먼트화란?: 송신자가 데이터를 보낼 때, 큰 데이터를 한 번에 전송하지 않고 적절한 크기의 작은 단위(세그먼트, Segment)로 나누어 보내는 과정이다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;관련 프로토콜 및 기술&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style15&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #2780d4; color: #ffffff; width: 11.0465%;&quot;&gt;유 형&lt;/td&gt;
&lt;td style=&quot;background-color: #2780d4; color: #ffffff; width: 88.8372%;&quot;&gt;대표적인 예시&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #efefef; width: 11.0465%; text-align: center;&quot;&gt;TCP&lt;/td&gt;
&lt;td style=&quot;width: 88.8372%;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;연결 지향적 프로토콜&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;데이터를 신뢰성 있게 종단 간 전송하는 역할을 수행&lt;br /&gt;※ 3-way handshake: 데이터 전송 전에 서로의 준비 상태를 확인하고 연결을 설정하는 과정&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;데이터의 순서를 관리하고 손실된 데이터의 재전송, 흐름제어, 혼잡 제어 등의 기능을 통해 높은 신뢰성을 제공&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;웹(HTTP), 이메일(SMTP) 등에서 사용됨&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #efefef; width: 11.0465%; text-align: center;&quot;&gt;UDP&lt;/td&gt;
&lt;td style=&quot;background-color: #f9f9f9; width: 88.8372%;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;비연결형 프로토콜&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;데이터 전송 시 신뢰성을 보장하지 않음&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;오류 검사 기능은 있지만 재전송이나 흐름 제어는 없음&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;실시간 스트리밍, DNS 쿼리, VoIP 등의&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;빠른 속도와 낮은 지연이 중요한 환경에서 주로 사용됨&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt; 주요 장비 및 소프트웨어 &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 168px;&quot; border=&quot;1&quot; data-ke-style=&quot;style15&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;background-color: #2780d4; color: #ffffff; text-align: center; width: 11.6279%; height: 21px;&quot;&gt;유 형&lt;/td&gt;
&lt;td style=&quot;background-color: #2780d4; color: #ffffff; text-align: center; width: 88.2558%; height: 21px;&quot;&gt;기 능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 84px;&quot;&gt;
&lt;td style=&quot;background-color: #efefef; text-align: center; width: 11.6279%; height: 84px;&quot;&gt;게이트웨이&lt;br /&gt;(Gateway)&lt;/td&gt;
&lt;td style=&quot;width: 88.2558%; height: 84px;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;서로 다른 프로토콜을 사용하는 환경 간 데이터 변환 장치&lt;br /&gt;※ 예를 들면, 기존의 공중 전화망(PSTN)과 인터넷망(VoIP)을 연결할 때 사용되는것이 게이트웨이다.&lt;br /&gt;※ 이메일 시스템 간 프로토콜(SMTP &amp;harr; POP3, IMAP 등)의 변환 등에도 사용됨&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;※ 네트워크 계층에서 라우터의 역할 중 하나인 '게이트웨이'를 말하는것이 맞지만, 계층마다 담당하는 역할이 다르다.&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 63px;&quot;&gt;
&lt;td style=&quot;background-color: #efefef; text-align: center; width: 11.6279%; height: 63px;&quot;&gt;방화벽&lt;br /&gt;(Firewall)&lt;/td&gt;
&lt;td style=&quot;background-color: #f9f9f9; width: 88.2558%; height: 63px;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;네트워크 보안을 위한 장치&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;TCP와 UDP의 포트 번호를 통해 허용 또는 차단되는 트래픽을 결정하여 네트워크의 보안을 강화&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;비정상적인 트래픽이나 공격으로부터 네트워크를 보호하는 필수 장비로 사용됨&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;5. 세션 계층&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; 세션 계층은 OSI 모델의 5번째 계층으로, 두 시스템 간의 세션(Session)을 설정&amp;middot;유지 &amp;middot;종료하는 역할을 수행한다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;※ 세션이란?: 두 시스템 간의 논리적인 통신 연결을 의미하며, 이 연결을 설정&amp;middot;유지&amp;middot;종료하는 과정에서 연결 상태를 관리한다. 특히, 통신 연결 중 데이터의 동기화를 수행하여 연결이 중단되었을 때 이전 상태로 데이터를 복구하거나 재연결할 수 있도록 기능을 제공한다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;관련 프로토콜 및 기술&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-style=&quot;style15&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 11.0465%;&quot;&gt;유 형&lt;/td&gt;
&lt;td style=&quot;width: 88.8372%;&quot;&gt;대표적인 예시&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 11.0465%; text-align: center;&quot;&gt;NetBIOS&lt;/td&gt;
&lt;td style=&quot;width: 88.8372%;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt; &amp;bull; 로컬 네트워크 내에서 시스템 간 논리적인 연결(세션)을 설정&amp;middot;유지&amp;middot;종료하는 프로토콜&lt;br /&gt;&amp;bull; 주로 근거리 통신망(LAN)에서 윈도우 기반 시스템의 파일 및 프린터 공유와 같은 자원 공유 서비스를 지원하기 위해 사용&lt;br /&gt;&amp;bull; 연결이 중단될 경우 세션 계층이 연결 상태를 복구하여 데이터 전송을 이어갈 수 있도록 관리 &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 11.0465%; text-align: center;&quot;&gt;PPTP&lt;/td&gt;
&lt;td style=&quot;width: 88.8372%;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; &amp;bull; 두 시스템 간 터널링을 통해 논리적인 네트워크 연결(세션)을 설정 및 관리하는 프로토콜&lt;br /&gt;※ 터널링이란?: 서로 다른 네트워크 간 데이터를 안전하고 투명하게 전송하기 위해 논리적으로 만들어진 가상의 통로(터널)를 이용하여 데이터를 전송하는 기술&lt;br /&gt;&lt;br /&gt;&amp;bull; 인터넷을 통해 VPN 연결을 생성하여 원격 시스템과의 안전한 데이터 전송 통로를 제공&lt;br /&gt;※ VPN이란?: 사용자가 원격에서 내부 네트워크에 접속할 때 인터넷을 통해 가상 터널을 만들어 안전하게 데이터를 전송&lt;br /&gt;&lt;br /&gt;&amp;bull; 연결이 끊어졌을 때 세션 계층에서 다시 연결을 재설정하고 이전 상태를 유지할 수 있도록 관리 &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 11.0465%; text-align: center;&quot;&gt;L2TP&lt;/td&gt;
&lt;td style=&quot;width: 88.8372%;&quot;&gt;&lt;span style=&quot;color: #404040; text-align: start;&quot;&gt; &amp;bull; 두 시스템 간 2계층 터널링을 설정하여 논리적 세션 연결을 구축 및 관리하는 프로토콜&lt;br /&gt;※ 2계층 터널링이란?: OSI 모델의 데이터 링크 계층(2계층)에서 가상 터널을 형성하여 데이터를 전송하는 기술이다.&lt;br /&gt;※ PPTP도 2계층 터널링 방식을 사용하지만, LT2P가 PPTP의 한계를 보완하고 성능과 보안을 강화하기 위해 개발된것이다.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;bull; PPTP에 비해 보안성이 뛰어나고, 주로 VPN 연결을 설정하는데 사용&lt;br /&gt;&amp;bull; 연결이 중단될 시 세션 계층에서 복구 및 재설정 기능을 제공하여 지속적인 통신을 보장 &lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 11.0465%; text-align: center;&quot;&gt;RPC&lt;/td&gt;
&lt;td style=&quot;width: 88.8372%;&quot;&gt;&lt;span style=&quot;color: #404040; text-align: start;&quot;&gt; &amp;bull; 네트워크 상의 서로 다른 시스템 간에 원격 프로시저(함수, 서비스 등)를 호출하여 논리적인 연결을 유지하는 프로토콜&lt;br /&gt;&amp;bull; 클라이언트가 원격 시스템의 서비스를 요청할 때 사용되며, 이를 통해 응용 프로그램 간 작업 처리 및 세션 상태를 관리&lt;br /&gt;&amp;bull; 통신 중 연결이 끊어진 경우 세션 계층에서 연결을 재설정하거나 상태를 복구하여 안정적인 데이터 전송을 지원 &lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt; 주요 장비 및 소프트웨어 &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 189px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style15&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 11.6279%; height: 21px;&quot;&gt;유 형&lt;/td&gt;
&lt;td style=&quot;width: 88.2558%; height: 21px;&quot;&gt;기 능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 84px;&quot;&gt;
&lt;td style=&quot;width: 11.6279%; height: 84px; text-align: center;&quot;&gt;게이트웨이&lt;br /&gt;(Gateway)&lt;/td&gt;
&lt;td style=&quot;width: 88.2558%; height: 84px;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; 서로 다른 프로토콜 또는 통신 환경 간 논리적인 세션(연결)을 설정하고 유지하는 역할&lt;br /&gt;※ 네트워크 계층, 전송 계층에서 말하는 게이트웨이가 맞다. 하지만 세션 계층에서는 논리적 연결을 설정&amp;middot;유지하여 세션을 관리하는 역할을 담당한다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 63px;&quot;&gt;
&lt;td style=&quot;width: 11.6279%; height: 63px; text-align: center;&quot;&gt;VPN 서버&lt;/td&gt;
&lt;td style=&quot;width: 88.2558%; height: 63px;&quot;&gt;&lt;span style=&quot;color: #404040; text-align: start;&quot;&gt; &amp;bull; PPTP, L2TP 프로토콜을 이용하여 원격지와의 안전한 논리적 연결(터널링)을 설정 및 유지하는 장치&lt;br /&gt;&amp;bull; 인터넷과 같은 신뢰할 수 없는 공중망을 통해 터널링 기술로 가상의 보안 연결을 생성하며, 사용자가 원격에서 내부 네트워크에 안전하게 접근하도록 지원&lt;br /&gt;&amp;bull; 연결이 끊어진 경우 세션 계층에서 이전 연결 상태를 복구하거나 자동으로 재연결하는 기능을 제공하여 안정적인 통신 유지 &lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 11.6279%; text-align: center; height: 21px;&quot;&gt;프록시 서버&lt;/td&gt;
&lt;td style=&quot;width: 88.2558%; height: 21px;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt; &lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt; &amp;bull; 클라이언트와 외부 네트워크 간의 논리적 세션을 설정하고 유지하는 중계 장치&lt;br /&gt;&amp;bull; SOCKS 프로토콜과 같은 세션 프로토콜을 통해 클라이언트가 방화벽을 우회하거나 인터넷상의 다른 서버에 접근할 수 있도록 연결 관리&lt;br /&gt;&amp;bull; 연결이 중단되거나 장애가 발생했을 때 세션 상태를 관리하여 안정적인 연결을 유지하거나 재연결 기능 제공 &lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;6. 표현 계층&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; 표현 계층은 OSI 모델의 6번째 계층으로, 데이터의 표현 방식을 결정하여 서로 다른 시스템 간에 데이터가 제대로 이해되고 처리될 수 있도록 형식을 지정하는 역할을 수행한다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;※ 데이터 표현 방식이란?: 데이터의 인코딩(Encoding), 암호화(Encrpytion), 압축(Compression) 등의 처리를 통해 응용 프로그램이 데이터를 올바르게 해석할 수 있게 하는 기술을 의미한다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;관련 프로토콜 및 기술&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style15&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 11.0465%;&quot;&gt;유 형&lt;/td&gt;
&lt;td style=&quot;width: 88.8372%;&quot;&gt;대표적인 예시&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 11.0465%; text-align: center;&quot;&gt;인코딩&lt;/td&gt;
&lt;td style=&quot;width: 88.8372%;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;bull; ASCII, Unicode&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 11.0465%; text-align: center;&quot;&gt;암호화&lt;/td&gt;
&lt;td style=&quot;width: 88.8372%;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;bull; SSL, TLS&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 11.0465%; text-align: center;&quot;&gt;압축&lt;/td&gt;
&lt;td style=&quot;width: 88.8372%;&quot;&gt;&lt;span style=&quot;color: #404040; text-align: start;&quot;&gt;&amp;bull; JPEG, MPEG, GIF, ZIP&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt; 주요 장비 및 소프트웨어 &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 71px;&quot; border=&quot;1&quot; data-ke-style=&quot;style15&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 10px;&quot;&gt;
&lt;td style=&quot;background-color: #2780d4; color: #ffffff; width: 12.4419%; height: 10px;&quot;&gt;유 형&lt;/td&gt;
&lt;td style=&quot;background-color: #2780d4; color: #ffffff; width: 87.4418%; height: 10px;&quot;&gt;기 능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 10px;&quot;&gt;
&lt;td style=&quot;background-color: #efefef; text-align: center; width: 12.4419%; height: 10px;&quot;&gt;암호화 장비&lt;/td&gt;
&lt;td style=&quot;width: 87.4418%; height: 10px;&quot;&gt;&amp;bull; 데이터를 안전하게 전송하기 위해 암호화 및 복호화를 수행하는 전용 장비 또는 소프트웨어&lt;br /&gt;&amp;bull; SSL/TLS와 같은 프로토콜을 활용하여 데이터 전송 시 외부에서 데이터 내용을 해석하지 못하도록 보호&lt;br /&gt;&amp;bull; 주로 데이터 전송의 보안이 중요한 금융 시스템, 정부 기관, 기업 네트워크 등에서 활용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;background-color: #efefef; text-align: center; width: 12.4419%; height: 17px;&quot;&gt;인코딩 변환&lt;/td&gt;
&lt;td style=&quot;width: 87.4418%; height: 17px;&quot;&gt;&amp;bull; 서로 다른 시스템에서 사용하는 데이터의 인코딩 방식을 변환하여 데이터를 정확하게 이해할 수 있도록 하는 장비 또는 소프트웨어&lt;br /&gt;&amp;bull; ASCII &amp;harr; Unicode와 같은 인코딩 변환을 통해 시스템 간 데이터 호환성을 보장&lt;br /&gt;&amp;bull; 다국어 지원이 중요한 글로벌 서비스 환경에서 데이터 표준화 및 변환을 담당&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;background-color: #efefef; text-align: center; width: 12.4419%; height: 17px;&quot;&gt;압축 장비&lt;/td&gt;
&lt;td style=&quot;width: 87.4418%; height: 17px;&quot;&gt;&amp;bull; 데이터를 전송하거나 저장할 때 효율성을 높이기 위해 데이터를 압축 또는 압축 해제하는 장비 및 소프트웨어&lt;br /&gt;&amp;bull; JPEG, MPEG, ZIP 등의 압축 알고리즘을 이용해 데이터 용량을 줄여 네트워크 대역폭을 절약하고 전송 효율성을 높임&lt;br /&gt;&amp;bull; 영상, 이미지, 파일 전송량이 많은 스트리밍 서비스 및 데이터 백업 시스템에서 주로 활용&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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 style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;7. 응용 계층&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt; 응용 계층은 OSI 모델의 7번째 최상위 계층으로, 사용자(클라이언트)와 가장 가까운 계층이며 응용 프로그램과 직접 상호작용하여 사용자에게 서비스를 제공하는 역할을 수행한다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;※ 응용 프로그램과의 상호작용이란?: 사용자가 네트워크를 통해 전송하고자 하는 데이터를 입력하거나, 네트워크에서 수신한 데이터를 사용자에게 제공하는 등 사용자와 네트워크 간의 최종 인터페이스 역할을 수행하는 것을 의미한다.&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;관련 프로토콜 및 기술&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-style=&quot;style15&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #2780d4; color: #ffffff; width: 15.4651%;&quot;&gt;유 형&lt;/td&gt;
&lt;td style=&quot;background-color: #2780d4; color: #ffffff; width: 84.4186%;&quot;&gt;대표적인 예시&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #efefef; text-align: center; width: 15.4651%;&quot;&gt;웹 서비스&lt;/td&gt;
&lt;td style=&quot;width: 84.4186%;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;bull; HTTP, HTTPS&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;※ 웹 브라우저와 웹 서버 간 데이터를 교환하고 웹 페이지를 표시하기 위한 프로토콜&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #efefef; text-align: center; width: 15.4651%;&quot;&gt;이메일&lt;/td&gt;
&lt;td style=&quot;background-color: #f9f9f9; width: 84.4186%;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&amp;bull; SMTP, POP3, IMAP&lt;br /&gt;※ 이메일 전송 및 수신을 위한 프로토콜로 이메일 서버와 클라이언트 간 통신을 담당&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #efefef; text-align: center; width: 15.4651%;&quot;&gt;파일 전송&lt;/td&gt;
&lt;td style=&quot;width: 84.4186%;&quot;&gt;&lt;span style=&quot;color: #404040; text-align: start;&quot;&gt;&amp;bull; FTP, SFTP, SMB&lt;br /&gt;※ 네트워크를 통해 파일을 업로드하거나 다운로드할 때 사용하는 프로토콜&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #efefef; text-align: center; width: 15.4651%;&quot;&gt;원격 접속 및 관리&lt;/td&gt;
&lt;td style=&quot;width: 84.4186%;&quot;&gt;&lt;span style=&quot;color: #404040; text-align: start;&quot;&gt; &lt;span style=&quot;color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;span&gt; Telnet, SSH, RDP&lt;br /&gt;※ 네트워크를 통해 원격지 시스템에 접속하여 명령을 수행하거나 시스템을 관리하기 위한 프로토콜&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;background-color: #efefef; text-align: center; width: 15.4651%;&quot;&gt;도메인 이름 관리&lt;/td&gt;
&lt;td style=&quot;width: 84.4186%;&quot;&gt;&lt;span style=&quot;color: #404040; text-align: start;&quot;&gt; &lt;span style=&quot;color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;span&gt; DNS&lt;br /&gt;※ 도메인 이름을 IP 주소로 변환하여 인터넷 상의 주소를 관리하는 서비스&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: left;&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;주요 장비 및 소프트웨어&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 71px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style15&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 10px;&quot;&gt;
&lt;td style=&quot;width: 12.4419%; height: 10px;&quot;&gt;유 형&lt;/td&gt;
&lt;td style=&quot;width: 87.4418%; height: 10px;&quot;&gt;기 능&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 10px;&quot;&gt;
&lt;td style=&quot;width: 12.4419%; height: 10px; text-align: center;&quot;&gt;웹&amp;nbsp;서버&lt;/td&gt;
&lt;td style=&quot;width: 87.4418%; height: 10px;&quot;&gt;&amp;bull;&amp;nbsp;HTTP&amp;nbsp;또는&amp;nbsp;HTTPS&amp;nbsp;프로토콜을&amp;nbsp;이용하여&amp;nbsp;클라이언트에게&amp;nbsp;웹&amp;nbsp;페이지&amp;nbsp;및&amp;nbsp;콘텐츠를&amp;nbsp;제공하는&amp;nbsp;장치&amp;nbsp;또는&amp;nbsp;소프트웨어 &lt;br /&gt;&amp;bull;&amp;nbsp;사용자&amp;nbsp;요청&amp;nbsp;처리&amp;nbsp;및&amp;nbsp;응답을&amp;nbsp;담당하며&amp;nbsp;웹사이트&amp;nbsp;운영에&amp;nbsp;필수적&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 12.4419%; height: 17px; text-align: center;&quot;&gt;웹&amp;nbsp;브라우저&lt;/td&gt;
&lt;td style=&quot;width: 87.4418%; height: 17px;&quot;&gt;&amp;bull;&amp;nbsp;사용자가&amp;nbsp;직접적으로&amp;nbsp;웹&amp;nbsp;서버에&amp;nbsp;접근하여&amp;nbsp;웹&amp;nbsp;페이지를&amp;nbsp;요청하고&amp;nbsp;콘텐츠를&amp;nbsp;수신하여&amp;nbsp;사용자에게&amp;nbsp;표시해&amp;nbsp;주는&amp;nbsp;대표적인&amp;nbsp;응용&amp;nbsp;프로그램 &lt;br /&gt;&amp;bull;&amp;nbsp;HTTP,&amp;nbsp;HTTPS&amp;nbsp;프로토콜을&amp;nbsp;이용하여&amp;nbsp;사용자와&amp;nbsp;네트워크&amp;nbsp;간의&amp;nbsp;최종&amp;nbsp;인터페이스&amp;nbsp;역할을&amp;nbsp;수행&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 12.4419%; height: 17px; text-align: center;&quot;&gt;이메일&amp;nbsp;서버&lt;/td&gt;
&lt;td style=&quot;width: 87.4418%; height: 17px;&quot;&gt;&amp;bull;&amp;nbsp;SMTP,&amp;nbsp;POP3,&amp;nbsp;IMAP&amp;nbsp;프로토콜을&amp;nbsp;통해&amp;nbsp;이메일&amp;nbsp;송수신을&amp;nbsp;담당하는&amp;nbsp;서버 &lt;br /&gt;&amp;bull;&amp;nbsp;사용자&amp;nbsp;이메일&amp;nbsp;데이터를&amp;nbsp;관리하며&amp;nbsp;이메일&amp;nbsp;서비스&amp;nbsp;제공&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 12.4419%; text-align: center;&quot;&gt;FTP&amp;nbsp;서버&lt;/td&gt;
&lt;td style=&quot;width: 87.4418%;&quot;&gt;&amp;bull;&amp;nbsp;FTP&amp;nbsp;또는&amp;nbsp;SFTP&amp;nbsp;프로토콜을&amp;nbsp;통해&amp;nbsp;파일의&amp;nbsp;업로드&amp;nbsp;및&amp;nbsp;다운로드를&amp;nbsp;담당하는&amp;nbsp;서버 &lt;br /&gt;&amp;bull;&amp;nbsp;사용자&amp;nbsp;간&amp;nbsp;파일&amp;nbsp;공유&amp;nbsp;및&amp;nbsp;전송에&amp;nbsp;사용됨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 12.4419%; text-align: center;&quot;&gt;DNS&amp;nbsp;서버&lt;/td&gt;
&lt;td style=&quot;width: 87.4418%;&quot;&gt;&amp;bull;&amp;nbsp;도메인&amp;nbsp;이름을&amp;nbsp;IP&amp;nbsp;주소로&amp;nbsp;변환하는&amp;nbsp;역할을&amp;nbsp;수행하는&amp;nbsp;서버 &lt;br /&gt;&amp;bull;&amp;nbsp;사용자가&amp;nbsp;웹사이트에&amp;nbsp;접속할&amp;nbsp;때&amp;nbsp;URL을&amp;nbsp;IP&amp;nbsp;주소로&amp;nbsp;변환하여&amp;nbsp;네트워크&amp;nbsp;연결을&amp;nbsp;가능하게&amp;nbsp;하는&amp;nbsp;핵심&amp;nbsp;장비&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 12.4419%; text-align: center;&quot;&gt;프록시 서버&lt;/td&gt;
&lt;td style=&quot;width: 87.4418%;&quot;&gt;&amp;bull;&amp;nbsp;클라이언트와&amp;nbsp;인터넷&amp;nbsp;간&amp;nbsp;데이터를&amp;nbsp;중계하며,&amp;nbsp;사용자&amp;nbsp;요청을&amp;nbsp;대신&amp;nbsp;전달하여&amp;nbsp;콘텐츠&amp;nbsp;캐싱&amp;nbsp;및&amp;nbsp;접근&amp;nbsp;제어&amp;nbsp;등을&amp;nbsp;수행하는&amp;nbsp;장치&amp;nbsp;또는&amp;nbsp;소프트웨어 &lt;br /&gt;&amp;bull;&amp;nbsp;성능&amp;nbsp;향상,&amp;nbsp;접근&amp;nbsp;제한,&amp;nbsp;보안&amp;nbsp;및&amp;nbsp;익명성&amp;nbsp;보장&amp;nbsp;등의&amp;nbsp;목적으로&amp;nbsp;사용됨 &lt;br /&gt;※&amp;nbsp;세션&amp;nbsp;계층의&amp;nbsp;프록시&amp;nbsp;서버가&amp;nbsp;논리적인&amp;nbsp;연결(세션)을&amp;nbsp;관리하는&amp;nbsp;반면,&amp;nbsp;응용&amp;nbsp;계층의&amp;nbsp;프록시&amp;nbsp;서버는&amp;nbsp;콘텐츠&amp;nbsp;캐싱,&amp;nbsp;접근&amp;nbsp;제어,&amp;nbsp;웹&amp;nbsp;서비스의&amp;nbsp;보안&amp;nbsp;강화&amp;nbsp;및&amp;nbsp;성능&amp;nbsp;향상&amp;nbsp;등을&amp;nbsp;목적으로&amp;nbsp;사용됨&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>카테고리/CS 기초</category>
      <author>나르는나른</author>
      <guid isPermaLink="true">https://byeongg96.tistory.com/130</guid>
      <comments>https://byeongg96.tistory.com/130#entry130comment</comments>
      <pubDate>Sun, 20 Jul 2025 15:48:58 +0900</pubDate>
    </item>
    <item>
      <title>25년 2회) 정보처리기사 실기 문제 풀이</title>
      <link>https://byeongg96.tistory.com/129</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Gemini_Generated_Image_zfo5nlzfo5nlzfo5.png&quot; data-origin-width=&quot;2048&quot; data-origin-height=&quot;2048&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GUxrC/btsPrJNLdGe/7sJKVY55Rc1i5h1hK2bTUk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GUxrC/btsPrJNLdGe/7sJKVY55Rc1i5h1hK2bTUk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GUxrC/btsPrJNLdGe/7sJKVY55Rc1i5h1hK2bTUk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGUxrC%2FbtsPrJNLdGe%2F7sJKVY55Rc1i5h1hK2bTUk%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;400&quot; height=&quot;400&quot; data-filename=&quot;Gemini_Generated_Image_zfo5nlzfo5nlzfo5.png&quot; data-origin-width=&quot;2048&quot; data-origin-height=&quot;2048&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #409d00;&quot;&gt; ================== &amp;nbsp;NOTICE&amp;nbsp; ==================&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #409d00;&quot;&gt;1. 이론 문제의 경우 가답안과 키워드를 통해 임의로 복원한 문제입니다.&lt;/span&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;&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[문제1]&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;레코드 접근 방법에는 여러가지가 있는데 순차 접근, (　　) 접근, 해싱 접근이 있다. 이 방법은 키와 값을 쌍으로 이루어 저장하고, (　　)을 활용하여 찾는다&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정답: 색인 또는 인덱스(Index)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;풀이: 레코드(Record) 란 데이터베이스나 파일 시스템(File System) 등에서 하나의 개체에 대한 정보를 모아놓은 단위를 의미한다. 즉, 여러 가지 속성을 모아놓은 데이터의 집합이다.&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;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 50.1163%; height: 34px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style10&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;학번(키)&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;이름&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;나이&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;학과&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;202301&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;김철수&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;21&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;컴퓨터공학과&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;202302&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;이영희&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;22&lt;/td&gt;
&lt;td style=&quot;width: 25%;&quot;&gt;수학과&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 표에서 각 한 행(Row) 이 하나의 레코드를 의미한다.&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;레코드는 일반적으로 키(Key)와 값(Value)을 쌍으로 구성하여 관리된다. 이 중 키는 해당 레코드를 구분하는 고유한 식별자 역할을 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ 즉, 키(Key)는 레코드를 고유하게 식별하는 항목인 학번인것이고, 나머지 속성인 이름, 나이, 학과가 모두 값(Value)에 해당한다.&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;/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;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style14&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 24.4961%;&quot;&gt;접근 방법&lt;/td&gt;
&lt;td style=&quot;width: 38.9147%;&quot;&gt;특징&lt;/td&gt;
&lt;td style=&quot;width: 36.5891%;&quot;&gt;예시&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 24.4961%;&quot;&gt;순차 접근(Sequential Access)&lt;/td&gt;
&lt;td style=&quot;width: 38.9147%;&quot;&gt;처음부터 끝까지 순서대로 탐색&lt;/td&gt;
&lt;td style=&quot;width: 36.5891%;&quot;&gt;자기테이프, 순차 파일&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 24.4961%;&quot;&gt;색인 접근(Index Access)&lt;/td&gt;
&lt;td style=&quot;width: 38.9147%;&quot;&gt;색인을 사용하여 키로 빠르게 접근&lt;/td&gt;
&lt;td style=&quot;width: 36.5891%;&quot;&gt;도서관의 책 목록, 데이터베이스의 인덱스&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 24.4961%;&quot;&gt;해싱 접근(Hashing Access)&lt;/td&gt;
&lt;td style=&quot;width: 38.9147%;&quot;&gt;해시 함수로 키 값을 바로 주소로 변환하여 접근&lt;/td&gt;
&lt;td style=&quot;width: 36.5891%;&quot;&gt;해시 테이블(Hash Table)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;/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;[문제2] 다음 &amp;lt;보기&amp;gt; 중 데이터베이스의 열(칼럼), 파일에서 필드에 대응하는 것은?&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;ㄱ. domain&amp;nbsp; &amp;nbsp; ㄴ. degree&amp;nbsp; &amp;nbsp; ㄷ.attribute&amp;nbsp; &amp;nbsp; ㄹ. cardinality&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정답: ㄷ.attribute&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;풀이: 데이터베이스에서 열(Column) 은 속성(Attribute) 을 의미한다. 그리고 파일 시스템에서는 이를 필드(Field) 라고 한다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 110px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style10&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 21px;&quot;&gt;데이터베이스 용어&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 21px;&quot;&gt;파일 시스템 용어&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 21px;&quot;&gt;의미&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 21px;&quot;&gt;튜플(Tuple), 행(Row)&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 21px;&quot;&gt;레코드(Record)&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 21px;&quot;&gt;하나의 객체에 관한 모든 정보를 담고 있는 데이터 단위&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px;&quot;&gt;애트리뷰트(Attribute), 열(Column)&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px;&quot;&gt;필드(Field)&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px;&quot;&gt;하나의 데이터를 구성하는 개별적인 항목 단위&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px;&quot;&gt;카디널리티(Cardinality)&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px;&quot;&gt;레코드(행)의 개수&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px;&quot;&gt;행(레코드)의 수&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px;&quot;&gt;디그리(Degree)&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px;&quot;&gt;필드(열)의 개수&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px;&quot;&gt;열(필드)의 수&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px;&quot;&gt;도메인(Domain)&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px;&quot;&gt;필드가 가질 수 있는 값의 범위&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; height: 17px;&quot;&gt;가능한 데이터 값의 집합&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;/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;[문제3]&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;22번 포트를 기본 포트로 사용하고, 보안된 원격 접속을 지원하는 프로토콜&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정답: SSH&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;풀이: 22번 포트를 사용하는 프로토콜은 대표적으로 SSH이며, 원격 서버에 안전한 암호화 접속을 제공하는 프로토콜이다. 이전에 많이 쓰였던 Telnet(23번 포트)은 데이터가 암호화되지 않기 때문에 보안상 문제가 있으며, 그 대체로 등장한 프로토콜이 SSH이다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style10&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;프로토콜&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;기본 포트 번호&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;용도&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;SSH&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;22번&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;보안된 원격 접속&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;Telnet&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;23번&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;원격 접속(암호화X)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;FTP&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;21번&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;파일 전송&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;HTTP&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;80번&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;웹 서비스&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;HTTPS&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;443번&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%;&quot;&gt;보안 웹 서비스&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;/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;[문제4] &lt;span&gt;다음은 프로세스 스케줄링 기법에 대한 설명이다. 괄호(①, ②)에 들어갈 알맞은 스케줄링 알고리즘을 쓰시오.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;&lt;span&gt;&lt;span&gt;① (　　) 스케줄링 알고리즘은 준비상태 큐에서 대기 중인 프로세스들 가운데 실행 시간이 가장 짧다고 판단된 프로세스부터 우선적으로 CPU를 할당한다. 이 방식은 비선점형(Non-preemptive) 스케줄링 기법이며, 평균 대기 시간이 최소화되는 특징이 있지만, 실행 시간이 긴 프로세스의 실행 순서가 지속적으로 뒤로 밀리는 기아(Starvation) 현상이 발생할 가능성이 높다.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;span&gt;② (　　) 스케줄링 알고리즘은 현재 실행 중인 프로세스의 남은 실행 시간과 준비상태 큐에 새롭게 진입한 프로세스의 예상 실행 시간을 비교하여, 짧은 실행 시간을 가진 프로세스가 긴 실행 시간이 남은 프로세스를 중단시키고 CPU를 우선 차지한다. 이 방식은 선점형(Preemptive) 스케줄링 기법이며, 시스템 자원의 효율성과 프로세스 반응성을 높이는 데 효과적이지만, 잦은 프로세스 전환으로 인한 오버헤드(Overhead)가 발생할 수 있다.&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정답: ① SJF, ② SRT&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;풀이:&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style14&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 13.7209%;&quot;&gt;알고리즘&lt;/td&gt;
&lt;td style=&quot;width: 14.3024%;&quot;&gt;선점 여부&lt;/td&gt;
&lt;td style=&quot;width: 34.5349%;&quot;&gt;동작 방식&lt;/td&gt;
&lt;td style=&quot;width: 37.4418%;&quot;&gt;특징&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 13.7209%;&quot;&gt;SJF&lt;/td&gt;
&lt;td style=&quot;width: 14.3024%;&quot;&gt;비선점&lt;/td&gt;
&lt;td style=&quot;width: 34.5349%;&quot;&gt;가장 짧은 작업부터 처리&lt;/td&gt;
&lt;td style=&quot;width: 37.4418%;&quot;&gt;평균 대기 시간 최소화, 기아 발생 가능성 있음&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 13.7209%;&quot;&gt;SRT&lt;/td&gt;
&lt;td style=&quot;width: 14.3024%;&quot;&gt;선점&lt;/td&gt;
&lt;td style=&quot;width: 34.5349%;&quot;&gt;남은 시간이 짧은 작업 우선 처리&lt;/td&gt;
&lt;td style=&quot;width: 37.4418%;&quot;&gt;반응성 우수, 오버헤드 발생&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;/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;[문제5]&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;
&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;Main&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;static&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;change&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;String&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[] &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;data&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;String&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;){&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; s &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Z&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;static&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;main&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;String&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[] &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;args&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;String&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;data&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; { &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;A&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; };&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;String&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;B&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;change&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(data, s);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;out&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(data[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정답: BB&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;풀이:&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 181px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; text-align: center; height: 21px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;①&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;String&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;data&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[]&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;A&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;};&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;변수 data는 &quot;A&quot; 요소를 가진 배열의 주소를 가리킨다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; text-align: center; height: 21px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;②&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;String&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;B&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;변수 s는 문자열 리터럴 &quot;B&quot;의 주소를 가리킨다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; text-align: center; height: 21px;&quot;&gt;③&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;change&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(data, s);&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;변수 data, s를 매개변수로 change() 메서드를 호출&lt;br /&gt;※ 각 변수가 갖고있는 값을 전달한다. 각 변수는 '주소'를 값으로 갖고있기 때문에 결론적으로 주소를 전달하게된다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 84px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; text-align: center; height: 84px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;④&lt;/span&gt; &lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 84px;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;data[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;s;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 84px;&quot;&gt;change() 메서드가 전달받은 data, s는 '사본'으로 전달받게된다.&lt;br /&gt;즉, main() 메서드의 지역변수 data, s와는 별개인 '사본'이라는 것이다.&lt;br /&gt;&lt;br /&gt;main()의 변수 data가 0xAAA 라는 배열 객체의 주소를 갖고있다고 가정하자.&lt;br /&gt;change()에서 사본 data도 역시 0xAAA 라는 배열 객체의 주소를 갖고있게 된다.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #cccccc; background-color: #1f1f1f;&quot;&gt;data[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8; background-color: #1f1f1f;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc; background-color: #1f1f1f;&quot;&gt;]&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4; background-color: #1f1f1f;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc; background-color: #1f1f1f;&quot;&gt;s;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 는 사본 data가 가리키는 주소 0xAAA를 따라가 배열 객체에 접근하여 배열의 0번 인덱스에 변수 s의 값(&quot;B&quot;문자열 객체의 주소)을 대입한다.&lt;/span&gt;&lt;span style=&quot;color: #cccccc; background-color: #1f1f1f;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;결론적으로 change() 메서드의 변수 data는 사본이지만 main()의 지역변수 data와 같은 배열 객체를 참조하게 되어 해당 배열의 요소를 바꾸게된다.&lt;br /&gt;&lt;br /&gt;배열의 요소는 &quot;A&quot; 에서 &quot;B&quot;로 바뀐다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; text-align: center; height: 17px;&quot;&gt;⑤&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 17px;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;s&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Z&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 17px;&quot;&gt;여기서 s도 역시 마찬가지로 '사본'이다.&lt;br /&gt;&lt;br /&gt;main()의 변수 s가 0xBBB 라는 문자열 &quot;B&quot;의 주소를 갖고있다고 가정하자.&lt;br /&gt;change()에서 사본 s도 역시 0xBBB 라는 문자열 &quot;B&quot;의 주소를 갖고있게 된다.&lt;br /&gt;&lt;br /&gt;그리고&lt;span style=&quot;color: #000000;&quot;&gt; 문자열 &quot;Z&quot;의 주소는 0xCCC 라고 가정하자.&lt;br /&gt;그렇다면 &lt;/span&gt;&lt;span style=&quot;color: #cccccc; background-color: #1f1f1f;&quot;&gt;&lt;span style=&quot;color: #cccccc; background-color: #1f1f1f;&quot;&gt;s&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4; background-color: #1f1f1f;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178; background-color: #1f1f1f;&quot;&gt;&quot;Z&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc; background-color: #1f1f1f;&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 는 사본 s가 0xCCC 라는 문자열 &quot;Z&quot;의 주소를 갖게되는것이다.&lt;br /&gt;&lt;br /&gt;원본 변수인 main()의 변수 s에는 영향이 있는가? 없다.&lt;br /&gt;원본 변수 s는 여전히 문자열 &quot;B&quot;의 주소를 가리키고있다.&lt;br /&gt;&lt;br /&gt;그렇게 change()메서드 호출이 종료되면 사본 변수는 모두 사라지게된다.&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; text-align: center; height: 17px;&quot;&gt;⑥&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 17px;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;out&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(data[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;s);&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 17px;&quot;&gt;변수 data가 가리키는 배열의 0번 인덱스가 가리키는 요소는 문자열 &quot;B&quot;의 주소이다.&lt;br /&gt;그리고 변수 s가 가리키는 값은 변함없이 문자열 &quot;B&quot;의 주소이다.&lt;br /&gt;&lt;br /&gt;이를 출력하게되면 자료형이 String이기 때문에, 주소값을 문자열로 변환한 뒤 출력하게 되어 &quot;B&quot; + &quot;B&quot; 인 &quot;BB&quot;가 출력된다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;/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;[문제6]&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;IPv4 주소가 130.52.16.132이고, 서브넷 마스크가 255.255.255.192일 때, 이 IP 주소가 속한 네트워크의 주소는 xxx.xxx.xxx.( ① )이며, 이 네트워크에서 실제로 사용할 수 있는 호스트(Host)의 개수는 브로드캐스트 주소와 네트워크 주소를 제외한 ( ② )개이다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정답: ① 128, ② 62&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;풀이: 서브넷 마스크 255.255.255.192 는 /26으로 표기된다. /26는 호스트 부분 비트가 6비트라는 의미이다.(32비트-26비트=6비트) 즉, 네트워크 주소는 64단위로 증가한다.(0~63, 64~127, 128~191, 192~255)&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;그리고 주어진 IP 주소의 마지막 옥텟은 132 이므로, 이 주소는 128~191 범위의 네트워크 주소에 포함된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ 네트워크 주소란?: 특정 IP 주소가 속한 네트워크 전체를 대표하는 주소를 의미한다. 일반적으로 네트워크 주소 범위의 가장 첫 번째 주소가 네트워크 주소다.&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;즉, 해당 IP 주소가 속한 네트워크 주소는 130.52.16.128이다.&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;그리고 네트워크 주소 128~191에서 네트워크 주소와 브로드캐스트 주소를 제외하면 실제 사용 가능한 호스트 수는 64-2=62개.&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;/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;[문제7] 다음은 디자인 패턴에 대한 설명이다. 빈칸에 공통으로 들어갈 알맞은 용어를 쓰시오.&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 70.1162%; height: 148px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt; 이&amp;nbsp;패턴은&amp;nbsp;객체에&amp;nbsp;접근하기&amp;nbsp;위한&amp;nbsp;인터페이스&amp;nbsp;역할을&amp;nbsp;수행하며,&amp;nbsp;'대리자'라고도&amp;nbsp;한다. &lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt; 가상 (　) : 생성 비용이 높은 객체의 생성을 미루어 필요한 시점에 생성하여 사용한다. &lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt; 보호 (　) : 객체에 대한 접근 권한을 제어하여 무분별한 접근으로부터 객체를 보호한다. &lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffffff; color: #404040; text-align: start;&quot;&gt;&amp;bull;&lt;/span&gt; 원격 (　) : 원격 서버나 원격 객체에 대한 접근 및 통신을 처리한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ 실제 시험에서는 &amp;lt;보기&amp;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;정답: Proxy&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;풀이: 프록시(Proxy)라는 단어 자체가 &quot;대리자&quot;라는 의미를 갖고 있으며, 프록시는 실제 객체를 대신해 클라이언트가 객체에 접근하는 인터페이스 역할을 수행한다. 즉, 첫 문장에서 이미 &quot;Proxy&quot;라는 개념을 강하게 암시하고 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ 가상 프록시: 비용이 많이 드는 객체를 처음부터 생성하지 않고, 사용 요청이 실제로 들어왔을 때 생성하여 성능을 개선한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ 보호 프록시: 클라이언트의 권한에 따라 객체에 접근할 수 있는지를 판단하여 접근을 통제한다. 권한을 검증하는 추가적인 로직은 Proxy가 대신 처리한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;/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;[문제8]&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;클라이언트와 서버 간 자바스크립트 및 XML을 비동기 방식으로 처리하며, 전체 페이지를 새로고치지&amp;nbsp;않고도&amp;nbsp;웹페이지&amp;nbsp;일부&amp;nbsp;영역만을&amp;nbsp;업데이트할&amp;nbsp;수&amp;nbsp;있도록&amp;nbsp;하는&amp;nbsp;기술을&amp;nbsp;의미하는&amp;nbsp;용어를&amp;nbsp;쓰시오.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정답: AJAX(Asynchronous JavaScript And XML)&lt;br /&gt;풀이: (이미 문제의 지문이 AJAX를 정의하고있음)&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;/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;[문제9]&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;
&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;Gisafirst&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;static&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;interface&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;F&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;apply&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;x&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;throws&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;Exception&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;static&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;run&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;F&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;try&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;apply&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;catch&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;Exception&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;e&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;static&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;main&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;String&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[] &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;args&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;F&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (x) &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (x &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;throw&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;Exception&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;();&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; x &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;out&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;run&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(f) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;run&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;((&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; n) &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; n &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;));&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정답: 19&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;먼저 main() 메서드의 코드부터 이해해보자.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 63px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 21px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;①&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;F&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;(x)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;자료형(type)이 인터페이스 F인 변수 f를 선언하고,&lt;br /&gt;매개변수 목록(리스트) (x) 와 실행 코드 블록 {...} 을 화살표(-&amp;gt;)로 연결했다.&lt;br /&gt;이것은 람다식(lambda expression) 의 표현 방식이다.&lt;br /&gt;&lt;br /&gt;즉, 인터페이스 F의 apply 메서드를 '람다'로 구현한 객체를 만들어 변수 f에 담는다는 의미이다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 21px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;②&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;color: #cccccc; background-color: #000000;&quot;&gt;&amp;nbsp;{&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;(x&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;throw&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;Exception&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;color: #cccccc; background-color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;x&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;color: #cccccc; background-color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;인터페이스 F는 추상적 형태(시그니처)의 메서드만 갖고 있고, 실제 로직은 어딘가에서 구현해 써야 한다.&lt;br /&gt;이 전체 블록이 바로 함수형 인터페이스 F의 apply(int x) 메서드를 구현하는 람다식의 본문이다.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;매개변수 x가 2보다 큰지 확인하고, 조건이 참이면 Exception 객체를 생성해 즉시 던진다. 이 예외는 run 메서드의 try-catch 로 전달된다.&lt;br /&gt;그리고 조건이 거짓일때는 x에 2를 곱한 값을 돌려준다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 21px;&quot;&gt;③&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;out&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;run&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(f)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;run&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;((&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;n)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;n&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;메서드를 호출하는 출력문. 결과를 출력하게된다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음은 인터페이스 F의 선언부를 살펴보자.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 63px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 21px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;①&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;static&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;interface&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;F&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;정적 인터페이스 F를 선언한다.&lt;br /&gt;static으로 선언된 이유는, 바깥 클래스(Gisafirst)의 인스턴스가 없어도 F를 쓸 수 있다는 표시이다.(중요하진 않음)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 21px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;②&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;color: #cccccc; background-color: #000000;&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;apply&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;x&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;throws&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;Exception&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;color: #cccccc; background-color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;정수 하나를 받아(int x) 정수(int)를 반환하는 apply 메서드이다.&lt;br /&gt;실행 중 문제가 생기면 Exception을 던질 수 있다. 호출 쪽에서 try-catch 처리를 해 줘야 한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마지막으로 run() 메서드를 이해해보자.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 63px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 21px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;①&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;static&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;run&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;F&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;F타입 객체를 받아 정수 하나를 반환하는 메서드이다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 21px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;②&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;color: #cccccc; background-color: #000000;&quot;&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;try&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;{&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;apply&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;catch&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;Exception&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;e&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;color: #cccccc; background-color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;color: #cccccc; background-color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;try-catch문이다.&lt;br /&gt;먼저 f.apply(3)를 호출하여 반환한다.&lt;br /&gt;그리고 예외를 감시하고 있다가, Exception이 throw되면 여기로 이동하여 7을 반환한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 63px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 21px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;①&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;run&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(f)&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;가장 먼저 출력문의 run(f) 메서드가 호출된다.&lt;br /&gt;메서드 호출시 매개변수 f는 main() 메서드에서 정의된 람다 객체를 담고있는 변수이다. 즉, run() 메서드에서 반환된 값을 람다식에 대입하게된다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 21px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;②&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;static&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;run&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;F&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;try&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;{&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;apply&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;catch&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;Exception&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;e&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;color: #cccccc; background-color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;color: #cccccc; background-color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;변수 f는 인터페이스 F의 apply 메서드를 람다식으로 구현한 변수이다.&lt;br /&gt;즉, 변수 f가 구현한 apply 메서드를 매개변수로 3을 넣어 호출해 그 결과(int)를 얻는다.&lt;br /&gt;&lt;br /&gt;람다식의 x에 3을 대입해보면,&lt;br /&gt;3은 2보다 크기때문에 new Exception()을 던진다.&lt;br /&gt;따라서 f.apply(3)은 정상값을 반환하지 못하고 예외로 종료되며,&lt;br /&gt;이 예외가 run() 메서드의 catch에 잡혀 7을 반한한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 21px;&quot;&gt;③&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;run&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;((&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;n)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;n&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;정수 n을 받아서 n+9를 돌려주는 람다식을 run() 메서드에 넘긴다.&lt;br /&gt;&lt;br /&gt;하지만 run() 메서드는 자료형이 F인 변수를 매개변수로 받는다.&lt;br /&gt;&lt;br /&gt;그렇기 때문에, 람다식 (int n) -&amp;gt; n + 9는 목적 타입인 함수형 인터페이스 F로 매핑되어 하나의 구현체가 된다.&lt;br /&gt;즉, main() 메서드에서 선언된 변수 f가 갖는 람다식과는 별개로, 또 다른 하나의 apply(int x)를 구현하는 람다식이 생기는 것이다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 4.47676%;&quot;&gt;④&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;static&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;run&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;F&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;try&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;{&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;apply&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;catch&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;Exception&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;e&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;color: #cccccc; background-color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;color: #cccccc; background-color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%;&quot;&gt;그렇게 run() 메서드는 (int n) -&amp;gt; n + 9 라는 람다식으로 구현된 apply 메서드를 갖는 구현체를 사용하여 apply 메서드를 호출하게되고, 매개변수로 3을 넣어 호출해 3 + 9 = 12 를 반환한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 4.47676%;&quot;&gt;⑤&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;out&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;7 + 12&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%;&quot;&gt;19&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;/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;[문제10]&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;
&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;P&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;static&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;String&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;() {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;P&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;sum&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; a &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;C&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;extends&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;P&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;static&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;String&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;() {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;C&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;sum&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; a &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;Gisafirst&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;static&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;main&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;String&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[] &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;args&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;P&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;tmp&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;C&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;();&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;out&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;tmp&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;sum&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;tmp&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;());&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정답: 5P&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;풀이:&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 63px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 21px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;①&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;P&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;tmp&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;C&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;();&lt;/span&gt; &lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;참조 타입은 P, 실제 객체는 C&lt;br /&gt;※ 업캐스팅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 21px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;②&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;tmp&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;sum&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt; &lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;sum() 메서드는 인스턴스 메서드이기 때문에 실제 객체인 클래스 C 버전을 호출한다.&lt;br /&gt;즉, 3 + 2 = 5 반환.&lt;br /&gt;※ static 키워드가 없으면 객체를 통해서만 호출 가능한 &quot;인스턴스 메서드&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 21px;&quot;&gt;③&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;tmp&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;()&lt;/span&gt; &lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;print() 메서드는 static 키워드로 선언되었기 때문에, 변수가 참조하는 타입인 P 기준으로 결정된다.&lt;br /&gt;즉, P.print()가 실행되어 &quot;P&quot;를 반환.&lt;br /&gt;※ static 키워드가 있으면 클래스 이름으로 직접 호출 가능한 &quot;정적 메서드&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 4.47676%;&quot;&gt;④&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;out&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(5+&quot;P&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;);&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%;&quot;&gt;5P&lt;br /&gt;※ 피연산자 중 하나라도 String이면 문자열 결합으로 해석&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;/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;[문제11]&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;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&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;[문제12]&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;
&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;#include&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;lt;stdio.h&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;#define&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt; SIZE &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;typedef&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[SIZE];&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; front;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; rear;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;} Queue;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;enq&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(Queue&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;q&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;val&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;q&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;q&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;rear&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; val;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;q&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;rear&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;q&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;rear&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;%&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; SIZE;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;deq&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(Queue&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;q&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; val &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;q&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;q&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;front&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;];&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;q&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;front&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;q&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;front&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;%&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; SIZE;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; val;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;main&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;() {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; Queue q &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; {{&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;}, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;enq&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;q, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;enq&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;q, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;deq&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;q);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;enq&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;q, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;printf&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;%d&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; 그리고 &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;%d&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;deq&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;q), &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;deq&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;q));&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정답: 2 그리고 3&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;풀이:&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 492px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 21px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;①&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;Queue q&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;{{&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;},&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;};&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;q라는 이름의 Queue 구조체 변수를 선언하고,&lt;br /&gt;변수 q의 구조체 a[SIZE] 멤버변수에는 {0}을 넣게되는데, SIZE는 3으로 정의되어있기 때문에 a[3]={0, 0, 0}이 된다.&lt;br /&gt;&lt;br /&gt;그리고 front 멤버변수에는 0, rear 멤버변수에도 0을 대입하게된다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 21px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;②&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;enq&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;q,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;enq() 함수 호출&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 21px;&quot;&gt;③&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;enq&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(Queue&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;q&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;val&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;q&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;q&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;rear&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;val;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;q&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;rear&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;q&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;rear&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;%&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;SIZE;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;color: #cccccc; background-color: #000000;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;변수 q에 접근하여 배열 a의 특정 인덱스에 val을 넣게된다.&lt;br /&gt;val은 함수 호출시 인자로 전달된 1이다.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;a[q-&amp;gt;rear] 에서 q-&amp;gt;rear 는 변수 q의 rear값을 의미하는것이다.&lt;br /&gt;즉, a[0] 에 1을 넣게된다.&lt;br /&gt;그리고 q의 rear에 0+1 % 3 = 1이 대입된다.&lt;br /&gt;&lt;br /&gt;※ q의 구조체 배열 a 내용 {1, 0, 0}&lt;br /&gt;※ q의 구조체 rear 값 = 1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 21px;&quot;&gt;④&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;enq&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;q,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;enq() 함수 호출&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 101px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 101px;&quot;&gt;⑤&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 101px;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;enq&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(Queue&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;q&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;val&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;q&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;q&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;rear&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;val;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;q&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;rear&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;q&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;rear&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;%&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;SIZE;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;color: #cccccc; background-color: #000000;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 101px;&quot;&gt;q의 구조체 a[1] 에 2를 대입.&lt;br /&gt;q의 구조체 rear에 1 + 1 % 3 = 2를 대입.&lt;br /&gt;&lt;br /&gt;※ q의 구조체 배열 a 내용 {1, 2, 0}&lt;br /&gt;※ q의 구조체 rear 값 = 2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 21px;&quot;&gt;⑥&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;&lt;span style=&quot;color: #dcdcaa; background-color: #000000;&quot;&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;deq&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;q);&lt;/span&gt; &lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;deq() 함수 호출&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 181px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 181px;&quot;&gt;⑦&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 181px;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;deq&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(Queue&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;q&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;val&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;q&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;q&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;front&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;];&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;q&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;front&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;q&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;front&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;%&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;SIZE;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;val;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;color: #cccccc; background-color: #000000;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 181px;&quot;&gt;함수 deq() 내부에서 val이라는 지역변수 생성.&lt;br /&gt;q의 구조체 a[0]이 갖는 값(1)을 val에 대입.&lt;br /&gt;&lt;br /&gt;q의 구조체 front에 0 + 1 % 3 = 1을 대입&lt;br /&gt;그리고 val을 반환하지만 반환할곳이 없음.&lt;br /&gt;&lt;br /&gt;※ q의 구조체 배열 a 내용 {1, 2, 0}&lt;br /&gt;※ q의 구조체 rear 값 = 2 &lt;br /&gt;※ q의 구조체 front 값 = 1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 21px;&quot;&gt;⑧&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;enq&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;q,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;);&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;enq() 함수 호출&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 84px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 84px;&quot;&gt;⑨&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 84px;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;enq&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(Queue&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;q&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;val&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;q&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;q&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;rear&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;val;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;q&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;rear&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;q&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;rear&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;%&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;SIZE;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;color: #cccccc; background-color: #000000;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 84px;&quot;&gt;q의 구조체 a[2]에 3을 대입.&lt;br /&gt;q의 구조체 rear에 2 + 1 % 3 = 0을 대입.&lt;br /&gt;&lt;br /&gt;※ q의 구조체 배열 a 내용 {1, 2, 3}&lt;br /&gt;※ q의 구조체 rear 값 = 0&lt;br /&gt;※ q의 구조체 front 값 = 1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 4.47676%;&quot;&gt;⑩&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;printf&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;%d&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;그리고&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;%d&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;deq&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;q),&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;deq&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;q));&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%;&quot;&gt;printf() 출력문 첫번째 &lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;deq&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;q)&lt;/span&gt;&lt;/span&gt; 호출에서 q의 구조체 a[1]이 갖는 값 2를 val에 대입하고, q의 구조체 front에 1 + 1 % 3 = 2를 대입한다. 그리고 2를 반환한다.&lt;br /&gt;※ q의 구조체 front 값 = 2&lt;br /&gt;&lt;br /&gt;두번째 호출에서는 q의 구조체 a[2]이 갖는 값 3을 val에 대입하고, q의 구조체 front에 2 + 1 % 3 = 0을 대입하지만, 이제 상관이 없어진다. 그리고 3을 반환한다.&lt;br /&gt;&lt;br /&gt;즉, 출력 결과는 &quot;&lt;b&gt;2 그리고 3&lt;/b&gt;&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;/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;[문제13]&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;라운드로빈 평균대기시간 계산 문제&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;※ 아직 복원이 안됨&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;========================================================================&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[문제14]&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;
&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;#include&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;lt;stdio.h&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; dat {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; x;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; y;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;main&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;() {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; dat a&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;[]&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; { {&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;}, {&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;}, {&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;} };&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; dat&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; ptr &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; a;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; dat&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;**&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; pptr &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;ptr;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; (&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;pptr)[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;pptr)[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;];&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;printf&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;%d&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; 그리고 &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;%d&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;].&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;x&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;].&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;y&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;정답: 5 그리고 6&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;풀이:&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 185px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 21px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;①&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;dat a&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;[]&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;{ {&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;}, {&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;}, {&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;} };&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;a라는 이름의 dat 구조체 배열을 선언하고, 3개의 dat 객체를 담는다.&lt;br /&gt;&lt;br /&gt;첫번째 객체 x=1, y=2&lt;br /&gt;두번째 객체 x=3, y=4&lt;br /&gt;세번째 객체 x=5, y=6&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 21px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;②&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;dat&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;ptr&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;a;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;구조체 dat의 주소를 가리킬 수 있는 포인터 변수 ptr을 선언하고,&lt;br /&gt;배열 a의 시작주소(=&amp;amp;a[0])를 담는다.&lt;br /&gt;※ 배열의 이름 자체는 해당 배열의 시작주소를 의미함&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 21px;&quot;&gt;③&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;dat&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;**&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;pptr&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;ptr;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;포인터변수 ptr의 주소를 가리키는 이중포인터 pptr를 선언한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 21px;&quot;&gt;④&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;pptr)[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;pptr)[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;];&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;pptr 의 값은 &amp;amp;ptr이다. 그렇다면 *pptr은 pptr이 갖는 값(&amp;amp;ptr)을 역참조하여 값을 가져온다. 즉, *pptr 은 ptr이 갖고있는 값 a를 참조하게된다.&lt;br /&gt;&lt;br /&gt;정리하자면 아래와 같이 해석될 수 있는것이다.&lt;br /&gt;*pptr == a&lt;br /&gt;(*pptr)[1] == a[1]&lt;br /&gt;(*pptr)[2] == a[2]&lt;br /&gt;&lt;br /&gt;즉, &lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;pptr)[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;pptr)[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;];&lt;/span&gt;&lt;/span&gt; 는 a[1]에 a[2]값을 대입하겠다는것이다.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;dat a&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;[]&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;{ {&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;}, {&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;}, {&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;6&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;}&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &amp;nbsp;는 &lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;dat a&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;[]&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;{ {&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;}, {&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;span style=&quot;color: #b5cea8; text-align: start;&quot;&gt;6&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;}, {&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;6&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;}&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; 이 된다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 101px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 101px;&quot;&gt;⑤&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 101px;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;printf&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;%d&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;그리고&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;%d&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;].&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;x&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;].&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;y&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 101px;&quot;&gt;a[1].x 는 a[1]의 x값을 물어보는것이다.&lt;br /&gt;a[1].y 는 a[1]의 y값을 물어보는것이다.&lt;br /&gt;&lt;br /&gt;즉, 출력 결과는 &quot;&lt;b&gt;5 그리고 6&lt;/b&gt;&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;/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;[문제15]&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;
&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;Gisafirst&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;static&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;BO&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;v&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;BO&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;v&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;v&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; v;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;static&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;main&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;String&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[] &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;args&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;BO&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;BO&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;BO&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;b&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;BO&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;BO&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;c&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;BO&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;BO&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[] &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;arr&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; { a, b, c };&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;BO&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;t&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; a;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; arr[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; c;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; arr[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; t;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; arr[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;].&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;v&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; arr[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;].&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;v&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;out&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;v&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;a&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;b&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;v&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;b&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;c&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;v&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정답: 1a3b3&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;풀이:&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 94px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 21px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;①&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;BO&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;BO&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;BO&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;b&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;BO&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;BO&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;c&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;new&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;BO&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;타입이 BO인 객체 a, b, c를 선언하고,&lt;br /&gt;각각 인스턴스 변수로 a는 v=1, b는 v=2, c는 v=3 를 갖게된다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 21px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;②&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;BO&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[]&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;arr&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;{ a, b, c };&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;변수 arr은 a, b, c를 요소로 담는 배열을 가리킨다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 21px;&quot;&gt;③&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;BO&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;t&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;a;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;타입이 BO인 객체 t를 선언하고, a와 같은 객체를 가리키도록 한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 21px;&quot;&gt;④&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;arr[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;c;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;arr이 가리키는 배열의 0번 인덱스에 객체 c를 대입한다.&lt;br /&gt;&lt;br /&gt;※ &lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;arr&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&amp;nbsp;{ a, b, c };&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;는&lt;/span&gt; &lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;arr&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;{ c, b, c };&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;가 된다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 10px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 10px;&quot;&gt;⑤&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 10px;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;arr[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;t;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 10px;&quot;&gt;arr이 가리키는 배열의 2번 인덱스에 객체 t를 대입한다.&lt;br /&gt;※&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;arr&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt; { c, b, c };&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;는&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;arr&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;{ c, b, t };&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;가 된다.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 4.47676%;&quot;&gt;⑥&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%;&quot;&gt;&lt;span style=&quot;color: #cccccc; background-color: #000000;&quot;&gt; &lt;span style=&quot;color: #cccccc;&quot;&gt;arr[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;].&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;v&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;arr[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;].&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;v&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;;&lt;/span&gt; &lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%;&quot;&gt;arr[1]은 객체 b를 의미하고, arr[0]은 객체 c를 의미한다.&lt;br /&gt;즉, b의 v에 c의 v값(3)을 대입하겠다는것.&lt;br /&gt;&lt;br /&gt;※ 객체 b의 v 값은 3이 된다.&lt;br /&gt;※ a.v=1, b.v=3, c.v=3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 4.47676%;&quot;&gt;⑦&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%;&quot;&gt;&lt;span style=&quot;color: #cccccc; background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;System&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;out&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;v&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;a&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;b&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;v&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;b&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;c&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;v&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;);&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%;&quot;&gt;1 + &quot;a&quot; + 3 + &quot;b&quot; + 3 = 1a3b3&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;/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;[문제16]&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;
&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;#include&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;lt;stdio.h&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; node {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; p;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; node&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; n;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;main&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;() {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; node a &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; {&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;NULL&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; node b &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; {&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;NULL&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; node c &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; {&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;NULL&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;c&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;a;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;b;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;b&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;NULL&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; node&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; head &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;c;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;printf&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;%d&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;%d&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;%d&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;head&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;head&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;head&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정답: 3 1 2&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;풀이:&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 94px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 21px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;①&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;node a&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;{&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;NULL&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;};&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;node b&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;{&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;NULL&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;};&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;node c&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;{&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;NULL&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;};&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;각각 a, b ,c 라는 이름의 node 구조체 변수를 선언하고, 각 객체는 아래와 같은 멤버변수를 갖는다.&lt;br /&gt;&lt;br /&gt;a.p=1, a.n=NULL&lt;br /&gt;b.p=2, b.n=NULL &lt;br /&gt;c.p=3, c.n=NULL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 21px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;②&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;c&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;a&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;c의 멤버변수 n에 객체 a의 주소를 대입한다.&lt;br /&gt;※ 멤버변수 n은 포인터이기 때문에 주소를 대입할 수 있음&lt;br /&gt;a.p=1, a.n=NULL&lt;br /&gt;b.p=2, b.n=NULL&lt;br /&gt;c.p=3, c.n=&amp;amp;a&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 21px;&quot;&gt;③&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;b;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;a의 멤버변수 n에 객체 b의 주소를 대입한다.&lt;br /&gt;a.p=1, a.n=&amp;amp;b&lt;br /&gt;b.p=2, b.n=NULL&lt;br /&gt;c.p=3, c.n=&amp;amp;a&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 21px;&quot;&gt;④&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;b&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;NULL&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;b의 멤버변수 n에는 NULL을 대입한다.(원래부터 NULL이긴 했음)&lt;br /&gt;a.p=1, a.n=&amp;amp;b&lt;br /&gt;b.p=2, b.n=NULL&lt;br /&gt;c.p=3, c.n=&amp;amp;a&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 10px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 10px;&quot;&gt;⑤&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 10px;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;node&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;head&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;c;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 10px;&quot;&gt;그리고 구조체 node의 주소를 가리킬 수 있는 포인터 변수 head를 선언하고,&lt;br /&gt;객체 c의 주소를 대입한다.&lt;br /&gt;&lt;br /&gt;즉, head라는 변수는 객체 c에 접근할 수 있게된다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 4.47676%;&quot;&gt;⑥&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;printf&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;%d&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;%d&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;%d&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;head&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;head&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;head&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%;&quot;&gt;포인터를 통해 해당 객체의 구조체에 접근하려면 Link(-&amp;gt;)를 사용해야한다.&lt;br /&gt;&lt;br /&gt;head-&amp;gt;p는 head가 접근하는 객체 c의 p값(3)을 의미한다.&lt;br /&gt;&lt;br /&gt;head-&amp;gt;n은 head가 접근하는 객체 c의 n값(&amp;amp;a)을 의미한다.&lt;br /&gt;즉, head-&amp;gt;n-&amp;gt;p는 객체 a의 p값(1)을 의미한다.&lt;br /&gt;&lt;br /&gt;head-&amp;gt;n-&amp;gt;n은 객체 a의 n값(&amp;amp;b)를 의미한다.&lt;br /&gt;즉, head-&amp;gt;n-&amp;gt;n-&amp;gt;p는 객체 b의 p값(2)을 의마한다.&lt;br /&gt;&lt;br /&gt;출력 결과는 &quot;&lt;b&gt;3 1 2&lt;/b&gt;&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;/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;[문제17]&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;
&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;gisafirst&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;():&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;lst&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;dic&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; {&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;x&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;x&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;x&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;lst&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;dic&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;values&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;())&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;lst&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;99&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;dic&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;add&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;99&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;dic&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;values&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;()))&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;gisafirst&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;())&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정답: 2&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;풀이:&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 93px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 21px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;①&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;gisafirst&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;())&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;출력문에서 gisafirst() 함수 호출&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 21px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;②&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;lst&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;lst라는 리스트를 선언하고 [1, 2, 3] 이라는 3개의 원소로 초기화&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 21px;&quot;&gt;③&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;dic&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;x&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;x&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;x&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;lst&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;dic이라는 딕셔러니 컴프리헨션을 선언한다.&lt;br /&gt;리스트 lst의 각 요소를 순서대로 x에 대입시켜서 x * 2 연산을 수행시키고,&lt;br /&gt;각 lst 요소는 '키'가 되고 연산의 결과가 '값'이 된다.&lt;br /&gt;&lt;br /&gt;그 결과, 아래와같은 딕셔러니가 완성된다.&lt;br /&gt;dic = {1: 2, 2: 4, 3: 6}&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 10px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 10px;&quot;&gt;④&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 10px;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;dic&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;values&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;())&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 10px;&quot;&gt;&lt;span style=&quot;color: #9cdcfe; background-color: #1f1f1f;&quot;&gt;dic&lt;/span&gt;&lt;span style=&quot;color: #cccccc; background-color: #1f1f1f;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa; background-color: #1f1f1f;&quot;&gt;values&lt;/span&gt;&lt;span style=&quot;color: #cccccc; background-color: #1f1f1f;&quot;&gt;()&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 는 딕셔너리 dic의 모든 값을 가져온다.&lt;br /&gt;set() 함수는 매개변수로 받은 값들을 집합(set)으로 변환한다.&lt;br /&gt;&lt;br /&gt;즉, 딕셔너리 dic의 값들을 세트로 변환한다는것.&lt;br /&gt;&lt;br /&gt;s = {2, 4, 6}&lt;br /&gt;&lt;br /&gt;※ 딕셔너리의 '키'는 가져오지 않음. '값'만 가져옴&lt;br /&gt;※ 세트는 중복을 제거하고 원소의 순서를 보장하지 않는다.&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 10px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 10px;&quot;&gt;⑤&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 10px;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;lst&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;99&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 10px;&quot;&gt;리스트 lst의 0번 인덱스에 99를 대입한다.&lt;br /&gt;&lt;br /&gt;※ &lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;lst&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/span&gt; 은 &lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;lst&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;99&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/span&gt; 이 된다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 10px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 10px;&quot;&gt;⑥&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 10px;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;dic&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 10px;&quot;&gt;딕셔너리 dic의 '키' 2에 7을 대입한다.&lt;br /&gt;&lt;br /&gt;※ dic = {1: 2, 2: 4, 3: 6} 는 dic = {1: 2, 2: 7, 3: 6} 이 된다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 4.47676%;&quot;&gt;⑦&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;add&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;99&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%;&quot;&gt;세트 s에 99를 추가한다.&lt;br /&gt;&lt;br /&gt;※ s = {2, 4, 6} 은 s = {2, 4, 6, 99} 가 된다.&lt;br /&gt;※ 99가 맨끝에 들어갈지, 어디에 들어갈지는 랜덤&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 4.47676%;&quot;&gt;⑧&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;dic&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;values&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;()))&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%;&quot;&gt;s 는 {2, 4, 6, 99} 원소를 갖는 세트다.&lt;br /&gt;&lt;br /&gt;그리고 이 시점에서 딕셔너리 dic은 {1: 2, 2: 7, 3: 6} 이다.&lt;br /&gt;set() 함수를 통해 세트로 변환시켜 값만 가져오게되면 {2, 7, 6}이 된다.&lt;br /&gt;&lt;br /&gt;{2, 4, 6, 99} &amp;amp; {2, 7, 6} 에서 '&amp;amp;'은 집합의 교집합 연사자이다.&lt;br /&gt;그리고 len() 함수는 집합의 원소 개수를 세어주는 함수이다.&lt;br /&gt;&lt;br /&gt;공통 원소는 2, 6 두개라서 2를 반환한다.&lt;br /&gt;&lt;br /&gt;마지막으로 출력문에 의해 '&lt;b&gt;2&lt;/b&gt;'가 출력된다.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;/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;[문제18]&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;
&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc;&quot;&gt;
&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;#include&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;lt;stdio.h&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;#include&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;lt;stdlib.h&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; node {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;char&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; c;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; node&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; p;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; node&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;func&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;char&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; node&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; h &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;NULL&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;n;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;while&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;s) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; n &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;malloc&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;sizeof&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; node));&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;c&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;s&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;++&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; h;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; h &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; n;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; h;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;main&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;() {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; node&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; n &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;func&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;BEST&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;while&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (n) {&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;putchar&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;c&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; node&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; t &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; n;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; n &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;free&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(t);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정답: TSEB&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;풀이:&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 203px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 21px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;①&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;node&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;n&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;func&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;BEST&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;구조체 node의 주소를 가리킬 수 있는 포인터 변수 n을 선언하고, func(&quot;BEST&quot;) 호출 결과로 초기화한다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 21px;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;②&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;node&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;func&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;char&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;node&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;h&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;NULL&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;n;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;함수의 매개변수로 문자열 리터럴 &quot;BEST&quot;를 전달받는다.&lt;br /&gt;&lt;br /&gt;그리고 함수 내에서 구조체 node의 주소를 가리킬 수 있는 포인터 변수 h를 선언하고 아무것도 가리키지 않는 NULL을 저장한다.&lt;br /&gt;&lt;br /&gt;그리고 포인터변수 *n도 선언한다. n에는 아무것도 대입하지 않았다.&lt;br /&gt;※ main() 의 변수 n과는 다른 변수임&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 21px;&quot;&gt;③&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;while&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;s)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;반복문의 조건이다.&lt;br /&gt;&lt;br /&gt;매개변수로 전달받은 char* s = &quot;BEST&quot; 이기때문에,&lt;br /&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;while&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;s)&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 에서 *s는 &quot;BEST&quot;의 첫 글자 &quot;B&quot;를 의미한다.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;왜냐하면, s는 아래처럼 4개의 문자를 가진 배열이라고 생각하면 되는데&lt;br /&gt;s[]={'B', 'E', 'S', 'T'}&lt;br /&gt;&lt;br /&gt;변수이름 자체 s는 배열의 시작주소(&amp;amp;s[0])를 의미하고, *s는 &amp;amp;s[0]를 역참조하여 s[0]의 값을 가져오기때문에 'B'를 의미하게 되는 것이다.&lt;br /&gt;&lt;br /&gt;'B'는 ASCII 코드로 66이기 때문에 '참'이다.&lt;br /&gt;※ C언어 에서는 0만 아니면 음수, 양수 모두 참&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 10px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 10px;&quot;&gt;④&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 10px;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; n&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;malloc&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;sizeof&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;node));&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;c&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;s&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;++&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;h;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; h&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;n;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;color: #cccccc; background-color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;h;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;color: #cccccc; background-color: #000000;&quot;&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;※ 첫번째 노드 생성&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 10px;&quot;&gt;반복문의 내용이다.&lt;br /&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;sizeof&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt; node)&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 는 node라는 구조체 하나가 차지하는 바이트 수를 계산한다.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;구조체 node는 char형 변수 하나(1 byte)와, 포인터 변수 하나(8 byte)를 갖고있기 때문에, 패딩을 포함하여 총 16 byte의 크기를 갖는다.&lt;br /&gt;※ 포인터 변수는 64-bit 시스템 기준 8 byte&lt;br /&gt;&lt;br /&gt;malloc() 함수는 매개변수로 전달받은 크기만큼 힙(Heap)메모리에 공간을 할당한다.&lt;br /&gt;&lt;br /&gt;즉, func() 함수에서 선언된 포인터 변수 n에 할당된 메모리 주소를 저장한다.&lt;br /&gt;이에 따라 포인터 변수 n은 메모리 공간 내부에 구조체 멤버변수 c, p가 채워져 임의의 노드 하나가 생성된다.&lt;br /&gt;※ 포인터 변수 n이 구조체를 담는 객체가 된것은 아니다. 다만, malloc이 새로 확보해 준 메모리 블록의 시작 주소를 담고 있어서, 해당 주소가 가리키는 구조체 멤버변수 c, p에 접근할 수 있게된것이다.&lt;br /&gt;&lt;br /&gt;n이 가리키는 멤버 c에 *s++ 를 대입한다. s의 시작주소가 가리키는 값 'B'를 가져오고난 뒤 후위증감연산자에 의해 s는 이제 'E'의 주소를 가리키게된다.&lt;br /&gt;※ n-&amp;gt;c = B&lt;br /&gt;&lt;br /&gt;그리고 n이 가리키는 멤버 p에는 h가 갖는 값 NULL을 대입한다.&lt;br /&gt;※ n-&amp;gt;p = NULL&lt;br /&gt;&lt;br /&gt;그리고 포인터 변수 h에 n을 대입하여 h가 n을 가리키도록 한다.&lt;br /&gt;※ 이것은 다음 반복문에서 n이 새로운 노드(구조체)를 생성하더라도 h가 이전에 생성된 노드를 가리킬 수 있게 하는것&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 10px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 10px;&quot;&gt;⑤&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 10px;&quot;&gt;※ 두번째 노드 생성&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 10px;&quot;&gt;그 다음 반복에서 s는 'E'를 가리킨다. 이 역시 참이기 때문에&lt;br /&gt;반복문 내용을 수행한다.&lt;br /&gt;&lt;br /&gt;여기서 변수 n은 새로운 임의의 노드(구조체)를 만들게된다.&lt;br /&gt;※ n-&amp;gt;c = E&lt;br /&gt;&lt;br /&gt;그리고 n이 가리키는 멤버 p에 h가 갖는 값(이전에 생성된 노드)를 대입한다.&lt;br /&gt;※ n-&amp;gt;p = 최초 생성 노드&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 10px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 10px;&quot;&gt;⑥&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 10px;&quot;&gt;※ 세번째 노드 생성&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 10px;&quot;&gt;그 다음 반복에서 s는 'S'를 가리킨다. 이 역시 참이기 때문에&lt;br /&gt;반복문 내용을 수행한다. &lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;여기서&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;변수 n은 새로운 임의의 노드(구조체)를 만들게된다.&lt;br /&gt;※ n-&amp;gt;c = S&lt;br /&gt;&lt;br /&gt;그리고 n이 가리키는 멤버 p에 h가 갖는 값(이전에 생성된 노드)를 대입한다.&lt;br /&gt;※ n-&amp;gt;p = 두번째 생성 노드&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 21px;&quot;&gt;⑦&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;※ 네번째 노드 생성&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;그 다음 반복에서 s는 'T'를 가리킨다.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;이 역시 참이기 때문에&lt;br /&gt;반복문 내용을 수행한다.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;여기서&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;변수 n은 새로운 임의의 노드(구조체)를 만들게된다.&lt;br /&gt;※ n-&amp;gt;c = T&lt;br /&gt;&lt;br /&gt;그리고 n이 가리키는 멤버 p에 h가 갖는 값(이전에 생성된 노드)를 대입한다.&lt;br /&gt;※ n-&amp;gt;p = 세번째 생성 노드&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 21px;&quot;&gt;⑧&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 21px;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;h;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 21px;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;그 다음 반복에서 s는 '\0' 를 가리킨다.&lt;span&gt; 이것은 거짓이다.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;반복문을 빠져나와서 h를 반환한다.&lt;br /&gt;&lt;br /&gt;h는 현재 n이 세번째로 생성된 노드를 갖고있다.&lt;br /&gt;&lt;br /&gt;그리고 func() 함수 호출은 종료된다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 17px;&quot;&gt;⑨&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 17px;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;while&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;(n)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 17px;&quot;&gt;main() 함수의 반복문이다.&lt;br /&gt;&lt;br /&gt;반복문 while(n)에서 n은 func() 함수에서 반환된 h값을 가지고있다.&lt;br /&gt;h가 갖고있는 값은 NULL이나 0이 아니기 때문에 참(true)이다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 17px;&quot;&gt;⑩&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 17px;&quot;&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;putchar&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;c&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;node&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;t&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;n;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; n&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;free&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(t);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;color: #cccccc; text-align: start;&quot;&gt;&lt;span style=&quot;color: #cccccc; background-color: #000000;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 17px;&quot;&gt;n은 func() 함수에서 반환된 h값을 갖고있기 때문에&lt;br /&gt;n-&amp;gt;c는 h가 갖고있던 func() 함수에서 n이 마지막(네번째)으로 생성한 노드(구조체)의 c값 'T'를 의미한다.&lt;br /&gt;※ 네번째 생성된 노드는 현재 해설의 ⑦번 항목에서 생성된 노드를 의미함&lt;br /&gt;&lt;br /&gt;putchar() 함수는 매개변수로 전달받은 문자 하나를 그대로 출력하는 함수이기 때문에 'T' 문자를 출력한다.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;node&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;t&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&lt;span style=&quot;background-color: #000000;&quot;&gt; n;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt; 는 구조체 node의 주소를 가리킬 수 있는 포인터 변수 t를 선언해서 n을 대입한다.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;즉, t는 n과 동일한 주소값을 가지게 된다.&lt;br /&gt;&lt;br /&gt;그리고 n에 n-&amp;gt;p를 대입하는데, 여기서 n-&amp;gt;p는 h가 갖고있던 func() 함수에서 n이 세번째로 생성한 노드(구조체)의 p값 '세번째 생성된 노드' 를 가리키게된다.&lt;br /&gt;※ 세번째 생성된 노드는 현재 해설의 ⑥번 항목에서 생성된 노드를 의미함&lt;br /&gt;&lt;br /&gt;free(t)는 변수 t가 가리키는 n이 가리키던 노드(구조체) 메모리를 제거한다는것이다.&lt;br /&gt;※ t와 n은 같은 주소를 공유한다. n가 malloc() 함수에 의해 할당받은 메모리 영역을 제거함으로써 n이 마지막(네번째)으로 생성한 노드를 제거하는것이다.&lt;br /&gt;※ 제거하는 이유는 더이상 필요없다고 판단되어 메모리 공간 여유 확보를 위해서이다.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 17px;&quot;&gt;⑪&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 17px;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;그 다음 반복에서 n는 func() 함수에서 n이 세번째로 생성한 노드(구조체)를 의미한다.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;세번째로 생성된 노드(구조체)의 c값은 'S'이다.&lt;br /&gt;※ ⑥번 항목 참고&lt;br /&gt;&lt;br /&gt;'S'를 출력하여 현재까지 출력된 문자는 'T', 'S' 이다.&lt;br /&gt;&lt;br /&gt;그리고 n에 n-&amp;gt;p를 대입하는데, func() 함수에서 n이 세번째로 생성한 노드(구조체)의 p값 '두번째 생성된 노드' 를 가리키게된다.&lt;br /&gt;※ 두번째 생성된 노드는 현재 해설의 ⑤ 번 항목에서 생성된 노드를 의미함 &lt;br /&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 4.47676%; height: 17px;&quot;&gt;⑫&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%; height: 17px;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt; &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;그 다음 반복에서 n는 func() 함수에서 n이 두번째로 생성한 노드(구조체)를 의미한다.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;두번째로 생성된 노드(구조체)의 c값은 'E'이다.&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;※&lt;span&gt; ⑤ &lt;/span&gt;&lt;/span&gt;번 항목 참고&lt;br /&gt;&lt;br /&gt;'E'를 출력하여 현재까지 출력된 문자는 'T', 'S', 'E' 이다.&lt;br /&gt;&lt;br /&gt;그리고 n에 n-&amp;gt;p를 대입하는데, func() 함수에서 n이 두번째로 생성한 노드(구조체)의 p값 '첫번째 생성된 노드' 를 가리키게된다.&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;※ 두번째 생성된 노드는 현재 해설의&lt;span&gt; ④&lt;/span&gt;&lt;/span&gt;&amp;nbsp;번 항목에서 생성된 노드를 의미함 &lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 4.47676%;&quot;&gt;⑬&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;그 다음 반복에서 n는 func() 함수에서 n이 첫번째로 생성한 노드(구조체)를 의미한다.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;두번째로 생성된 노드(구조체)의 c값은 'B'이다.&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;※&lt;span&gt;&lt;span&gt; ④ &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;번 항목 참고&lt;br /&gt;&lt;br /&gt;'B'를 출력하여 현재까지 출력된 문자는 'T', 'S', 'E', 'B' 이다.&lt;br /&gt;&lt;br /&gt;그리고 n에 n-&amp;gt;p를 대입하는데, 첫번째로 생성한 노드에서 n-&amp;gt;p는 NULL이기때문에 n은 NULL이 된다.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;다음 반복에서 n은 NULL이기 때문에 반복문이 종료된다.&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 4.47676%;&quot;&gt;⑭&lt;/td&gt;
&lt;td style=&quot;width: 32.3838%;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 63.1395%;&quot;&gt;즉, 출력 결과는 &quot;&lt;b&gt;TSEB&lt;/b&gt;&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;/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;[문제19] 네트워크 보안 공격에 대한 다음 설명에서 괄호에 들어갈 알맞은 공격 기법을 보기에서 찾아 기호(ㄱ~ㅂ)로 쓰시오. &lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;이 공격 기법은 TCP의 3-way Handshaking 과정의 문제점을 악용한 서비스 거부(DoS) 공격이다. 공격자는 다량의 SYN 패킷을 서버에 전송하여 연결 요청을 계속 증가시키고, 서버는 이 요청들에 대한 ACK 응답을 기다리며 자원을 소모하게 된다. 결국 서버의 연결 큐가 포화 상태가 되어 정상적인 사용자 요청을 처리하지 못하도록 하는 공격 방법이다.&lt;br /&gt;&lt;br /&gt;&amp;lt;보기&amp;gt;&lt;br /&gt;ㄱ. Smurf　　ㄴ. TearDrop 　　ㄷ. Ping of Death 　　ㄹ. SYN Flooding 　　ㅁ. Land Attack 　　ㅂ. DDoS&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정답: ㄹ. SYN Flooding&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;풀이: (이미 문제의 지문이 정확히 SYN Flooding을 정의하고있음)&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;/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;[문제20] 다음은 &amp;lt;EMPLOYEE&amp;gt; 릴레이션에 대해〈관계 대수식〉을 수행했을 때 출력되는〈결과〉이다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;〈결과의 각 괄호（①~⑤）에 들어갈 알맞은 답을 쓰시오.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;&lt;b&gt;&amp;lt;관계 대수식&amp;gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;135&quot; data-origin-height=&quot;29&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bNlBzk/btsPrnEaE5U/k61USiwzIAxSoQPVMvjfRk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bNlBzk/btsPrnEaE5U/k61USiwzIAxSoQPVMvjfRk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bNlBzk/btsPrnEaE5U/k61USiwzIAxSoQPVMvjfRk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbNlBzk%2FbtsPrnEaE5U%2Fk61USiwzIAxSoQPVMvjfRk%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;135&quot; height=&quot;29&quot; data-origin-width=&quot;135&quot; data-origin-height=&quot;29&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;&amp;lt;EMPLOYEE&amp;gt;&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 50.9302%; height: 170px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style2&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;INDEX&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;AGE&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;TTL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;48&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;부장&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;25&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;과장&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;41&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;차장&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;36&lt;/td&gt;
&lt;td style=&quot;width: 33.3333%; text-align: center;&quot;&gt;대리&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;&amp;lt;결과&amp;gt;&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 9.30233%; height: 191px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot; data-ke-style=&quot;style2&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%; text-align: center;&quot;&gt;①&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%; text-align: center;&quot;&gt;②&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%; text-align: center;&quot;&gt;③&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%; text-align: center;&quot;&gt;④&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%; text-align: center;&quot;&gt;⑤&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;정답: ① TTL, ② 부장, ③ 과장, ④ 차장, ⑤ 대리&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;풀이:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ &amp;pi;(파이) : 프로젝션(Projection) 연산자를 의미한다. 테이블에서 특정 속성(열)만을 선택하여 결과로 반환하는 연산이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ TTL : 반환할 속성(열) 이름다. 여기서는 TTL 속성만을 선택하겠다는 의미이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;※ EMPLOYEE : EMPLOYEE 테이블(릴레이션)에서 작업을 수행한다는 의미이다.&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;자연어로 해석하면 &quot; EMPLOYEE 테이블에서 TTL 속성(열)만을 추출하라.&quot; 이 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉, EMPLOYEE 테이블의 모든 행(row) 중에서 TTL 열만 골라서 결과로 보여준다는 뜻.&lt;/p&gt;</description>
      <category>정보처리기사/실기(이론)</category>
      <author>나르는나른</author>
      <guid isPermaLink="true">https://byeongg96.tistory.com/129</guid>
      <comments>https://byeongg96.tistory.com/129#entry129comment</comments>
      <pubDate>Sat, 19 Jul 2025 15:33:47 +0900</pubDate>
    </item>
    <item>
      <title>실습5. CPU&amp;middot;메모리 Requests/Limits 설정</title>
      <link>https://byeongg96.tistory.com/128</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;※ requests: Kubernetes가 스케줄링(파드를 어느 노드에 띄울지 결정)할 때 최소로 보장해줄 자원을 의미한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어, requests 조건이 256mb인 파드가 있을 때, 노드에 여유 메모리 공간이 100mb밖에 없다면 더이상 해당 노드에는 파드가 생기지 않는다.&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;※ limits: 파드(컨테이너)가 실제로 사용할 수 있는 최대 자원량을 의미한다. 즉, 필자의 기준에서 spring-boot 웹 애플리케이션이 작동하는 파드가 CPU를 최대 얼만큼, 메모리를 최대 얼만큼 사용할 수 있는지를 정하는것이다.&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그렇다면 왜 requests와 limits를 설정해야 하나?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 노드의 남은 자원이 requests를 충족할 수 있어야만 스케줄링이 가능하게 함으로써 오버프로비저닝을 방지한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 파드(컨테이너)에 자원 한도를 설정함으로써 특정 파드가 CPU/메모리를 한도 없이 마음껏 사용해서 노드 내 다른 파드까지 영향을 주는 현상을 방지한다.&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;필자의 경우 4 vCPU와 16 GiB 스펙을 갖는 D4ds_v4 크기의 노드가 있다.&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;만약에 1개 노드에 1개 파드만 쓴다고 가정했을때&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;&lt;span&gt;requests:&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; cpu: 3500m&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; memory: 14Gi&lt;/span&gt;&lt;br /&gt;&lt;span&gt;limits:&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; cpu: 4000m&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&amp;nbsp; memory: 15Gi&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4 vCPU는 4000m이라고 생각하면 된다. 그렇기때문에 한 파드가 4000m을 넘기지 못하도록 설정한것이고,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;메모리는 시스템 파드가 돌아갈 수 있는 여유 공간을 남겨야하기 때문에 15Gi를 넘기지 못하도록 설정한것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;CPU를 최대치인 4000m까지 설정해도 쓰로틀(속도 제한)이 걸릴 뿐, 컨테이너가 강제 종료되지는 않는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 메모리는 최대치인 16Gi에 가까워지거나 넘어서면 OOM(Out of Memory)Kill에 의해 컨테이너가 강제 종료된다.&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;그래서 requests, limits를 설정할때는 컨테이너에 애플리케이션 가동을 제외한 나머지 시스템 파드들의 점유율이 얼마만큼 되는지 판단하는것이 중요하다.&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;아래 명령어는 클러스터 내 모든 네임스페이스의 파드들의 실시간 CPU, 메모리 사용량을 한 번에 조회한다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;kubectl&amp;nbsp;top&amp;nbsp;pods&amp;nbsp;-A&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;690&quot; data-origin-height=&quot;461&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bzXBdL/btsPrtYwFvX/dahYLRfSM5FDVrwfIwd4r1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bzXBdL/btsPrtYwFvX/dahYLRfSM5FDVrwfIwd4r1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bzXBdL/btsPrtYwFvX/dahYLRfSM5FDVrwfIwd4r1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbzXBdL%2FbtsPrtYwFvX%2FdahYLRfSM5FDVrwfIwd4r1%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;690&quot; height=&quot;461&quot; data-origin-width=&quot;690&quot; data-origin-height=&quot;461&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;my-spring-app(필자가 배포중인 웹 애플리케이션)을 제외하고 나머지 Pod들의 메모리 사용량을 모두 합치면 약 1GiB이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 조금 더 여유를 두어 1.5GiB로 판단하겠다.&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;노드의 메모리 16GiB 중 14.5GiB를 my-spring-app 웹 애플리케이션 배포에 사용할 수 있다는것이다.&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;그리고 my-spring-app의 리소스 사용량을 판단해야하는데,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 부분은 실제로 서비스를 운영하면서 유동적으로 판단해야하는 부분이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예를 들어, 평상시에 100명 정도가 이용을 할 때 사용되는 CPU, 메모리를 잘 확인해서 그것을 기준으로 limits를 설정함으로써 100명 이상의 이용자가 발생했을경우에 HPA에 의해 Auto-Scale될 수 있도록 해야한다.&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;my-spring-app 파드 1개당 CPU 1000m, 메모리 2GiB를 limits로 설정하겠다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 노드에 1.5GiB의 메모리 여유공간이 없다면 더이상 파드를 생성하지 않도록 설정하겠다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;spec: &lt;br /&gt;&amp;nbsp;&amp;nbsp;template: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;spec: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;containers: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;- name: my-spring-app&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;resources: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;requests: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cpu: &quot;800m&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;memory: &quot;1.5Gi&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;limits: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cpu: &quot;1000m&quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;memory: &quot;2Gi&quot;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 설정하면 한 노드에 2/14.5=7.25 이론상 7개의 my-spring-app파드를 띄울 수 있다.&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;일단, 이렇게 설정하고 2개의 파드를 유지한 상태에서 스트레스 테스트를 통해 각 파드가 1000m/2Gi를 넘지않는지 테스트해보겠다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;765&quot; data-origin-height=&quot;314&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b5Ov5Y/btsPp4ep27X/k7a4tndVq9mRZfcuMSGSH0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b5Ov5Y/btsPp4ep27X/k7a4tndVq9mRZfcuMSGSH0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b5Ov5Y/btsPp4ep27X/k7a4tndVq9mRZfcuMSGSH0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb5Ov5Y%2FbtsPp4ep27X%2Fk7a4tndVq9mRZfcuMSGSH0%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;600&quot; height=&quot;246&quot; data-origin-width=&quot;765&quot; data-origin-height=&quot;314&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1170&quot; data-origin-height=&quot;133&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/3FXlM/btsPrdBBEYf/HN2sLgYKYC3CkQc2wpySok/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/3FXlM/btsPrdBBEYf/HN2sLgYKYC3CkQc2wpySok/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/3FXlM/btsPrdBBEYf/HN2sLgYKYC3CkQc2wpySok/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3FXlM%2FbtsPrdBBEYf%2FHN2sLgYKYC3CkQc2wpySok%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;1170&quot; height=&quot;133&quot; data-origin-width=&quot;1170&quot; data-origin-height=&quot;133&quot;/&gt;&lt;/span&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;CPU 사용량이 1000m을 넘기지 않는것을 확인할 수 있다.&lt;/p&gt;</description>
      <category>DevOps &amp;amp; 인프라/Kubernetes</category>
      <author>나르는나른</author>
      <guid isPermaLink="true">https://byeongg96.tistory.com/128</guid>
      <comments>https://byeongg96.tistory.com/128#entry128comment</comments>
      <pubDate>Sat, 19 Jul 2025 13:51:26 +0900</pubDate>
    </item>
  </channel>
</rss>