<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Bin's의 개발블로그</title>
    <link>https://jbins.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Tue, 16 Jun 2026 09:59:59 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>Bin's.</managingEditor>
    <image>
      <title>Bin's의 개발블로그</title>
      <url>https://tistory1.daumcdn.net/tistory/2929523/attach/75da4edbc7734cc1a18fdb8e77fae2a8</url>
      <link>https://jbins.tistory.com</link>
    </image>
    <item>
      <title>[SQLD] 2026년 SQL 개발자 시험 - 도서 리뷰 (이기적 SQL개발자 이론서 + 기출문제)</title>
      <link>https://jbins.tistory.com/15</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c7Cmbi/dJMcabwmGYU/PUyTkxNm2gcFyQWyniC8H1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c7Cmbi/dJMcabwmGYU/PUyTkxNm2gcFyQWyniC8H1/img.png&quot; data-origin-width=&quot;1968&quot; data-origin-height=&quot;2725&quot; data-is-animation=&quot;false&quot; data-filename=&quot;blob&quot; data-widthpercent=&quot;49.06&quot; style=&quot;width: 48.4855%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c7Cmbi/dJMcabwmGYU/PUyTkxNm2gcFyQWyniC8H1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc7Cmbi%2FdJMcabwmGYU%2FPUyTkxNm2gcFyQWyniC8H1%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;1968&quot; height=&quot;2725&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nXGgH/dJMcacB3Llm/fET50ctKnBTLSDkwtPNUMk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nXGgH/dJMcacB3Llm/fET50ctKnBTLSDkwtPNUMk/img.jpg&quot; data-origin-width=&quot;4284&quot; data-origin-height=&quot;5712&quot; data-is-animation=&quot;false&quot; data-filename=&quot;KakaoTalk_Photo_2026-02-15-17-04-13 002.jpeg&quot; style=&quot;width: 50.3517%;&quot; data-widthpercent=&quot;50.94&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nXGgH/dJMcacB3Llm/fET50ctKnBTLSDkwtPNUMk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnXGgH%2FdJMcacB3Llm%2FfET50ctKnBTLSDkwtPNUMk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4284&quot; height=&quot;5712&quot;/&gt;&lt;/span&gt;&lt;/div&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;클라이언트 개발을 하다 보면 서버와 DB에 대한 이해도가 필요해지는 시점이 옵니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;예시로 복잡한 비지니스 로직을 처리하는 시점과 데이터 구조설계하는 등 다양한 상황에 필요하며,&amp;nbsp;&lt;br /&gt;특히 데이터를 효율적으로 쿼리하거나 구조를 이해하는데 있어 SQL 능력은 필수적이라고 생각합니다.&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;저는 작년에 지인이 SQLD 시험을 준비하길래 관심을 가지고 있다가&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2026년 상반기 목표 중 하나로 SQLD(SQL 개발자)자격을 취득을 해보려 합니다.&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;SQLD 시험 일정은 &lt;a href=&quot;https://www.dataq.or.kr/www/accept/schedule.do&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.dataq.or.kr/www/accept/schedule.do&lt;/a&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;965&quot; data-origin-height=&quot;67&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rQkiC/dJMcafrYhMi/un1HJSFMtmUGCU8We8B6A0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rQkiC/dJMcafrYhMi/un1HJSFMtmUGCU8We8B6A0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rQkiC/dJMcafrYhMi/un1HJSFMtmUGCU8We8B6A0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrQkiC%2FdJMcafrYhMi%2Fun1HJSFMtmUGCU8We8B6A0%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;965&quot; height=&quot;67&quot; data-origin-width=&quot;965&quot; data-origin-height=&quot;67&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;966&quot; data-origin-height=&quot;193&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bbzaal/dJMcafFwaUd/yXH8gZLuRW8HH8LYa8U1dk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bbzaal/dJMcafFwaUd/yXH8gZLuRW8HH8LYa8U1dk/img.png&quot; data-alt=&quot;Photo by https://www.dataq.or.kr/www/accept/schedule.do&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bbzaal/dJMcafFwaUd/yXH8gZLuRW8HH8LYa8U1dk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbbzaal%2FdJMcafFwaUd%2FyXH8gZLuRW8HH8LYa8U1dk%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;966&quot; height=&quot;193&quot; data-origin-width=&quot;966&quot; data-origin-height=&quot;193&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Photo by https://www.dataq.or.kr/www/accept/schedule.do&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;올해 첫 시험이 3월 7일로 시간이 넉넉하진 않아서, 독학으로 빠르게 끝낼 수 있는 교재를 찾았습니다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 온라인으로 몇권 비교해보고 섹션별 이론을 확인하며 바로 기출문제를 풀 수 있는 이기적 출판의 SQLD로 선택했습니다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qfSSo/dJMcaaRNFlC/ItvyKCca5PV3PiMXwlszsK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qfSSo/dJMcaaRNFlC/ItvyKCca5PV3PiMXwlszsK/img.jpg&quot; data-origin-width=&quot;5712&quot; data-origin-height=&quot;4284&quot; data-is-animation=&quot;false&quot; data-filename=&quot;KakaoTalk_Photo_2026-02-15-17-04-13 003.jpeg&quot; style=&quot;width: 49.4186%; margin-right: 10px;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qfSSo/dJMcaaRNFlC/ItvyKCca5PV3PiMXwlszsK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqfSSo%2FdJMcaaRNFlC%2FItvyKCca5PV3PiMXwlszsK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;5712&quot; height=&quot;4284&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b1YjK0/dJMcadOrcVf/S9lWklIeWeKe3fdZWmu2e1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b1YjK0/dJMcadOrcVf/S9lWklIeWeKe3fdZWmu2e1/img.jpg&quot; data-origin-width=&quot;5712&quot; data-origin-height=&quot;4284&quot; data-is-animation=&quot;false&quot; data-filename=&quot;KakaoTalk_Photo_2026-02-15-17-04-14 004.jpeg&quot; style=&quot;width: 49.4186%;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b1YjK0/dJMcadOrcVf/S9lWklIeWeKe3fdZWmu2e1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb1YjK0%2FdJMcadOrcVf%2FS9lWklIeWeKe3fdZWmu2e1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;5712&quot; height=&quot;4284&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;교재를 선택할 때 가장 중요하게 본 기준 중 하나는 '&lt;b&gt;러닝 커브를 줄여줄 수 있는가&lt;/b&gt;'였습니다. &lt;br /&gt;독학으로 진행하다 보면 생소한 개념에서 막혀 시간을 허비하는 경우가 많은데,&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 책은 &lt;b data-index-in-node=&quot;99&quot; data-path-to-node=&quot;5&quot;&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2077&quot; data-origin-height=&quot;1362&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cSzBdk/dJMcahXFqCY/dyJ8GkusAXqcmuZKW6hVT0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cSzBdk/dJMcahXFqCY/dyJ8GkusAXqcmuZKW6hVT0/img.png&quot; data-alt=&quot;https://cbt.youngjin.com/exam/index.php?no=73&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cSzBdk/dJMcahXFqCY/dyJ8GkusAXqcmuZKW6hVT0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcSzBdk%2FdJMcahXFqCY%2FdyJ8GkusAXqcmuZKW6hVT0%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;2077&quot; height=&quot;1362&quot; data-origin-width=&quot;2077&quot; data-origin-height=&quot;1362&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;https://cbt.youngjin.com/exam/index.php?no=73&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;특히나 CBT 온라인 문제집 서비스를 제공해서 언제든지 문제를 풀어볼 수 있다는 점도 매우 좋았습니다.&lt;br /&gt;또한 QR코드를 제공해 원하는 기능에 바로 접속이 가능해 접근성도 나쁘지 않았습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cgzoyz/dJMcaibdymN/4wv8fS8BRktcE9BTBkyVe1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cgzoyz/dJMcaibdymN/4wv8fS8BRktcE9BTBkyVe1/img.jpg&quot; data-origin-width=&quot;4284&quot; data-origin-height=&quot;5712&quot; data-is-animation=&quot;false&quot; data-filename=&quot;KakaoTalk_Photo_2026-02-15-17-04-16 007.jpeg&quot; style=&quot;width: 49.4186%; margin-right: 10px;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cgzoyz/dJMcaibdymN/4wv8fS8BRktcE9BTBkyVe1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcgzoyz%2FdJMcaibdymN%2F4wv8fS8BRktcE9BTBkyVe1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4284&quot; height=&quot;5712&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/brK95r/dJMcadOrcVj/Q172N7keWkxk9aHUPsJqkk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/brK95r/dJMcadOrcVj/Q172N7keWkxk9aHUPsJqkk/img.jpg&quot; data-origin-width=&quot;4284&quot; data-origin-height=&quot;5712&quot; data-is-animation=&quot;false&quot; data-filename=&quot;KakaoTalk_Photo_2026-02-15-17-04-15 006.jpeg&quot; data-widthpercent=&quot;50&quot; style=&quot;width: 49.4186%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/brK95r/dJMcadOrcVj/Q172N7keWkxk9aHUPsJqkk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbrK95r%2FdJMcadOrcVj%2FQ172N7keWkxk9aHUPsJqkk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4284&quot; height=&quot;5712&quot;/&gt;&lt;/span&gt;&lt;/div&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;733&quot; data-origin-height=&quot;48&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cVY2ig/dJMcaf6B0iE/VgJcKwYoYqNKskHOCJLfCk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cVY2ig/dJMcaf6B0iE/VgJcKwYoYqNKskHOCJLfCk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cVY2ig/dJMcaf6B0iE/VgJcKwYoYqNKskHOCJLfCk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcVY2ig%2FdJMcaf6B0iE%2FVgJcKwYoYqNKskHOCJLfCk%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;733&quot; height=&quot;48&quot; data-origin-width=&quot;733&quot; data-origin-height=&quot;48&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;b data-index-in-node=&quot;68&quot; data-path-to-node=&quot;6&quot;&gt;이기적 스터디 카페에서 도서 구매 인증 시 SQL 구문을 직접 연습할 수 있는 실습 문제와 데이터 파일을 제공&lt;/b&gt;해줍니다. &lt;br /&gt;로컬 환경에서 직접 데이터를 조작해보며 익힐 수 있다는 점이 &lt;b data-index-in-node=&quot;168&quot; data-path-to-node=&quot;6&quot;&gt;SQLD 자격증 독학에 최적화된&amp;nbsp;&lt;/b&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&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nPhdh/dJMcac9PY5o/hTNnV5OgwUgazav8FJkjMk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nPhdh/dJMcac9PY5o/hTNnV5OgwUgazav8FJkjMk/img.jpg&quot; data-origin-width=&quot;4284&quot; data-origin-height=&quot;5712&quot; data-is-animation=&quot;false&quot; data-filename=&quot;KakaoTalk_Photo_2026-02-15-17-04-17 008.jpeg&quot; style=&quot;width: 33.6655%; margin-right: 10px;&quot; data-widthpercent=&quot;34.47&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nPhdh/dJMcac9PY5o/hTNnV5OgwUgazav8FJkjMk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnPhdh%2FdJMcac9PY5o%2FhTNnV5OgwUgazav8FJkjMk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4284&quot; height=&quot;5712&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cBTCMk/dJMcahwB578/unHzjFNZm0D1R1knWAono1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cBTCMk/dJMcahwB578/unHzjFNZm0D1R1knWAono1/img.png&quot; data-origin-width=&quot;1970&quot; data-origin-height=&quot;2792&quot; data-is-animation=&quot;false&quot; data-filename=&quot;blob&quot; data-widthpercent=&quot;32.43&quot; style=&quot;width: 31.672%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cBTCMk/dJMcahwB578/unHzjFNZm0D1R1knWAono1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcBTCMk%2FdJMcahwB578%2FunHzjFNZm0D1R1knWAono1%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;1970&quot; height=&quot;2792&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZWyUF/dJMcacPA9OV/YyeDGuDeM2XA16hEADKa0K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZWyUF/dJMcacPA9OV/YyeDGuDeM2XA16hEADKa0K/img.png&quot; data-origin-width=&quot;1868&quot; data-origin-height=&quot;2593&quot; data-is-animation=&quot;false&quot; data-filename=&quot;blob&quot; data-widthpercent=&quot;33.1&quot; style=&quot;width: 32.3369%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZWyUF/dJMcacPA9OV/YyeDGuDeM2XA16hEADKa0K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZWyUF%2FdJMcacPA9OV%2FYyeDGuDeM2XA16hEADKa0K%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;1868&quot; height=&quot;2593&quot;/&gt;&lt;/span&gt;&lt;/div&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;그리고 추가적으로 SQLD 자격증은 취득 후 2년이라는 유효기간이 존재하는데 1년 6개월 이후 별도의 '보수교육'을 들어&amp;nbsp;&lt;br /&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;[&lt;a href=&quot;https://www.dataq.or.kr/www/sub/a_iocon.do&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.dataq.or.kr/www/sub/a_iocon.do&lt;/a&gt;]&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bkmrZg/dJMcaaRNFlE/pPGGCnA55xdVCaZkINyPvK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bkmrZg/dJMcaaRNFlE/pPGGCnA55xdVCaZkINyPvK/img.jpg&quot; data-origin-width=&quot;4284&quot; data-origin-height=&quot;5712&quot; data-is-animation=&quot;false&quot; data-filename=&quot;KakaoTalk_Photo_2026-02-15-17-04-18 011.jpeg&quot; style=&quot;width: 49.4186%; margin-right: 10px;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bkmrZg/dJMcaaRNFlE/pPGGCnA55xdVCaZkINyPvK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbkmrZg%2FdJMcaaRNFlE%2FpPGGCnA55xdVCaZkINyPvK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4284&quot; height=&quot;5712&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/R5vPd/dJMcaaRNFqg/TlhRln5exRdwSqQ1kciE71/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/R5vPd/dJMcaaRNFqg/TlhRln5exRdwSqQ1kciE71/img.png&quot; data-origin-width=&quot;2250&quot; data-origin-height=&quot;3000&quot; data-is-animation=&quot;false&quot; data-filename=&quot;blob&quot; data-widthpercent=&quot;50&quot; style=&quot;width: 49.4186%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/R5vPd/dJMcaaRNFqg/TlhRln5exRdwSqQ1kciE71/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FR5vPd%2FdJMcaaRNFqg%2FTlhRln5exRdwSqQ1kciE71%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;2250&quot; height=&quot;3000&quot;/&gt;&lt;/span&gt;&lt;/div&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;span data-path-to-node=&quot;3,1&quot;&gt;&lt;span&gt;이 책의 가장 큰 장점 중 하나는 매번 달라지는 &lt;/span&gt;&lt;b data-index-in-node=&quot;28&quot; data-path-to-node=&quot;3,1&quot;&gt;&lt;span&gt;시험 출제 경향을 철저하게 분석&lt;/span&gt;&lt;/b&gt;&lt;span&gt;하고, &lt;br /&gt;이를 바탕으로 수험생이 기간별로 체계적인 학습 플랜을 세울 수 있도록 가이드라인을 제시해 준다는 점입니다&lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;3,2&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;3,3&quot;&gt;. &lt;br /&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;3,4&quot;&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;3,5&quot;&gt;&lt;span&gt;독학을 하다 보면 진도 관리가 가장 어려운데, 책에 수록된 스터디 플래너를 활용하니 페이스 조절이 훨씬 수월했습니다&lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;3,6&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;3,7&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p id=&quot;p-rc_7ccc08c7930efe28-44&quot; data-path-to-node=&quot;4&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span data-path-to-node=&quot;4,0&quot;&gt;특히 저처럼 &lt;b data-index-in-node=&quot;7&quot; data-path-to-node=&quot;4,0&quot;&gt;단기간에 자격증 취득을 목표&lt;/b&gt;로 하는 수험생에게는 '선택과 집중'이 필수적입니다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;4&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span data-path-to-node=&quot;4,0&quot;&gt;저는 책에서 제안하는 &lt;b data-index-in-node=&quot;64&quot; data-path-to-node=&quot;4,0&quot;&gt;20일 완성 플랜&lt;/b&gt;을 따라 하루도 빠짐없이 이론 진도를 나가는 것을 1차 목표로 삼았습니다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-path-to-node=&quot;4&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span data-path-to-node=&quot;4,1&quot;&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;4,2&quot;&gt;&lt;span&gt;그리고 남은 시간에는 책에 수록된 &lt;/span&gt;&lt;b data-index-in-node=&quot;19&quot; data-path-to-node=&quot;4,2&quot;&gt;&lt;span&gt;기출 유형 문제와 실전 모의고사&lt;/span&gt;&lt;/b&gt;&lt;span&gt;를 집중적으로 풀고,&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;4,2&quot;&gt;&lt;span&gt;틀린 부분은 오답 노트로 꼼꼼히 정리하며 빈틈을 메우는 방식으로 전략을 세웠습니다&lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;4,3&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;4,4&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/0U64v/dJMcaibdymM/m1JmRf8yuLMKfsJ45CHI71/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0U64v/dJMcaibdymM/m1JmRf8yuLMKfsJ45CHI71/img.jpg&quot; data-origin-width=&quot;4284&quot; data-origin-height=&quot;5712&quot; data-is-animation=&quot;false&quot; data-filename=&quot;KakaoTalk_Photo_2026-02-15-17-04-20 014.jpeg&quot; style=&quot;width: 49.4186%; margin-right: 10px;&quot; data-widthpercent=&quot;50&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0U64v/dJMcaibdymM/m1JmRf8yuLMKfsJ45CHI71/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0U64v%2FdJMcaibdymM%2Fm1JmRf8yuLMKfsJ45CHI71%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4284&quot; height=&quot;5712&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mPJBI/dJMcagj8Ray/ppkGeqBscWMkc0QbgOMQNk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mPJBI/dJMcagj8Ray/ppkGeqBscWMkc0QbgOMQNk/img.png&quot; data-origin-width=&quot;2250&quot; data-origin-height=&quot;3000&quot; data-is-animation=&quot;false&quot; data-filename=&quot;blob&quot; data-widthpercent=&quot;50&quot; style=&quot;width: 49.4186%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mPJBI/dJMcagj8Ray/ppkGeqBscWMkc0QbgOMQNk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmPJBI%2FdJMcagj8Ray%2FppkGeqBscWMkc0QbgOMQNk%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;2250&quot; height=&quot;3000&quot;/&gt;&lt;/span&gt;&lt;/div&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;span data-path-to-node=&quot;5,0&quot;&gt;책의 구성은 비전공자나 DB 입문자도 쉽게 따라올 수 있도록 배려한 흔적이 보입니다. &lt;br /&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;5,1&quot;&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;5,2&quot;&gt;&lt;span&gt;복잡한 데이터베이스 개념을 줄글로만 설명하는 것이 아니라, &lt;br /&gt;&lt;/span&gt;&lt;b data-index-in-node=&quot;33&quot; data-path-to-node=&quot;5,2&quot;&gt;&lt;span&gt;다양한 예시와 이미지로 시각화하여 비전공자도 쉽게 이해할 수 있도록 구성&lt;/span&gt;&lt;/b&gt;&lt;span&gt;되어 있습니다&lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;5,3&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;5,4&quot;&gt;. &lt;br /&gt;덕분에 추상적인 개념을 직관적으로 파악하는 데 큰 도움이 됩니다.&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;p id=&quot;p-rc_de31b6fb434014c5-22&quot; data-path-to-node=&quot;6&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span data-path-to-node=&quot;6,0&quot;&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;6,1&quot;&gt;&lt;span&gt;또한, 이론만 읽고 넘어가면 내용을 금방 잊어버리기 마련인데, &lt;br /&gt;이 책은 &lt;/span&gt;&lt;b data-index-in-node=&quot;39&quot; data-path-to-node=&quot;6,1&quot;&gt;&lt;span&gt;섹션별 이론을 확인하는 기출문제를 수록하여 학습한 내용을 즉시 복습&lt;/span&gt;&lt;/b&gt;&lt;span&gt;할 수 있게 설계되었습니다&lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;6,2&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;6,3&quot;&gt;. &lt;br /&gt;이론 학습과 문제 풀이의 사이클이 짧아서, 개념을 제대로 이해했는지 점검하기가 수월합니다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nQojI/dJMcaibdymO/AI4vXvabV00Dj0ye9AAEd0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nQojI/dJMcaibdymO/AI4vXvabV00Dj0ye9AAEd0/img.jpg&quot; data-origin-width=&quot;4284&quot; data-origin-height=&quot;5712&quot; data-is-animation=&quot;false&quot; data-filename=&quot;KakaoTalk_Photo_2026-02-15-17-04-22 017.jpeg&quot; style=&quot;width: 32.5581%; margin-right: 10px;&quot; data-widthpercent=&quot;33.33&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nQojI/dJMcaibdymO/AI4vXvabV00Dj0ye9AAEd0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnQojI%2FdJMcaibdymO%2FAI4vXvabV00Dj0ye9AAEd0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4284&quot; height=&quot;5712&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/esEWF2/dJMcaadbaoK/kxzyqBj8KxIKDSVgOdFCGk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/esEWF2/dJMcaadbaoK/kxzyqBj8KxIKDSVgOdFCGk/img.png&quot; data-origin-width=&quot;2250&quot; data-origin-height=&quot;3000&quot; data-is-animation=&quot;false&quot; data-filename=&quot;blob&quot; data-widthpercent=&quot;33.33&quot; style=&quot;width: 32.5581%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/esEWF2/dJMcaadbaoK/kxzyqBj8KxIKDSVgOdFCGk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FesEWF2%2FdJMcaadbaoK%2FkxzyqBj8KxIKDSVgOdFCGk%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;2250&quot; height=&quot;3000&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dysQP8/dJMcac9PY5m/hg3loVb2A00Ft4Zkv1zJhk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dysQP8/dJMcac9PY5m/hg3loVb2A00Ft4Zkv1zJhk/img.jpg&quot; data-origin-width=&quot;4284&quot; data-origin-height=&quot;5712&quot; data-is-animation=&quot;false&quot; data-filename=&quot;KakaoTalk_Photo_2026-02-15-17-04-23 018.jpeg&quot; style=&quot;width: 32.5581%;&quot; data-widthpercent=&quot;33.34&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dysQP8/dJMcac9PY5m/hg3loVb2A00Ft4Zkv1zJhk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdysQP8%2FdJMcac9PY5m%2Fhg3loVb2A00Ft4Zkv1zJhk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;4284&quot; height=&quot;5712&quot;/&gt;&lt;/span&gt;&lt;/div&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;span data-path-to-node=&quot;10,0&quot;&gt;시험 준비의 핵심은 역시 양질의 문제를 풀어보는 것입니다. &lt;/span&gt;&lt;span data-path-to-node=&quot;10,1&quot;&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;10,2&quot;&gt;&lt;span&gt;이 책은 단순한 예상 문제가 아니라, &lt;br /&gt;&lt;/span&gt;&lt;b data-index-in-node=&quot;21&quot; data-path-to-node=&quot;10,2&quot;&gt;&lt;span&gt;전문가가 직접 최신 출제경향을 분석해 복원한 기출 유형문제 5회분&lt;/span&gt;&lt;/b&gt;&lt;span&gt;을 수록하고 있습니다&lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;10,3&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;10,4&quot;&gt;. &lt;br /&gt;실제 시험 난이도와 유사한 문제들을 풀어보며 최신 출제 패턴을 익히기에 적합합니다.&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;p id=&quot;p-rc_de31b6fb434014c5-24&quot; data-path-to-node=&quot;11&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span data-path-to-node=&quot;11,0&quot;&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;11,1&quot;&gt;&lt;span&gt;마지막 점검 단계에서는 &lt;/span&gt;&lt;b data-index-in-node=&quot;13&quot; data-path-to-node=&quot;11,1&quot;&gt;&lt;span&gt;시간을 재고 풀며 실제 시험처럼 실력을 점검할 수 있는 실전 모의고사 2회&lt;/span&gt;&lt;/b&gt;&lt;span&gt;를 활용하면 됩니다&lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;11,2&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;11,3&quot;&gt;. &lt;br /&gt;실제 시험장이라 생각하고 시간을 배분해 보는 연습을 할 예정입니다.&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;p data-path-to-node=&quot;12&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span data-path-to-node=&quot;12,0&quot;&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;12,1&quot;&gt;&lt;span&gt;만약 혼자 공부하는 게 느슨해질까 걱정된다면 &lt;/span&gt;&lt;b data-index-in-node=&quot;25&quot; data-path-to-node=&quot;12,1&quot;&gt;&lt;span&gt;제60회 SQLD 스터디&lt;/span&gt;&lt;/b&gt;&lt;span&gt;에 참여하는 것도 좋은 방법입니다&lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;12,2&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;12,3&quot;&gt;. &lt;br /&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;12,4&quot;&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;12,5&quot;&gt;&lt;span&gt;스터디 참여자에게는 특강 등 다양한 혜택을 제공한다고 하니, 강제성을 부여하고 확실한 동기부여를 얻기에 좋은 기회가 될 것 같습니다.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;개발자에게 SQL 역량은 선택이 아닌 필수라고 생각합니다. &lt;br /&gt;이번 기회에 자격증 취득은 물론, 실제 업무에서 쿼리 튜닝까지 고려할 수 있는 수준으로 DB 이해도를 높여보려 합니다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;p-rc_26940251835fe80d-31&quot; data-path-to-node=&quot;6&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span data-path-to-node=&quot;6,0&quot;&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;6,1&quot;&gt;&lt;span&gt;특히 이 책은 &lt;/span&gt;&lt;b data-index-in-node=&quot;8&quot; data-path-to-node=&quot;6,1&quot;&gt;&lt;span&gt;CBT 온라인 문제집 서비스&lt;/span&gt;&lt;/b&gt;&lt;span&gt;도 제공하고 있어, &lt;br /&gt;출퇴근 시간 등 자투리 시간에 스마트폰으로 문제를 풀며 감을 잃지 않도록 도와줍니다&lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;6,2&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;6,3&quot;&gt;. &lt;br /&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;6,4&quot;&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;6,5&quot;&gt;&lt;span&gt;저처럼 독학으로, 그리고 효율적으로 합격을 목표로 하는 분들에게 추천하고 싶습니다&lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;6,6&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;6,7&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p id=&quot;p-rc_de31b6fb434014c5-25&quot; data-path-to-node=&quot;12&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;12&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span data-path-to-node=&quot;12,5&quot;&gt;&lt;span&gt;도서[&lt;/span&gt;&lt;/span&gt;&lt;span data-path-to-node=&quot;12,5&quot;&gt;&lt;span&gt;&lt;a href=&quot;https://vo.la/UCMCek&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://vo.la/UCMCek&lt;/a&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1771148344207&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;book&quot; data-og-title=&quot;2026 이기적 SQLD SQL 개발자 이론+기출문제 | 강태우 | 영진닷컴 - 예스24&quot; data-og-description=&quot;본 도서는 SQL 개발자(SQLD) 시험 경향을 분석하여 수험생들이 혼자서도 학습할 수 있도록 한 완벽 대비서이다. 시행처인 데이터산업진흥원에서 공개한 최신 출제기준을 바탕으로 집필되었으며, &quot; data-og-host=&quot;www.yes24.com&quot; data-og-source-url=&quot;https://vo.la/UCMCek&quot; data-og-url=&quot;https://www.yes24.com/product/goods/154839794&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/L6j2n/dJMb895ZSKT/TQ4YS3g1d0YqTlMv9pLJJ0/img.jpg?width=887&amp;amp;height=1200&amp;amp;face=0_0_887_1200,https://scrap.kakaocdn.net/dn/Rp0vu/dJMb895ZSKU/qOLaWq0ckOLtPHUSrLj9Yk/img.jpg?width=887&amp;amp;height=1200&amp;amp;face=0_0_887_1200,https://scrap.kakaocdn.net/dn/hreBu/dJMb84XU2yf/dncULOn6Air7O26f3Srki0/img.jpg?width=887&amp;amp;height=1200&amp;amp;face=0_0_887_1200&quot;&gt;&lt;a href=&quot;https://vo.la/UCMCek&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://vo.la/UCMCek&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/L6j2n/dJMb895ZSKT/TQ4YS3g1d0YqTlMv9pLJJ0/img.jpg?width=887&amp;amp;height=1200&amp;amp;face=0_0_887_1200,https://scrap.kakaocdn.net/dn/Rp0vu/dJMb895ZSKU/qOLaWq0ckOLtPHUSrLj9Yk/img.jpg?width=887&amp;amp;height=1200&amp;amp;face=0_0_887_1200,https://scrap.kakaocdn.net/dn/hreBu/dJMb84XU2yf/dncULOn6Air7O26f3Srki0/img.jpg?width=887&amp;amp;height=1200&amp;amp;face=0_0_887_1200');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;2026 이기적 SQLD SQL 개발자 이론+기출문제 | 강태우 | 영진닷컴 - 예스24&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;본 도서는 SQL 개발자(SQLD) 시험 경향을 분석하여 수험생들이 혼자서도 학습할 수 있도록 한 완벽 대비서이다. 시행처인 데이터산업진흥원에서 공개한 최신 출제기준을 바탕으로 집필되었으며,&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.yes24.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>소개</category>
      <category>sql 개발자</category>
      <category>SQLD</category>
      <category>sqld 시험일정</category>
      <category>SQLD 책</category>
      <category>SQLD2026</category>
      <category>SQLD난이도</category>
      <category>SQLD독학</category>
      <category>sqld시험</category>
      <category>SQLD유효기간</category>
      <category>SQLD인강</category>
      <author>Bin's.</author>
      <guid isPermaLink="true">https://jbins.tistory.com/15</guid>
      <comments>https://jbins.tistory.com/15#entry15comment</comments>
      <pubDate>Sun, 15 Feb 2026 18:34:06 +0900</pubDate>
    </item>
    <item>
      <title>Kotlin - 문법 정리</title>
      <link>https://jbins.tistory.com/14</link>
      <description>&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 800px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/993FFF455C738D292E&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F993FFF455C738D292E&quot; width=&quot;800&quot; height=&quot;320&quot; filename=&quot;kotlin.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;hr&gt;&lt;h1 style=&quot;text-align: center;&quot;&gt;코틀린(Kotlin) ?&lt;br /&gt;&lt;/h1&gt;&lt;div style=&quot;text-align: center;&quot;&gt;구글 I/O 2017 에서 구글이 안드로이드 공식 언어로 코틀린을 채택.&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;코틀린 은 JetBrains 에서 만든 언어입니다.&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;IntelliJ , Android Studio 에서 코틀린을&amp;nbsp;완벽히 지원합니다.&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;p style=&quot;line-height: 0.5;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center; line-height: 0.5;&quot;&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;h1 style=&quot;text-align: center; line-height: 0.5;&quot;&gt;장점&lt;/h1&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;b&gt;호환성&lt;/b&gt; : JDK 6과 완벽호환 , 구형 안드로이드 기기에서도 완벽 실행, 안드로이드 빌드 시스템 완벽호환.&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;b&gt;성능&lt;/b&gt; :&amp;nbsp; 자바만큼 빠르다, 람다로 실행되는 코드는 종종 자바보다 훨씬 바르게 동작.&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;b&gt;상호 운용성&lt;/b&gt; : 자바와 100% 상호 운용가능, 기존 모든 안드로이드 라이브러리 사용가능.&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;b&gt;학습 곡선&lt;/b&gt; : 자바를&amp;nbsp;하던 사람은 배우기 매우 쉽다, Android Studio 에서 자바 코드를 코틀린으로 자동 변환해주는 도구를 지원.&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;h1&gt;변수와 상수&lt;/h1&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;var &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;: Int = &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;10 &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// var &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;변수명&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;자료형&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt; = &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;값&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;b&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;: Int = &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;20 &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// val &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;변수명&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;자료형&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt; = &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;값&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;코틀린에서 변수는 var, 상수는 val 로 선언합니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;코틀린은 자료형을 지정하지 않아도 추론하는 형추론을 지원합니다&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color: rgb(43, 43, 43); color: rgb(169, 183, 198); font-family: Consolas; font-size: 8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;var &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;c &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;10.10 &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128);&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;// var c: Double&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;var &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;d &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;Hello World!&quot; &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// var d: String&lt;/span&gt;&lt;/pre&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;h1 style=&quot;text-align: center;&quot;&gt;출력&lt;/h1&gt;&lt;div&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;Hello World!&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;h1 style=&quot;text-align: center;&quot;&gt;자료형&lt;/h1&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;table class=&quot;txc-table&quot; width=&quot;764&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; style=&quot;border:none;border-collapse:collapse;;font-family:&quot; 맑은=&quot;&quot; 고딕&quot;,=&quot;&quot; sans-serif;font-size:13px&quot;=&quot;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;width: 247px; height: 24px; border-width: 1px; border-style: solid; border-color: rgb(204, 204, 204);&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&amp;nbsp;정수&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style=&quot;width: 220px; height: 24px; border-bottom: 1px solid rgb(204, 204, 204); border-right: 1px solid rgb(204, 204, 204); border-top: 1px solid rgb(204, 204, 204);&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;실수&amp;nbsp;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style=&quot;width: 174px; height: 24px; border-bottom: 1px solid rgb(204, 204, 204); border-right: 1px solid rgb(204, 204, 204); border-top: 1px solid rgb(204, 204, 204);&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;문자&amp;nbsp;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td style=&quot;width: 122px; height: 24px; border-bottom: 1px solid rgb(204, 204, 204); border-right: 1px solid rgb(204, 204, 204); border-top: 1px solid rgb(204, 204, 204);&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;논리&amp;nbsp;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;width: 247px; height: 24px; border-bottom: 1px solid rgb(204, 204, 204); border-right: 1px solid rgb(204, 204, 204); border-left: 1px solid rgb(204, 204, 204);&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;b&gt;&lt;span style=&quot;font-family: Terminal;&quot;&gt;Long&lt;/span&gt;&lt;/b&gt; : 64비트 정수&lt;/p&gt;&lt;/td&gt;
&lt;td style=&quot;width: 220px; height: 48px; border-bottom: 1px solid rgb(204, 204, 204); border-right: 1px solid rgb(204, 204, 204);&quot; colspan=&quot;1&quot; rowspan=&quot;2&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;Double : &lt;/b&gt;64비트 부동소수점&lt;/p&gt;&lt;/td&gt;
&lt;td style=&quot;width: 174px; height: 48px; border-bottom: 1px solid rgb(204, 204, 204); border-right: 1px solid rgb(204, 204, 204);&quot; colspan=&quot;1&quot; rowspan=&quot;2&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;String&lt;/b&gt; : 문자열&amp;nbsp;&lt;/p&gt;&lt;/td&gt;
&lt;td style=&quot;width: 122px; height: 96px; border-bottom: 1px solid rgb(204, 204, 204); border-right: 1px solid rgb(204, 204, 204);&quot; colspan=&quot;1&quot; rowspan=&quot;4&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;Boolean&amp;nbsp;&lt;/b&gt;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;width: 247px; height: 24px; border-bottom: 1px solid rgb(204, 204, 204); border-right: 1px solid rgb(204, 204, 204); border-left: 1px solid rgb(204, 204, 204);&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: Terminal;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Book Antiqua&amp;quot;;&quot;&gt;I&lt;/span&gt;nt&lt;/span&gt;&lt;/b&gt;&amp;nbsp;: 32비트 정수&lt;/p&gt;&lt;/td&gt;



&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;width: 247px; height: 24px; border-bottom: 1px solid rgb(204, 204, 204); border-right: 1px solid rgb(204, 204, 204); border-left: 1px solid rgb(204, 204, 204);&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;b&gt;Short&lt;/b&gt; : 16비트 정수&lt;/p&gt;&lt;/td&gt;
&lt;td style=&quot;width: 220px; height: 48px; border-bottom: 1px solid rgb(204, 204, 204); border-right: 1px solid rgb(204, 204, 204);&quot; colspan=&quot;1&quot; rowspan=&quot;2&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;Float :&amp;nbsp;&lt;/b&gt;32비트 부동소수점&lt;/p&gt;&lt;/td&gt;
&lt;td style=&quot;width: 174px; height: 48px; border-bottom: 1px solid rgb(204, 204, 204); border-right: 1px solid rgb(204, 204, 204);&quot; colspan=&quot;1&quot; rowspan=&quot;2&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;b&gt;Char&lt;/b&gt;&amp;nbsp;: 하나의 문자&amp;nbsp;&lt;/p&gt;&lt;/td&gt;

&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;width: 247px; height: 24px; border-bottom: 1px solid rgb(204, 204, 204); border-right: 1px solid rgb(204, 204, 204); border-left: 1px solid rgb(204, 204, 204);&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;b&gt;Byte&lt;/b&gt; : 8비트 정수&lt;/p&gt;&lt;/td&gt;



&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;자바와 달리 Char 형은 숫자형이아닙니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그리고 문자열의 리터럴은 큰따옴표&lt;span style=&quot;color: rgb(31, 218, 17);&quot;&gt; &quot;&quot;&lt;/span&gt;, 한 문자는 &lt;span style=&quot;color: rgb(31, 218, 17);&quot;&gt;''&lt;/span&gt;로 자바와 동일합니다.&lt;br /&gt;&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;h1 style=&quot;text-align: center;&quot;&gt;타입 캐스팅&lt;/h1&gt;&lt;div&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;var &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;number &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;1&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;var &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;a &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;number&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;.toLong() &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// .to&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;자료형&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;() &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;형태로 타입 캐스팅이 가능하다&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;var &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;b &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;number&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;.toShort()&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;var &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;c &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;number&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;.toByte()&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;var &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;d &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;number&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;.toDouble()&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;var &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;e &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;number&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;.toFloat()&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;var &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;textNumber &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&quot;1&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;var &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;f &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;textNumber&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-style: italic; font-size: 14pt;&quot;&gt;toInt&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;()&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;h1 style=&quot;text-align: center;&quot;&gt;여러 줄의 문자열 표현&lt;/h1&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;str &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;안녕하세요&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;코틀린 문법정리입니다&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;trimIndent() = &lt;/span&gt;&lt;span style=&quot;color:#6a8759;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;들여쓰기 제거&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-style: italic; font-size: 14pt;&quot;&gt;trimIndent&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;()&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;여러 줄에 걸쳐 문자열을 표현할 때는 큰따옴표 3개를 리터럴로 사용합니다.&lt;br /&gt;&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;h1 style=&quot;text-align: center;&quot;&gt;문자열 비교&lt;/h1&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;str &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&quot;Hello&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;if &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;str &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;== &lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;Hello&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;){&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;안녕하세요&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;누구세요&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;?&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;문자열 비교는 == 를 사용합니다. 자바의 equals() 메서드와 대응합니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;자바에서 == 오브젝트 비교시 사용합니다 , 코틀린은 === 를 사용.&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;h1 style=&quot;text-align: center;&quot;&gt;문자열 템플릿&lt;/h1&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;str &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;코틀린 &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;str &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;+ &lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;문법정리&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;자바에서 사용하던 방식&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;str &lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;문법정리&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;출력시 코틀린  문법정리&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;${&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;문법정리&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;}&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;출력시 코틀린 문법정리&lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;복잡한 문자열 표현할 때 아주 편리합니다.&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;h1 style=&quot;text-align: center;&quot;&gt;&amp;nbsp; 배열&lt;/h1&gt;&lt;div&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;num &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;: Array&amp;lt;Int&amp;gt; = &lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;arrayOf&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;num2 &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;arrayOf&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;자료형이 생략가능합니다&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;num&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;] = &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;5&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;num2&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;] = &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;0&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p style=&quot;text-align: center;&quot;&gt;코틀린에서 배열은 Array 라는 타입으로 별도로 지정해줍니다&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;타입은 &amp;lt;&amp;gt; 제네릭을 사용해서 지정해줍니다&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;배열의 인덱스에 접근하는 것은 대괄호 [] 안에 인덱스 값을 지정하는 것과 자바와 동일.&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;h1 style=&quot;text-align: center;&quot;&gt;제어문&lt;/h1&gt;&lt;h2 style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;if&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/h2&gt;&lt;p&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;a &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;10&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;b &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;20&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;var &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;max &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;a&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;a &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&amp;lt; &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;b&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;max &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;b&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;실행할 문장이 한 줄이면 코드블럭을 생략할수 있습니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;위에 코드를 좀 더 코틀린 식으로 바꾸면&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;a &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;b&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;){ &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// ; &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;세미콜론을 제외한 자바와 완전히 동일한 코드&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;max &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;a&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;max &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;b&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;if &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;a &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;b&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;max &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;a &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;else &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;max &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;b&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;max &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;if &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;a &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;b&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;a &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;else &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;b &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;코틀린 방식&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;변수에 if문을 넣을수도 있습니다.&lt;/p&gt;&lt;hr class=&quot;tx-hr-image-4&quot; style=&quot;background: url(//i1.daumcdn.net/deco/contents/horizontalrule/line08.gif?v=2) repeat-x scroll left; height: 15px; border:0; width:54px; margin:30px auto&quot;&gt;&lt;h2 style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 24px;&quot;&gt;&lt;b&gt;when&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;x &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;1&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;when&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;x&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;){&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;1 &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;-&amp;gt; &lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;x == 1&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;3 &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;-&amp;gt; (&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;x == 2 or x == 3&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;값 하나&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;in &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;..&lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;7 &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;-&amp;gt; (&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;x == 4..7&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;여러 값은&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt; .. &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;로 사용&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;!in &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;..&lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;10 &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;-&amp;gt; (&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;!8..7&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// in &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;연산자로 범위지정&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;else &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;-&amp;gt; {&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;나머지&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;x &lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;는&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt; 1&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;이나&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt; 2&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;가 아님&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;자바에서 switch문과 매우 비슷해보일겁니다&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;맞습니다 코틀린에서는 switch문이 when 문 입니다.&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;number &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;1&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;numStr &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;when &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;number &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;% &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;){&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;0 &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;-&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;짝&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;1 &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;-&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;홀&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이런식으로 if 문과 같이 상수에 사용이 가능했습니다.&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;number &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;1&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;fun &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-size: 14pt;&quot;&gt;kotlinTest&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(num: Int) = &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;when &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(num % &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;) {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;0 &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;-&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;짝&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;else &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;-&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;홀&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(kotlinTest(&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;number&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;))&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이런식으로 함수의 반환값으로 사용할 수도 있습니다.&lt;/p&gt;&lt;hr class=&quot;tx-hr-image-4&quot; style=&quot;background: url(//i1.daumcdn.net/deco/contents/horizontalrule/line08.gif?v=2) repeat-x scroll left; height: 15px; border:0; width:54px; margin:30px auto&quot;&gt;&lt;h2 style=&quot;text-align: center;&quot;&gt;for&lt;/h2&gt;&lt;div&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;numbers &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;arrayOf&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;for &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(num &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;in &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;numbers&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;){&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(num)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p style=&quot;text-align: center;&quot;&gt;코틀린의 for 문은 자바의 foreach 문과 흡사합니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이 코드를 해석하자면 1부터 5까지 담겨 있는 배열을&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;순회하면서 모든 인덱스 값을 출력하는 for 문의 예 입니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;in 키워드를 이용하여 모든 요소를 num 변수로 가져옵니다&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// 1 ~ 3 &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;까지 출력&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;for &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(i &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;in &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;..&lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;) {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(i)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// 0 ~ 10 &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;까지&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt; 2&lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;씩 증가하며 출력&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;for &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(i &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;in &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;..&lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;10 &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-style: italic; font-size: 14pt;&quot;&gt;step &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;) {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(i)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// 10&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;부터&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt; 0 &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;까지&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt; 2&lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;씩 감소하며 출력&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;for &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(i &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;in &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;10 &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-style: italic; font-size: 14pt;&quot;&gt;downTo &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;0 &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-style: italic; font-size: 14pt;&quot;&gt;step &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;) {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(i)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;step 키워드랑 downTo 를 이용한 for 문 예제입니다.&lt;/p&gt;&lt;hr class=&quot;tx-hr-image-4&quot; style=&quot;background: url(//i1.daumcdn.net/deco/contents/horizontalrule/line08.gif?v=2) repeat-x scroll left; height: 15px; border:0; width:54px; margin:30px auto&quot;&gt;&lt;h2 style=&quot;text-align: center;&quot;&gt;while&lt;/h2&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;var &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;count &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;5&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;count&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;while &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;count &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;) {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;count&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;--&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;count&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;// 4; 3; 2; 1; 0;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;//do while&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;var &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;count2 &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;10&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;do &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;count2&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;--&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;count2&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;// 9; 8; 7; 6; 5; 4; 3; 2; 1; 0;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;while &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;count2 &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;자바와 완전히 동일합니다.&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;h1 style=&quot;text-align: center;&quot;&gt;클래스(class)&lt;/h1&gt;&lt;hr class=&quot;tx-hr-image-4&quot; style=&quot;background: url(//i1.daumcdn.net/deco/contents/horizontalrule/line08.gif?v=2) repeat-x scroll left; height: 15px; border:0; width:54px; margin:30px auto&quot;&gt;&lt;h2 style=&quot;text-align: center;&quot;&gt;클래스 선언&lt;br /&gt;&lt;/h2&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;class &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Person{&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;클래스 선언&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;person &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= Person() &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// new &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;키워드 사용안함&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;클래스를 선언했고, 생성한 클래스를 인스턴스를 할때 new 키워드는 코틀린에서 사용하지 않습니다.&lt;/p&gt;&lt;hr class=&quot;tx-hr-image-4&quot; style=&quot;background: url(//i1.daumcdn.net/deco/contents/horizontalrule/line08.gif?v=2) repeat-x scroll left; height: 15px; border:0; width:54px; margin:30px auto&quot;&gt;&lt;h2 style=&quot;text-align: center;&quot;&gt;생성자&lt;/h2&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;class &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Person {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;constructor&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(name: String){&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(name)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;코틀린에서는 constructor 키워드로 생성자를 표현합니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이 키워드는 생략할수도있습니다.&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;class &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Person(name: String) {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;init &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(name)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;보조 생성자가 없을시 초기화 코드가 필요하다면&amp;nbsp;init 키워드&amp;nbsp;안에&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;작성한 코드는 클래스를 인스턴스화할 때 가장 먼저 초기화됩니다.&lt;/p&gt;&lt;hr class=&quot;tx-hr-image-4&quot; style=&quot;background: url(//i1.daumcdn.net/deco/contents/horizontalrule/line08.gif?v=2) repeat-x scroll left; height: 15px; border:0; width:54px; margin:30px auto&quot;&gt;&lt;h2 style=&quot;text-align: center;&quot;&gt;프로퍼티&lt;/h2&gt;&lt;div&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;class &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Person(&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;var &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;: String)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;person &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= Person(&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;코틀린&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;person&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;name &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;문법정리&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;person&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p style=&quot;text-align: center;&quot;&gt;자바에서는 클래스에서 속성을 사용하여 멤버에 직접 접근하기위해&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;게터(&lt;span style=&quot;color: rgb(31, 218, 17);&quot;&gt;getter&lt;/span&gt;) / 세터(&lt;span style=&quot;color: rgb(31, 218, 17);&quot;&gt;setter&lt;/span&gt;) 메서드 를 작성해줬는데요&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;코틀린에서는 보통 프로퍼티를 사용합니다.&lt;/p&gt;&lt;hr class=&quot;tx-hr-image-4&quot; style=&quot;background: url(//i1.daumcdn.net/deco/contents/horizontalrule/line08.gif?v=2) repeat-x scroll left; height: 15px; border:0; width:54px; margin:30px auto&quot;&gt;&lt;h2 style=&quot;text-align: center;&quot;&gt;접근 제한자&lt;/h2&gt;&lt;table class=&quot;txc-table&quot; width=&quot;764&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; style=&quot;border:none;border-collapse:collapse;;font-family:&quot; 맑은=&quot;&quot; 고딕&quot;,=&quot;&quot; sans-serif;font-size:13px&quot;=&quot;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;width:764;height:24;border-bottom:1px solid #ccc;border-right:1px solid #ccc;border-top:1px solid #ccc;border-left:1px solid #ccc;;&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;b&gt;public&lt;/b&gt; ( 생략 가능 ) : 전체 공개, default 값 = 아무것도 안 쓰면 기본적으로 public.&amp;nbsp;&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;width:764;height:24;border-bottom:1px solid #ccc;border-right:1px solid #ccc;border-left:1px solid #ccc;;&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;b&gt;private&lt;/b&gt; : 현재 파일 내부에서만 사용가능&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;width:764;height:24;border-bottom:1px solid #ccc;border-right:1px solid #ccc;border-left:1px solid #ccc;;&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;b&gt;internal&lt;/b&gt; : 같은 모듈 내에서만 사용가능&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;width:764;height:24;border-bottom:1px solid #ccc;border-right:1px solid #ccc;border-left:1px solid #ccc;;&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;b&gt;protected&lt;/b&gt; : 상속받은 클래스에서 사용가능&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp; &lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;class &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;A {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;a &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;1&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;private val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;b &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;2&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;protected val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;c &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;3&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;internal val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;d &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;4&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;자바와 달리 internal 이라는 접근 제한자가 존재합니다&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;프로젝트가 안드로이드 app 모듈뿐만아니라&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;스마트폰용, 시계용, TV용, Android Things 용&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;안드로이드 앱을 만든다면 모듈 4개를 생성합니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;internal 은 이 모듈 간 접근을 제한하는 키워드 입니다.&lt;/p&gt;&lt;hr class=&quot;tx-hr-image-4&quot; style=&quot;background: url(//i1.daumcdn.net/deco/contents/horizontalrule/line08.gif?v=2) repeat-x scroll left; height: 15px; border:0; width:54px; margin:30px auto&quot;&gt;&lt;h2 style=&quot;text-align: center;&quot;&gt;상속&lt;/h2&gt;&lt;div&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;open class &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Animal(&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;: String) &lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;class &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Dog(name: String) : Animal(name) &lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;코틀린에서 클래스 상속은 기본적으로 금지됩니다.&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;자바에서는&amp;nbsp;&lt;span style=&quot;color: rgb(84, 84, 84); font-family: &amp;quot;Apple SD Gothic Neo&amp;quot;, arial, sans-serif; font-size: small;&quot;&gt;extends 사용한다면 코틀린에서 : 키워드로 대채합니다&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;여기서 상속을 하기위해서 open 이라는 키워드를 사용합니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;또한 생성자가 존재한다면 위에 코드처럼 작성가능합니다.&lt;/p&gt;&lt;hr class=&quot;tx-hr-image-4&quot; style=&quot;background: url(//i1.daumcdn.net/deco/contents/horizontalrule/line08.gif?v=2) repeat-x scroll left; height: 15px; border:0; width:54px; margin:30px auto&quot;&gt;&lt;h2 style=&quot;text-align: center;&quot;&gt;내부 클래스&lt;br /&gt;&lt;/h2&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;class &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;OuterClass {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;var &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;a &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;10&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;inner class &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;OuterClass2 {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;fun &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-size: 14pt;&quot;&gt;kotlintest&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(){&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;a &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;20&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;클래스 안에 내부 클래스를 선언할시 inner 키워드를 사용합니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;내부 클래스는 외부 클래스에 대한 참조를 가지고 있습니다.&lt;/p&gt;&lt;hr class=&quot;tx-hr-image-4&quot; style=&quot;background: url(//i1.daumcdn.net/deco/contents/horizontalrule/line08.gif?v=2) repeat-x scroll left; height: 15px; border:0; width:54px; margin:30px auto&quot;&gt;&lt;h2 style=&quot;text-align: center;&quot;&gt;추상 클래스&lt;/h2&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;abstract class &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;A { &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;추상 클래스&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;abstract fun &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-size: 14pt;&quot;&gt;func&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;() &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;추상 메서드&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;fun &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-size: 14pt;&quot;&gt;func2&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(){&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;class &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;B : A(){ &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;추상 클래스를 상속 받았을시 미구현 메서드를 구현해야함&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;override fun &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-size: 14pt;&quot;&gt;func&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;() { &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;구현함&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;코틀린 문법정리&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;a &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= A() &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;에러&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;b &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= B() &lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;// OK&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;자바와 동일한 특성을 가지고 있고&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;abstract 키워드를 붙히고 class 를 적어줘야 오류가 나지않는다.&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;h1 style=&quot;text-align: center;&quot;&gt;인터페이스&lt;br /&gt;&lt;/h1&gt;&lt;div style=&quot;text-align: center;&quot;&gt;인터페이스는 미구현 메서드를 포함하고 구현된 메소드등 클래스에서 다중구현을 할때 사용합니다.&lt;br /&gt;&lt;/div&gt;&lt;h2 style=&quot;text-align: center;&quot;&gt;인터페이스 선언&lt;/h2&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;interface &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Runnable{&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;fun &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-size: 14pt;&quot;&gt;run&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;fun &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-size: 14pt;&quot;&gt;fastRun&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;() = &lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;빨리 달린다&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;인터페이스는 추상 클래스와 달리 다중 구현이 가능합니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;인터페이스는 구현이 없는 메서드뿐만 아니라 구현된 메서드를 포함할 수 있습니다.&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;자바 8 의 default 메서드.&lt;/p&gt;&lt;hr class=&quot;tx-hr-image-4&quot; style=&quot;background: url(//i1.daumcdn.net/deco/contents/horizontalrule/line08.gif?v=2) repeat-x scroll left; height: 15px; border:0; width:54px; margin:30px auto&quot;&gt;&lt;h2 style=&quot;text-align: center;&quot;&gt;인터페이스 구현&lt;/h2&gt;&lt;div&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;class &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Human : Runnable{&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;override fun &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-size: 14pt;&quot;&gt;run&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;() {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;달린다&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p style=&quot;text-align: center;&quot;&gt;클래스를 상속받는거와 같이 : 키워드를 사용해 인터페이스를 구현해줍니다&lt;/p&gt;&lt;hr class=&quot;tx-hr-image-4&quot; style=&quot;background: url(//i1.daumcdn.net/deco/contents/horizontalrule/line08.gif?v=2) repeat-x scroll left; height: 15px; border:0; width:54px; margin:30px auto&quot;&gt;&lt;h2 style=&quot;text-align: center;&quot;&gt;상속과 인터페이스&lt;/h2&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;open class &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Animal&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;interface &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Run {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;fun &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-size: 14pt;&quot;&gt;run&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;fun &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-size: 14pt;&quot;&gt;fastRun&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;() = &lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;빨리 달린다&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;interface &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Eat {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;fun &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-size: 14pt;&quot;&gt;eat&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;class &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Dog : Animal()&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Run&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Eat {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;override fun &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-size: 14pt;&quot;&gt;run&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;() {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;달린다&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;override fun &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-size: 14pt;&quot;&gt;eat&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;() {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;먹는다&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;dog &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= Dog()&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;dog&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;.run() &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;달린다&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;dog&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;.eat() &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;먹는다&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;상속은 단하는의 클래스만 상속하고 인터페이스는 , 콤마 로 구분합니다.&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;h1 style=&quot;text-align: center;&quot;&gt;&amp;nbsp;데이터 클래스( Data Transfer Object )&lt;/h1&gt;&lt;div&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// data class &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;클래스명&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;(val &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;변수명&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt; : &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;쟈료형&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;..)&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;data class &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;DTO(&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;dto&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;: String)&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;코틀린은 getter / setter 를 구현할필요없이 DTO 를 간단히 구현가능하다.&lt;br /&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot; align=&quot;center&quot;&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;h1 style=&quot;text-align: center;&quot;&gt;null 가능성&lt;/h1&gt;&lt;div style=&quot;text-align: center;&quot;&gt;코틀린에서는 null 가능성을 매우 중요시여깁니다.&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;기본적으로 객체를 불변으로 보고 null값을 허용하지 않습니다.&lt;br /&gt;&lt;/div&gt;&lt;h2 style=&quot;text-align: center;&quot;&gt;null 허용( ? )&lt;br /&gt;&lt;/h2&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;a: String &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;에러 초기화를 해줘야합&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;b&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;: String = &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;null &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;에러&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt; : &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;코틀린은&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt; 기본적으로 Null &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;을 허용하지 않음.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;c&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;: String? = &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;null &lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;//OK&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;코틀린에서 null 값을 허용하기위해 자료형 오른쪽에 ? 기호를 붙여주면&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;null 값을 허용하게 됩니다.&lt;/p&gt;&lt;hr class=&quot;tx-hr-image-4&quot; style=&quot;background: url(//i1.daumcdn.net/deco/contents/horizontalrule/line08.gif?v=2) repeat-x scroll left; height: 15px; border:0; width:54px; margin:30px auto&quot;&gt;&lt;h2 style=&quot;text-align: center;&quot;&gt;lateinit&lt;br /&gt;&lt;/h2&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;lateinit var &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;: String&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;a &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&quot;Hello Kotlin&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;출력값&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt; : Hello Kotlin&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;코틀린에서 변수는 초기화를 해줘야합니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;하지만 lateinit 키워드를 사용해 늦은 초기화를 할 수 있습니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;lateinit &lt;/b&gt;사용조건&lt;/p&gt;&lt;table class=&quot;txc-table&quot; width=&quot;764&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; style=&quot;border:none;border-collapse:collapse;;font-family:&quot; 맑은=&quot;&quot; 고딕&quot;,=&quot;&quot; sans-serif;font-size:13px&quot;=&quot;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;width:764;height:24;border-bottom:1px solid #ccc;border-right:1px solid #ccc;border-top:1px solid #ccc;border-left:1px solid #ccc;;&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;var 변수에만 사용한다.&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;width:764;height:24;border-bottom:1px solid #ccc;border-right:1px solid #ccc;border-left:1px solid #ccc;;&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;null 값으로 초기화할 수 없다.&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;width:764;height:24;border-bottom:1px solid #ccc;border-right:1px solid #ccc;border-left:1px solid #ccc;;&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;초기화 전에는 변수를 사용할 수 없다.&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;width:764;height:24;border-bottom:1px solid #ccc;border-right:1px solid #ccc;border-left:1px solid #ccc;;&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;Int, Long, Double, Float 에서 사용불가&lt;/p&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;hr class=&quot;tx-hr-image-4&quot; style=&quot;background: url(//i1.daumcdn.net/deco/contents/horizontalrule/line08.gif?v=2) repeat-x scroll left; height: 15px; border:0; width:54px; margin:30px auto&quot;&gt;&lt;h2 style=&quot;text-align: center;&quot;&gt;lazy&lt;/h2&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;: String &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;by &lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;lazy &lt;/span&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-weight: bold; font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;안녕&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&quot;Kotlin&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;안녕&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;; Kotlin&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// Kotlin&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;var 에서 lateinit 을 사용해줬다면&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;val에서만 사용가능한 lazy 사용방법은&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;val 선언 뒤에 by lazy 와 블록을 작성해주면됩니다&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;마지막 줄에는 초기화할 값을 작성합니다.&lt;/p&gt;&lt;hr class=&quot;tx-hr-image-4&quot; style=&quot;background: url(//i1.daumcdn.net/deco/contents/horizontalrule/line08.gif?v=2) repeat-x scroll left; height: 15px; border:0; width:54px; margin:30px auto&quot;&gt;&lt;h2 style=&quot;text-align: center;&quot;&gt;null값이 아닐때( !! )&lt;br /&gt;&lt;/h2&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;: String? = &lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;코틀린&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;name2&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;: String = name &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;에러&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;name3&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;: String? = &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;name &lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;// OK&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;name4&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;: String =&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;!!&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;변수 뒤에 !!를 추가하면 null 값이 아님을 보증하게되어&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;name 변수는 String? 타입입니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;null 을 허용하죠 String 타입으로 변환하기위해서 !! 키워드를 붙여줘서&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;null 이 아니라는걸 보증해줍니다.&lt;/p&gt;&lt;hr class=&quot;tx-hr-image-4&quot; style=&quot;background: url(//i1.daumcdn.net/deco/contents/horizontalrule/line08.gif?v=2) repeat-x scroll left; height: 15px; border:0; width:54px; margin:30px auto&quot;&gt;&lt;h2 style=&quot;text-align: center;&quot;&gt;안전한 호출( ?. )&lt;/h2&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;: String? = &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;null&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;var &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;upperCase &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;if &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;str &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;!= &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;null&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;str &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;else null &lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;//null&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;upperCase &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;?.&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-style: italic; font-size: 14pt;&quot;&gt;toUpperCase&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;() &lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;// null&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;안전한 호출은 ?. 연산자를 사용합니다&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;?. 연산자를 사용하면 null 이 아닐경우에만 호출이 됩니다. 위 코드는 str 이 null 이고&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;upperCase 라는 변수에 str 이 null 아니면 str 을 대입&amp;nbsp;아니면 null 을반환합니다&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;마지막줄은 upperCase 라는 변수에 null 아니면 대문자로 변경하고 null값이면 null을 반환하는 코드입니다.&lt;/p&gt;&lt;hr class=&quot;tx-hr-image-4&quot; style=&quot;background: url(//i1.daumcdn.net/deco/contents/horizontalrule/line08.gif?v=2) repeat-x scroll left; height: 15px; border:0; width:54px; margin:30px auto&quot;&gt;&lt;h2 style=&quot;text-align: center;&quot;&gt;엘비스 연산자( ?: )&lt;br /&gt;&lt;/h2&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;: String? = &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;null&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;var &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;upperCase &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;if &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;str &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;!= &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;null&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;str &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;else null&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;upperCase &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;?.&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-style: italic; font-size: 14pt;&quot;&gt;toUpperCase&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;() ?: &lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;null &lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;값입니다 초기화 하시오&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;안전한 호출 시 null이 아닌 기본값을 반환하고 싶을 때 엘비스 연산자를 함께 사용합니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;str이 null이 아니면 대문자로 변경하고 null 값이면&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;뒤에 문자열을 출력합니다.&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;h1 style=&quot;text-align: center;&quot;&gt;컬렉션&lt;/h1&gt;&lt;p style=&quot;text-align: center;&quot;&gt;컬렉션은 개발에 유용한 자료구조를 뜻합니다.&lt;/p&gt;&lt;h2 style=&quot;text-align: center;&quot;&gt;리스트 ( List )&lt;/h2&gt;&lt;p&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;timetable&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;: List&amp;lt;String&amp;gt; = &lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;listOf&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;국어&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;수학&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;영어&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;배열과 비슷하게 자료형의 데이터들을 순서대로 가지고 있는 자료구조입니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;요소를 변경할 수 없는 읽기 전용 리스트는 &lt;b&gt;listOf() &lt;/b&gt;메서드로 작성.&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;timetable &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;listOf&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;국어&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;수학&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;영어&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;물론 코틀린은 형추론으로 자료형&amp;nbsp; 생략이 가능합니다.&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;timetable &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;mutableListOf&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;국어&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;수학&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;영어&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;timetable&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;.add(&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;프로그래밍&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;프로그래밍을 맨 뒤에 추가&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;timetable&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;.removeAt(&lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// index &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;값이&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt; 0 &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;인 국어를 삭제&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;timetable&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;] = &lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;코틀린&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot; &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// index &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;값이&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt; 0 &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;인 국어를 코틀린으로 변경&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;timetable&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// [&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;코틀린&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;영어&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;프로그래밍&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;]&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;timetable&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;]) &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;코틀린&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;요소를 변경하는 리스트를 작성할 때는&lt;b&gt; mutableListOf() &lt;/b&gt;메서드를 사용합니다.&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;여기서 자바의 리스트와 다른점은 index 값으로 접근할 수 있다는 겁니다.&lt;/p&gt;&lt;hr class=&quot;tx-hr-image-4&quot; style=&quot;background: url(//i1.daumcdn.net/deco/contents/horizontalrule/line08.gif?v=2) repeat-x scroll left; height: 15px; border:0; width:54px; margin:30px auto&quot;&gt;&lt;h2 style=&quot;text-align: center;&quot;&gt;맵 ( Map )&lt;br /&gt;&lt;/h2&gt;&lt;div&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 12pt;&quot;&gt;// &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;읽기 전용 맵&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;map &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 12pt;&quot;&gt;mapOf&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot;a&quot; &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-style: italic; font-size: 12pt;&quot;&gt;to &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 12pt;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot;b&quot; &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-style: italic; font-size: 12pt;&quot;&gt;to &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 12pt;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot;c&quot; &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-style: italic; font-size: 12pt;&quot;&gt;to &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 12pt;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 12pt;&quot;&gt;// &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;변경 가능한 맵&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;citiesMap &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 12pt;&quot;&gt;mutableMapOf&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 12pt;&quot;&gt;한국&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot; &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-style: italic; font-size: 12pt;&quot;&gt;to &lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 12pt;&quot;&gt;서울&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 12pt;&quot;&gt;일본&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot; &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-style: italic; font-size: 12pt;&quot;&gt;to &lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 12pt;&quot;&gt;동경&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 12pt;&quot;&gt;중국&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot; &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-style: italic; font-size: 12pt;&quot;&gt;to &lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 12pt;&quot;&gt;북경&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;citiesMap&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 12pt;&quot;&gt;한국&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;] = &lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 12pt;&quot;&gt;서울특별시&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot; &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 12pt;&quot;&gt;// &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;요소에 덮어쓰기&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;citiesMap&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 12pt;&quot;&gt;미국&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;] = &lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 12pt;&quot;&gt;워싱턴&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot; &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 12pt;&quot;&gt;// &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;요소 추가&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p style=&quot;text-align: center;&quot;&gt;맵 ( Map ) 은 키( key ) 와 값( value )의 쌍으로 이루어진 키가&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;중복될 수 없는 구조인 자료구조입니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;리스트와 같이 읽기 전용과 요소를 변경할수 있는 Map 으로 만들수있습니다&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;mapOf() &lt;/b&gt;: 읽기 전용 맵&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;mutableMapOf() &lt;/b&gt;: 변경 가능한 맵&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;for &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;((k&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;v) &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;in &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;map&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;){ &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// map &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;의 키 와 값을 탐색&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;k&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt; -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;v&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;출력값&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt; : a -&amp;gt; 1; b -&amp;gt; 2; c -&amp;gt; 3;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;for 문을 이용하여 간단히 map 의 키 와 값을 탐색 할 수 있습니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;/p&gt;&lt;hr class=&quot;tx-hr-image-4&quot; style=&quot;background: url(//i1.daumcdn.net/deco/contents/horizontalrule/line08.gif?v=2) repeat-x scroll left; height: 15px; border:0; width:54px; margin:30px auto&quot;&gt;&lt;h2 style=&quot;text-align: center;&quot;&gt;집합&lt;/h2&gt;&lt;div&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;읽기 전용 집합&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;languageSet &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;setOf&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;코틀린&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;자바&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;노드&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;수정 가능 집합&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;languageSet2 &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;mutableSetOf&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;코틀린&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;자바&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;노드&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;languageSet2&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;.add(&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;파이썬&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;languageSet2&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;.remove(&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;노드&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;languageSet2&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;size&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;집합의 크기&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;languageSet2&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;.contains(&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;코틀린&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;))&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;집합에 요소값이 존재하는지&lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt; : true&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p style=&quot;text-align: center;&quot;&gt;집합은 중복되지 않는 요소들로 구성된 자료구조입니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;setOf() &lt;/b&gt;: 읽기 전용 집합&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;mutableSetOf() &lt;/b&gt;: 수정 가능 집합&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;h1 style=&quot;text-align: center;&quot;&gt;람다식&lt;/h1&gt;&lt;p style=&quot;text-align: center;&quot;&gt;코틀린은 자바 8 에서 지원하는 람다식을 지원합니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;람다식은 함수를 표현하는 방법으로 익명 클래스, 함수를 간결하게 표현할수있습니다.&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;fun &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-size: 14pt;&quot;&gt;addOne&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(x: Int&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;y: Int): Int {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;return &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;x + y&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;add() 메서드는 2개의 인수를 받아 더해주는 메서드입니다.&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;fun &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-size: 14pt;&quot;&gt;addTwo&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(x: Int&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;y: Int) = x + y&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;반환 자료형을 생략하고 블록&amp;nbsp;&lt;span style=&quot;color: rgb(31, 218, 17);&quot;&gt;{} &lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;을 생략하고 return 도 생략했습니다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;이렇게 람다식을 사용하게되면 코드가 간결해주는 장점이 있지만&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;디버깅이 어렵고 많이 쓰면 코드의 가독성이 떨어지게 된다는 단점이 있습니다.&lt;/span&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;var &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;add &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;font-weight: bold; font-size: 14pt;&quot;&gt;{ &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;x: Int&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;y: Int &lt;/span&gt;&lt;span style=&quot;font-weight: bold; font-size: 14pt;&quot;&gt;-&amp;gt; &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;x + y &lt;/span&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;add&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;)) &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;출력 값&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;: 8&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;또한 변수에 일반 함수처럼 사용할 수 있씁니다.&lt;/p&gt;&lt;hr class=&quot;tx-hr-image-4&quot; style=&quot;background: url(//i1.daumcdn.net/deco/contents/horizontalrule/line08.gif?v=2) repeat-x scroll left; height: 15px; border:0; width:54px; margin:30px auto&quot;&gt;&lt;h2 style=&quot;text-align: center;&quot;&gt;SAM 변환&lt;/h2&gt;&lt;div style=&quot;text-align: center;&quot;&gt;자바로 작성된 메서드가 하나인 인터페이스를 구현할 때는 함수를 작성할수있습니다&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;바로 SAM ( Single Abstract Method) 변환이라고합니다&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;button.setOnLongClickListener(&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;object &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;: View.OnClickListener{&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;override fun &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-size: 14pt;&quot;&gt;onClick&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(p0: View?) {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;       &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;클릭 이벤트 &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;})&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;안드로이드에서 버튼에 클릭 이벤트 리스너를 구현하는 코드입니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;여기서 SAM 변환을하면 &lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;button.setOnClickListener &lt;/span&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-weight: bold; font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;클릭 이벤트&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-weight: bold; font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이런식으로 인수가 람다식인 경우는 람다식을 괄호 밖으로 뺄 수있고유일한 인수일 경운에는 괄호를 생략하고&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;자료형과 인수가 하나인 경우에는 이를 아예 생략하고 블록내에서 접근이 가능하게됩니다.&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;h1 style=&quot;text-align: center;&quot;&gt;확장 함수&lt;/h1&gt;&lt;p style=&quot;text-align: center;&quot;&gt;확장 함수 : 기존에 있던 클래스에 기능을 추가하는 함수.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;fun &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Int.&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-size: 14pt;&quot;&gt;isEven&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;() = &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;this &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;% &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;2 &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;== &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;0&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;a &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;10&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;b &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;11&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-style: italic; font-size: 14pt;&quot;&gt;isEven&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;()) &lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;// true&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;b&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-style: italic; font-size: 14pt;&quot;&gt;isEven&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;()) &lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;// flase&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;Int class 에 . 을 찍고 함수 이름을 작성해줍니다&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이 객체를 this 로 접근할 수 있습니다 또한 리시버 객체라고 부릅니다.&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;h1 style=&quot;text-align: center;&quot;&gt;형 변환 ( as )&lt;br /&gt;&lt;/h1&gt;&lt;div&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;open class &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Animal&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;class &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Dog : Animal()&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;dog &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= Dog()&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;animal &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;dog &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;as &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Animal&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p style=&quot;text-align: center;&quot;&gt;클래스 간에 형 변환을 하려면 as 키워드를 사용합니다&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;h1 style=&quot;text-align: center;&quot;&gt;형 체크 ( is )&lt;/h1&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;str &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&quot;Hello&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;if &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;str &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;is &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;String){ &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// str &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;이&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt; String &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;형이라면&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-style: italic; font-size: 14pt;&quot;&gt;toUpperCase&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;())&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;is 키워드를 사용하여 형 체크를 합니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;자바에서 instanceOf&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;h1 style=&quot;text-align: center;&quot;&gt;고차 함수&lt;/h1&gt;&lt;p style=&quot;text-align: center;&quot;&gt;고차 함수 : 함수의 인수로 함수를 전달하거나 함수를 반환할 수 있는 함수.&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;// &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;인수&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt; : &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;숫자&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-family: 굴림체; font-size: 14pt;&quot;&gt;숫자&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 14pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#808080;font-family:'굴림체';&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;하나의 숫자를 인수로 하는 반환값이 없는 함수&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;fun &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-size: 14pt;&quot;&gt;add&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(x: Int&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;y: Int&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;callback: (sum: Int) -&amp;gt; Unit) {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    callback(x + y)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;add(&lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;font-weight: bold; font-size: 14pt;&quot;&gt;{ &lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;font-weight: bold; font-size: 14pt;&quot;&gt;it&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;font-weight: bold; font-size: 14pt;&quot;&gt;} &lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;// 8&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;add 함수는 x, y, callback 3개의 인수를 받고&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;callback 에 x + y 값을 전달합니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그리고 add() 함수에 5와 3을 인자로 넣어주면&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;callback 은 더한값을 반환해줍니다.&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;h1 style=&quot;text-align: center;&quot;&gt;동반 객체 ( companion object )&lt;/h1&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;class &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Fragment {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;companion object &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;fun &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-size: 14pt;&quot;&gt;newInstance&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;() {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 14pt;&quot;&gt;생성됨&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 14pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;fragment &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= Fragment.newInstance()&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;프래그먼트는 팩토리 메서드를 정의하여 인스턴스를 생성해야 합니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;팩토리 메서드 : 생성자가 아닌 메서드를 사용해 객체를 생성하는 코딩 패턴&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;코틀린은 자바의 static과 같은 정적인 메서드를 만들 수 있는 키워드를 제공않함,&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;대신 동반 객채( companion object ) 으로 구현합니다.&lt;br /&gt;&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;h1 style=&quot;text-align: center;&quot;&gt;let() 함수&lt;/h1&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;p&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;//fun &amp;lt;T, R&amp;gt; T.let(block (T) -&amp;gt; R): R&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;var &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;: String? = &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;null&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;result &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;?.&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-style: italic; font-size: 14pt;&quot;&gt;let&lt;/span&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-weight: bold; font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Integer.parseInt(&lt;/span&gt;&lt;span style=&quot;font-weight: bold; font-size: 14pt;&quot;&gt;it&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold; font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;let() 함수는 블록에 자기 자신을 인수로 전달하고 수행된 결과를 반환합니다.&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;h1 style=&quot;text-align: center;&quot;&gt;&amp;nbsp;with() 함수&lt;/h1&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;//fun &amp;lt;T, R&amp;gt; with(receiver: T, block T.() -&amp;gt; R): R&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;var &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;: String? = &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;null&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;with&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-weight: bold; font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;?.&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-style: italic; font-size: 14pt;&quot;&gt;toUpperCase&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;())&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;with() 함수는 인수로 객체를 받고 블록에 리시버 객체로 전달합니댜.&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;h1 style=&quot;text-align: center;&quot;&gt;apply() 함수&lt;/h1&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;// fun &amp;lt;T&amp;gt; T.apply(block: T.() -&amp;gt; Unit): T&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;result &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;car&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;?.&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-style: italic; font-size: 14pt;&quot;&gt;apply&lt;/span&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-weight: bold; font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;car&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;.setColor(Color.&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-style: italic; font-size: 14pt;&quot;&gt;RED&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold; font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;apply() 함수는 블록에 객체 자신이 리시버 객체로 전달되고 이 객체가 반환됩니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;객체의 상태를 변회시키고 그 객체를 다시 반활할 때 주로사용합니다.&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;h1 style=&quot;text-align: center;&quot;&gt;run() 함수&lt;/h1&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;// fun &amp;lt;R&amp;gt; run(block: () -&amp;gt; R): R&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;avg &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-style: italic; font-size: 14pt;&quot;&gt;run &lt;/span&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-weight: bold; font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;korean = &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;100&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;english = &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;80&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 14pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;math = &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;60&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(korean + english + math) / &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;3.0&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-weight: bold; font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;run() 함수는 익명 함수처럼 사용하는 방법과,&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;객체에서 호출하는 방법을 모두 제공합니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;익명 함수처럼 사용할 대는 블록의 결과를 반환합니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;임시변수가 많을대 유용&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;// fun &amp;lt;T, R&amp;gt; T.run(block: T.() -&amp;gt; R): R&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 14pt;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;?.&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-style: italic; font-size: 14pt;&quot;&gt;run&lt;/span&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;{&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-weight: bold; font-size: 14pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 14pt;&quot;&gt;println&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-style: italic; font-size: 14pt;&quot;&gt;toUpperCase&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;())&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold; font-size: 14pt;&quot;&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;객체를 블록의 리시버 객체로 전달하고 블록의 결과를 반환합니다&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;안전한 호출을 사용할 수 있어서 with() 합수보다는 더 유용&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-2&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px solid; border-bottom: black 3px solid; height: 7px&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>Kotlin</category>
      <category>Kotlin</category>
      <category>kotlin 문법</category>
      <category>코틀린</category>
      <category>코틀린 문법</category>
      <category>코틀린 문법정리</category>
      <author>Bin's.</author>
      <guid isPermaLink="true">https://jbins.tistory.com/14</guid>
      <comments>https://jbins.tistory.com/14#entry14comment</comments>
      <pubDate>Mon, 25 Feb 2019 21:11:08 +0900</pubDate>
    </item>
    <item>
      <title>Retrofit - 학교급식 통신 (Retrofit2 + OkHttp3)</title>
      <link>https://jbins.tistory.com/12</link>
      <description>&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&lt;/span&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 820px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/998FB8475C21F4D525&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F998FB8475C21F4D525&quot; width=&quot;820&quot; height=&quot;287&quot; filename=&quot;BlogRestAndroidDuckMa-120710-edited.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;hr&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;h1 style=&quot;text-align: center;&quot;&gt;Retrofit&amp;nbsp;- 학교 급식 통신&lt;br /&gt;&lt;/h1&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 356px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99E82C475C228AEE0D&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99E82C475C228AEE0D&quot; width=&quot;356&quot; height=&quot;639&quot; filename=&quot;123.gif&quot; filemime=&quot;image/gif&quot; original=&quot;yes&quot;/&gt;&lt;span class=&quot;cap1&quot; style=&quot;display: block; max-width:100%; &quot;&gt;완성된 예제&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;hr&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;/div&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;먼저 Retrofit2 이란?&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;HTTP REST API 통신( Http 통신 라이브러리 )을 사용할때 쓰는 라이브러리 입니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://devflow.github.io/retrofit-kr/&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;한국문서&lt;/a&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;가장먼저 이 라이브러리를 사용하기전에&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center; line-height: 1.5;&quot;&gt;build.gradle (app)&amp;nbsp;에 추가해줘야합니다.&lt;/p&gt;&lt;p style=&quot;text-align: center; line-height: 1.5;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Source Code Pro';font-size:8.4pt;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;dependencies {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;    implementation &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;'com.squareup.retrofit2:retrofit:2.5.0'&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;implementation &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;'com.squareup.retrofit2:converter-gson:2.5.0'&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;implementation &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;'com.squareup.okhttp3:okhttp:3.12.0'&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;implementation &lt;/span&gt;&lt;span style=&quot;font-size: 12pt; color: rgb(106, 135, 89);&quot;&gt;'com.squareup.okhttp3:logging-interceptor:3.4.2'&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;그리고 네트워크 (인터넷) 을 사용하기위해 manifests 에&amp;nbsp;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Source Code Pro';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(232, 191, 106); font-size: 12pt;&quot;&gt;  &amp;lt;uses-permission &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186); font-size: 12pt;&quot;&gt;:name=&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot;android.permission.INTERNET&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(232, 191, 106); font-size: 12pt;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이 권환을&amp;nbsp;추가해주어야합니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;자 준비가 끝났으면 이제 사용방법에대해 알아보도록 하겠습니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;일단 Json 형태의 REST API 를 사용해야하는데요&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;저는 간단한 저희학교 급식 api 를 기준으로 설명해드리도록 하겠습니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 646px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99CCFD4F5C22D64006&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99CCFD4F5C22D64006&quot; width=&quot;646&quot; height=&quot;136&quot; filename=&quot;1.PNG&quot; filemime=&quot;image/jpeg&quot; original=&quot;yes&quot;/&gt;&lt;span class=&quot;cap1&quot; style=&quot;display: block; max-width:100%; &quot;&gt;이 날 저희학교 급식 API 입니다&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;1. 먼저 이 data 를 저장할 data 객체를 만들어 주겠습니다&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;beans.kt&lt;/b&gt;&lt;/p&gt;&lt;pre&gt;&lt;code&gt;data class lunch(val date:String,val menu:String,val day:String)&lt;/code&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이렇게 코틀린을 쓰면 data 객체를 간단히 구현가능합니다&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;getter, sette&lt;/b&gt;r 를 내부적으로 구현을해줍니다.&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;(&lt;b&gt;String&lt;/b&gt; 형태로 내용을 받아오기때문에 데이터 타입은&lt;b&gt; String&lt;/b&gt; 형태로 받아줌)&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;먼저 날짜를 저장할 &lt;b&gt;date&lt;/b&gt; 라는 변수,&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그리고 우리가 원하는 메뉴를 저장할 &lt;b&gt;menu&lt;/b&gt; 라는 변수,&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그리고 오늘이 무슨요일인줄 알려주는 &lt;b&gt;day&lt;/b&gt; 라는 변수를 만들어 주었습니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;2. 이제 API 서비스를 만들어줄거입니다&amp;nbsp;(인터페이스 만들기).&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;Service.kt&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre&gt;&lt;code&gt;interface UserService {
      @GET(&quot;받아올 API 의 URL&quot;)
      fun ApiService(): Call&amp;lt;lunch&amp;gt;&lt;launch&gt;
}&lt;/launch&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;인터페이스를 선언해주고 &lt;b&gt;@GET &lt;/b&gt;annotation 을추가하고&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;ApiService()&lt;/b&gt; 라는 함수에 받아올데이터 타입을&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;lunch (위에 만든 data 객체 이름)&amp;nbsp;&amp;nbsp;데이터 타입으로 해줍니다.&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;3. Retrofit 초기화 해주기&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;MainActivity.kt&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;(일부분)&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Source Code Pro';font-size:8.4pt;&quot;&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;retrofit = Retrofit.Builder()&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;        .baseUrl(&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot;적어줄 baseUrl &quot;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;        .addConverterFactory(GsonConverterFactory.create())&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;        .client(createOkHttpClient())&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;        .build()&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;service = retrofit.create(UserService::&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-style: italic; font-size: 12pt;&quot;&gt;java&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이런식으로 Retrofit 을 초기화를 해주는데&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;간단히 baseUrl 을 적어서 초기화 해줍니다.&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이렇게 초기화 해준뒤 Retrofit 을 생성해주는데요&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그럼 이제 UserService 를 retrofit을 통해 생성을 해줍니다&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그이후 service 를 통해 retrofit 을 사용하면됩니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그리고 대부분 서버는 json 으로 응답을 해주는데요&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;Retrofit 에서는 이러한 응답을 간단하게 변활할 수 있도록&amp;nbsp;Converter 를 지원해줍니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;추가해줄수있는 방법은 바로&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;.addConverterFactory(GsonConverterFactory.create())&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;인데요&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;여기서 &lt;b&gt;GsonConverterFactory.create()&lt;/b&gt; 를 추가해주는 이유는&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;통신이 완료된후 어떤 Converter 를 사용하여 데이터를 파싱할 것인지에 대한 설정을 해줘야해서 추가를 했습니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그리고 service 로 Retrofit 을 사용가능합니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;Service.kt&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre&gt;&lt;code&gt;interface UserService {
      @GET(&quot;받아올 API 의 URL&quot;)
      fun ApiService(): Call&amp;lt;launch&amp;gt;&lt;launch&gt;
}&lt;/launch&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그럼 이러한 인터페이스를 사용할수있습니다.&amp;nbsp;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이제 Retrofit 과 인터페이스랑 연결을 해줬습니다&lt;/p&gt;&lt;hr&gt;&lt;p style=&quot;text-align: center;&quot;&gt;4. Retrofit 에서 응답받은 데이터 처리&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;MainActivity.kt&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Source Code Pro';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;private fun &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-size: 12pt;&quot;&gt;setRetrofit&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;(){&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;retrofit = Retrofit.Builder()&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;            .baseUrl(&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot;http://api.hansei.us/&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;            .addConverterFactory(GsonConverterFactory.create())&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;            .client(createOkHttpClient())&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;            .build()&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;service = retrofit.create(UserService::&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-style: italic; font-size: 12pt;&quot;&gt;java&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;call:Call&amp;lt;launch&amp;gt; = service.ApiService()&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;    call.enqueue(&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;object &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;: Callback&amp;lt;launch&amp;gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;override fun &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-size: 12pt;&quot;&gt;onFailure&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;(call: Call&amp;lt;launch&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;t: Throwable) {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;            Toast.makeText(&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-style: italic; font-size: 12pt;&quot;&gt;applicationContext&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 12pt;&quot;&gt;실패&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;Toast.&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-style: italic; font-size: 12pt;&quot;&gt;LENGTH_SHORT&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;).show()&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;override fun &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-size: 12pt;&quot;&gt;onResponse&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;(call: Call&amp;lt;launch&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;response: Response&amp;lt;launch&amp;gt;) {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;(response.body()!=&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;null&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;){&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;                Toast.makeText(&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-style: italic; font-size: 12pt;&quot;&gt;applicationContext&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 12pt;&quot;&gt;성공&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;Toast.&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-style: italic; font-size: 12pt;&quot;&gt;LENGTH_SHORT&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;).show()&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;                text1.&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-style: italic; font-size: 12pt;&quot;&gt;text &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;= response.body()!!.&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;date &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;+ &lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot; &lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 12pt;&quot;&gt;입니다&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;                &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;text2.&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-style: italic; font-size: 12pt;&quot;&gt;text &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;= response.body()!!.&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;menu&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;                &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;text3.&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-style: italic; font-size: 12pt;&quot;&gt;text &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;= response.body()!!.&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;day &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;+ &lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 12pt;&quot;&gt;요일 입니다&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;.&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;    })&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;MainActivity.kt 의 일부분입니다&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;준비가 끝났으니 실제 HTTP 통신을 하고 결과를 받아보는코드입니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;실질적으로 사용할 call 이라는 객체를 만들어줍니다.&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;enqueue()&lt;/b&gt; 메소드를 이용하여 요청을 처리해줍니다 그리고&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;해당 메소드에 Callback interface 를 구현해주면&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;Callback interface 는 &lt;b&gt;onResponse&lt;/b&gt; 와 &lt;b&gt;onFailure&lt;/b&gt; 를 구현을 해줘야합니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot; border=&quot;0&quot; class=&quot;txc-layout-tb&quot;&gt;&lt;tbody&gt;			
&lt;tr&gt;			&lt;td valign=&quot;top&quot; style=&quot;height: 175px;&quot;&gt;&lt;table width=&quot;255&quot; height=&quot;350&quot; cellpadding=&quot;5&quot; cellspacing=&quot;0&quot; border=&quot;0&quot; class=&quot;txc-layout-inner-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b style=&quot;text-align: center;&quot;&gt;onResponse()&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;요청이 성공됬을경우의 처리&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;- 에외처리 가 포함된 코드&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;- 받아온 결과에 &lt;b&gt;body()&lt;/b&gt; 부분이&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;null 이 아닐경우&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;성공이라는 Toast 메시지와&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;각각의 텍스트 뷰에 텍스트를&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;받아온값의 date ,&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;menu&amp;nbsp;, day 를 설정해줍니다.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;			&lt;td valign=&quot;top&quot; style=&quot;height: 175px;&quot;&gt;&lt;table width=&quot;255&quot; height=&quot;350&quot; cellpadding=&quot;5&quot; cellspacing=&quot;0&quot; border=&quot;0&quot; class=&quot;txc-layout-inner-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign=&quot;top&quot; style=&quot;height: 261px;&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b style=&quot;text-align: center;&quot;&gt;onFailure()&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;text-align: center;&quot;&gt;요청이 실패됬을경우의 처리&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;text-align: center;&quot;&gt;- 정말 실패했을경우&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;text-align: center;&quot;&gt;- Toast 메세지를 화면에&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;text-align: center;&quot;&gt;실패 출력.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;			
&lt;/tr&gt;			
&lt;/tbody&gt;&lt;/table&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;자 이런식으로 처리가 되면 성공할경우 서버에서 가져온 급식정보를 원하는 Activity 에&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;TextView 에 설정이 됩니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;hr class=&quot;tx-hr-image-1&quot; style=&quot;background: url(//i1.daumcdn.net/deco/contents/horizontalrule/line03.gif?v=2) repeat-x scroll left; height: 15px; border:0&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;간단히 통신을 성공했으면 이제&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;Ok&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;HTTP을 사용하여 Retrofit 의 로그를 확인해보자.&lt;/span&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color: rgb(43, 43, 43); color: rgb(169, 183, 198); font-family: &amp;quot;Source Code Pro&amp;quot;; font-size: 8.4pt;&quot;&gt;&lt;p style=&quot;margin-left: 2em;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;implementation &lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89);&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;'com.squareup.okhttp3:okhttp:3.12.0'&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-left: 2em;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;implementation &lt;/span&gt;&lt;span style=&quot;font-size: 12pt; color: rgb(106, 135, 89);&quot;&gt;'com.squareup.okhttp3:logging-interceptor:3.4.2'&lt;/span&gt;&lt;/p&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;사용을 위해 위에 2개의 dependencies 를 추가 해줬습니다.&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그리고 간단히 예제 코드를 작성합니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Consolas';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;private fun &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;createOkHttpClient&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;(): OkHttpClient {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;builder = OkHttpClient.Builder()&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;interceptor = HttpLoggingInterceptor()&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;    interceptor.&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-style: italic; font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;level &lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;= HttpLoggingInterceptor.Level.&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;BODY&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;builder.addInterceptor(interceptor)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;return &lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;builder.build()&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그리고 아까 위부분에 정의한&amp;nbsp;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color: rgb(43, 43, 43); color: rgb(169, 183, 198); font-family: &amp;quot;Source Code Pro&amp;quot;; font-size: 8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;val &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;retrofit = Retrofit.Builder()&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;            .baseUrl(&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot;http://api.hansei.us/&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;            .addConverterFactory(GsonConverterFactory.create())&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;            .client(createOkHttpClient())&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;            .build()&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;.client() 에&amp;nbsp;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;/b&gt;메소드를 추가해주면됩니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그리고 빌드를 해주신다면&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;1&quot; border=&quot;0&quot; class=&quot;txc-layout-wz&quot;&gt;&lt;tbody&gt;			
&lt;tr&gt;			&lt;td width=&quot;202&quot; valign=&quot;top&quot; class=&quot;txc-layout-image&quot; style=&quot;height: 20px;&quot;&gt;&lt;p&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 387px; text-align: center; background-color: rgb(255, 255, 255); width: 387px; height: 280px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99B0424E5C4CA95207&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99B0424E5C4CA95207&quot; width=&quot;387&quot; height=&quot;280&quot; filename=&quot;asd.PNG&quot; filemime=&quot;image/jpeg&quot; style=&quot;text-align: center; background-color: rgb(255, 255, 255); width: 387px; height: 280px;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;			&lt;td width=&quot;19&quot; class=&quot;txc-layout-blank&quot; style=&quot;height: 20px;&quot;&gt;&lt;/td&gt;			&lt;td width=&quot;302&quot; valign=&quot;top&quot; class=&quot;txc-layout-list&quot; style=&quot;height: 20px;&quot;&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;이와 같이 통신이 됬는지 확인을 할수있습니다.&lt;/div&gt;&lt;/td&gt;			
&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;끝으로 Retrofit2 + OkHttp3 를 이용한 학교급식 통신을 해본 예제입니다.&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;hr&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;굳&lt;/p&gt;</description>
      <category>Android/Android ( Kotlin )</category>
      <category>android retrofit2</category>
      <category>Okhttp3</category>
      <category>retrofit2</category>
      <category>레트로핏2</category>
      <category>안드로이드</category>
      <category>학교급식 통신</category>
      <category>한세사이버보안고등학교 급식</category>
      <author>Bin's.</author>
      <guid isPermaLink="true">https://jbins.tistory.com/12</guid>
      <comments>https://jbins.tistory.com/12#entry12comment</comments>
      <pubDate>Sun, 27 Jan 2019 03:44:20 +0900</pubDate>
    </item>
    <item>
      <title>Android (일곱번째 수업 - Fragment와 TapLayout)</title>
      <link>https://jbins.tistory.com/11</link>
      <description>&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 500px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/991D1F4B5BB2F87518&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F991D1F4B5BB2F87518&quot; width=&quot;500&quot; height=&quot;116&quot; filename=&quot;안드로이드 로고.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;hr&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;h1 style=&quot;text-align: center;&quot;&gt;Fragment와 TapLayout&lt;/h1&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;먼저 Fragment 란?&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: Roboto, sans-serif; font-size: 16px;&quot;&gt;Android 3.0 (API 레벨 11) 에서 Fragment 가 소개 되었습니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 12pt; text-align: start;&quot;&gt;Fragment는 보통 하나의 Activity안에 여러 UI를 구성할 때 이용할 수 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: rgb(33, 33, 33); font-family: Roboto, sans-serif; font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 351px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9911AB4F5BB39C3F29&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9911AB4F5BB39C3F29&quot; width=&quot;351&quot; height=&quot;599&quot; filename=&quot;Fragment.gif&quot; filemime=&quot;image/gif&quot; original=&quot;yes&quot;/&gt;&lt;span class=&quot;cap1&quot; style=&quot;display: block; max-width:100%; &quot;&gt;TapLayou에 적용한 Fragment &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;이것처럼 Fragment를 사용해서 UI 를 쉽게 넘길수 있습니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-family: Arial, &amp;quot;Spoqa Han Sans&amp;quot;, &amp;quot;Spoqa Han Sans JP&amp;quot;, 나눔바른고딕, 나눔고딕, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, AppleSDGothicNeo, sans-serif; font-size: 14px; text-align: start;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;즉&amp;nbsp;프래그먼트란&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-family: Arial, &amp;quot;Spoqa Han Sans&amp;quot;, &amp;quot;Spoqa Han Sans JP&amp;quot;, 나눔바른고딕, 나눔고딕, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, AppleSDGothicNeo, sans-serif; font-size: 14px; text-align: start;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;재사용 가능한 유저 인터페이스를 생성하기 위한 새로운 컴포넌트라고 볼&amp;nbsp;수 있습니다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-family: Arial, &amp;quot;Spoqa Han Sans&amp;quot;, &amp;quot;Spoqa Han Sans JP&amp;quot;, 나눔바른고딕, 나눔고딕, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, AppleSDGothicNeo, sans-serif; font-size: 12pt; text-align: start;&quot;&gt;&amp;nbsp;단&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, &amp;quot;Spoqa Han Sans&amp;quot;, &amp;quot;Spoqa Han Sans JP&amp;quot;, 나눔바른고딕, 나눔고딕, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, AppleSDGothicNeo, sans-serif; font-size: 12pt; text-align: start;&quot;&gt;Fragment는 자신만의 레이아웃을 이용하여 화면에 UI 를 보여줄 수 있습니다&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-family: Arial, &amp;quot;Spoqa Han Sans&amp;quot;, &amp;quot;Spoqa Han Sans JP&amp;quot;, 나눔바른고딕, 나눔고딕, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, AppleSDGothicNeo, sans-serif; font-size: 14px; text-align: start;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-family: Arial, &amp;quot;Spoqa Han Sans&amp;quot;, &amp;quot;Spoqa Han Sans JP&amp;quot;, 나눔바른고딕, 나눔고딕, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, AppleSDGothicNeo, sans-serif; font-size: 14px; text-align: start;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;하지만 혼자 독자적으로 동작할 수 없으며,&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-family: Arial, &amp;quot;Spoqa Han Sans&amp;quot;, &amp;quot;Spoqa Han Sans JP&amp;quot;, 나눔바른고딕, 나눔고딕, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, AppleSDGothicNeo, sans-serif; font-size: 14px; text-align: start;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;Fragment 라이프 사이클은 자신이 포함된 Activity 라이프 사이클의 영향을 받습니다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-family: Arial, &amp;quot;Spoqa Han Sans&amp;quot;, &amp;quot;Spoqa Han Sans JP&amp;quot;, 나눔바른고딕, 나눔고딕, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, AppleSDGothicNeo, sans-serif; font-size: 14px; text-align: start;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;hr&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;TabLayout 을 알아보자&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-family: sans-serif; font-size: 11pt; text-align: start; color: rgb(0, 0, 0);&quot;&gt;Tab 은 상위 탐색 수단 및 앱 내의 컨텐츠를 그룹화 할 수단으로 흔히 사용되고 있습니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-family: sans-serif; font-size: 11pt; text-align: start; color: rgb(0, 0, 0);&quot;&gt;디자인 라이브러리의 TabLayout 은 고정 탭을 지원합니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-family: sans-serif; font-size: 11pt; text-align: start; color: rgb(0, 0, 0);&quot;&gt;많을 경우시 스크롤 이 지원됨.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 351px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99E7853B5BB34A461F&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99E7853B5BB34A461F&quot; width=&quot;351&quot; height=&quot;586&quot; filename=&quot;TabLayout.gif&quot; filemime=&quot;image/gif&quot; original=&quot;yes&quot;/&gt;&lt;span class=&quot;cap1&quot; style=&quot;display: block; max-width:100%; &quot;&gt;TabLayout 에 Tab을 눌러 화면 전환&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;이렇게 Fragment를 전환할수있습니다&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;하지만 이번예제에선 ViewPager 를 사용해서 슬라이딩 해도&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;Fragment가 전환이됩니다.&lt;/span&gt;&lt;/p&gt;&lt;hr&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;예제설명 - TabLayout 을 이용한 Fragment 전환&lt;/span&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;먼저 TabLayout 을 MainActivity.xml 에 추가 해줍시다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;중요! Design Support Library 를 추가해줘야합니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;하지만 안드로이드 3.2 버전이 정식 릴리즈가 되어&lt;/span&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Fira Code';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;dependencies {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;    implementation &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;'com.google.android.material:material:1.0.0'&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;meterial 를 dependencies 에 추가해주면 됩니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Fira Code';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(232, 191, 106); font-size: 12pt;&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186); font-size: 12pt;&quot;&gt;xml version=&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot;1.0&quot; &lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186); font-size: 12pt;&quot;&gt;encoding=&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot;utf-8&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&amp;lt;RelativeLayout&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(232, 191, 106); font-size: 12pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186); font-size: 12pt;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186); font-size: 12pt;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&quot;http://schemas.android.com/apk/res/android&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186); font-size: 12pt;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;app&lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186); font-size: 12pt;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&quot;http://schemas.android.com/apk/res-auto&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186); font-size: 12pt;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;tools&lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186); font-size: 12pt;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&quot;http://schemas.android.com/tools&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186); font-size: 12pt;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&quot;match_parent&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186); font-size: 12pt;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&quot;match_parent&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;tools&lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186); font-size: 12pt;&quot;&gt;:context=&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot;.MainActivity&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;    &amp;lt;com.google.android.material.tabs.TabLayout&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(232, 191, 106); font-size: 12pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186); font-size: 12pt;&quot;&gt;:id=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&quot;@+id/tab&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186); font-size: 12pt;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&quot;match_parent&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186); font-size: 12pt;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&quot;40dp&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186); font-size: 12pt;&quot;&gt;:background=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&quot;@android:color/white&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;    &amp;lt;/com.google.android.material.tabs.TabLayout&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;    &amp;lt;androidx.viewpager.widget.ViewPager&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(232, 191, 106); font-size: 12pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186); font-size: 12pt;&quot;&gt;:layout_below=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&quot;@+id/tab&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186); font-size: 12pt;&quot;&gt;:id=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&quot;@+id/viewPager&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186); font-size: 12pt;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&quot;match_parent&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186); font-size: 12pt;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&quot;match_parent&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;    &amp;lt;/androidx.viewpager.widget.ViewPager&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(232, 191, 106); font-size: 12pt;&quot;&gt;&amp;lt;/RelativeLayout&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;여기서 Fragment 전환을 좀더 쉽게 하기위해서&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;VIewPager (슬라이딩으로 Fragment 변환) 를 추가 해줬습니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;그리고 여기서 중요한점은 Fragment 의 View 를 띄어줄&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;ViewPager 가 TabLayout 밑에 있어야만 탭을 눌렀을시 작동이 됩니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;자이제 Fragment 를 만드는 법을 알아봅시다&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: double; border-width: 3px; border-color: rgb(121, 165, 228); background-color: rgb(219, 232, 251); padding: 10px;&quot;&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;b&gt;app -&amp;gt; New -&amp;gt; Fragment -&amp;gt; Fragment (Blank)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;이 방식으로 Fragment 를 추가해 주시면 됩니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;사용할 Tab 에 대한 Fragment 를 만들때&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;저는 fragment_tab1.xml 을 만들었는데&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;Fragment 를 만드는 이름에 따라 달라집니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;먼저 Fragment 의 xml 코드를 보자면&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Fira Code';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(232, 191, 106); font-size: 12pt;&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186); font-size: 12pt;&quot;&gt;xml version=&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot;1.0&quot; &lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186); font-size: 12pt;&quot;&gt;encoding=&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot;utf-8&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(232, 191, 106); font-size: 12pt;&quot;&gt;&amp;lt;RelativeLayout &lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186); font-size: 12pt;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186); font-size: 12pt;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&quot;http://schemas.android.com/apk/res/android&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186); font-size: 12pt;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;tools&lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186); font-size: 12pt;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&quot;http://schemas.android.com/tools&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186); font-size: 12pt;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&quot;match_parent&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186); font-size: 12pt;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&quot;match_parent&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;tools&lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186); font-size: 12pt;&quot;&gt;:context=&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot;.Tab1&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(232, 191, 106); font-size: 12pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 12pt;&quot;&gt;&amp;lt;!-- &lt;/span&gt;&lt;span style=&quot;color: rgb(168, 192, 35); font-style: italic; font-size: 12pt;&quot;&gt;TODO: Update blank fragment layout &lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;--&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 12pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&amp;lt;TextView&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(232, 191, 106); font-size: 12pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186); font-size: 12pt;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&quot;wrap_content&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186); font-size: 12pt;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&quot;wrap_content&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186); font-size: 12pt;&quot;&gt;:layout_centerVertical=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&quot;true&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186); font-size: 12pt;&quot;&gt;:layout_centerHorizontal=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&quot;true&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186); font-size: 12pt;&quot;&gt;:text=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&quot;@string/Fragment1&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186); font-size: 12pt;&quot;&gt;:textAppearance=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&quot;@style/TextAppearance.AppCompat.Large&quot;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(232, 191, 106); font-size: 12pt;&quot;&gt;&amp;lt;/RelativeLayout&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;Fragment 의 xml 에는 Activity의 xml 과 같습니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;Fragment 를 확인해주기 위해 TextView 를 사용해줬습니다&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;text 는 @string/Fragment1 를 참조했는데 내용을 보겠습니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;string.xml&lt;/span&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Fira Code';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(232, 191, 106); font-size: 12pt;&quot;&gt;&amp;lt;string &lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186); font-size: 12pt;&quot;&gt;name=&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot;Fragment1&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(232, 191, 106); font-size: 12pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;Fragment1&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&amp;lt;/string&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(232, 191, 106); font-size: 12pt;&quot;&gt;&amp;lt;string &lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186); font-size: 12pt;&quot;&gt;name=&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot;Fragment2&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(232, 191, 106); font-size: 12pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;Fragment2&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&amp;lt;/string&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(232, 191, 106); font-size: 12pt;&quot;&gt;&amp;lt;string &lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186); font-size: 12pt;&quot;&gt;name=&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot;Fragment3&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(232, 191, 106); font-size: 12pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;Fragment3&lt;/span&gt;&lt;span style=&quot;color: rgb(232, 191, 106); font-size: 12pt;&quot;&gt;&amp;lt;/string&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&amp;nbsp;이런식으로 각 Fragment 에 띄어줄 내용을&amp;nbsp;참조했습니다.&lt;/span&gt;&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;이제 Fragment 의 class&amp;nbsp;파일을&amp;nbsp;보면&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Fira Code';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;import &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;android.os.Bundle&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;import &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;androidx.fragment.app.Fragment&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;import &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;android.view.LayoutInflater&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;import &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;android.view.View&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;import &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;android.view.ViewGroup&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;public class &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;Tab1 &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;extends &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;Fragment {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;    View &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;view&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;    public &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-size: 12pt;&quot;&gt;Tab1&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;() {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#808080;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;// Required empty public constructor&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(128, 128, 128); font-size: 12pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;public static &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;Tab1 &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-size: 12pt;&quot;&gt;newInstance&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;() {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;        Tab1 tab1 = &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;new &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;Tab1()&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;        return &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;tab1&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;@Override&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(187, 181, 41); font-size: 12pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;public &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;View &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-size: 12pt;&quot;&gt;onCreateView&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;(LayoutInflater inflater&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;ViewGroup container&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;,&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;                             &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;Bundle savedInstanceState) {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;view &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;= inflater.inflate(R.layout.&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-style: italic; font-size: 12pt;&quot;&gt;fragment_tab1&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;container&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;, false&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;        return &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;view&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;Fragment 를 상속을 받습니다.&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;위에 형식대로 Fragment 를 만들게되면 다양한 메서드가&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;존재할거입니다 하지만 사용할 메서드만&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;남겨두고 지워주도록 합시다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 12pt; color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;newInstance() 는&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 12pt; text-align: start; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);&quot;&gt;Class의 객체를 기초로 그 Class가 표시하고 있는&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 12pt; text-align: start; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);&quot;&gt;클래스의 객체를 만들 수 있습니다 = (인수 없는 생성자가 호출된다).&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;즉 위에 있는 Tab1() 생성자가 호출이됩니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;그뒤에 Tab1 타입인 tab1 을&amp;nbsp;만들어줘 return 으로 반환을 해줍니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;그리고 onCreateView 에는 Activity의 onCreate 와 비슷한데&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-family: Arial, &amp;quot;Spoqa Han Sans&amp;quot;, &amp;quot;Spoqa Han Sans JP&amp;quot;, 나눔바른고딕, 나눔고딕, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, AppleSDGothicNeo, sans-serif; font-size: 14px; padding-top: 0px !important; padding-bottom: 0px !important; text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;Fragment 의 UI 가 화면에 그려지는 시점에 호출됩니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-family: Arial, &amp;quot;Spoqa Han Sans&amp;quot;, &amp;quot;Spoqa Han Sans JP&amp;quot;, 나눔바른고딕, 나눔고딕, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, AppleSDGothicNeo, sans-serif; font-size: 14px; padding-top: 0px !important; padding-bottom: 0px !important; text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;XML&amp;nbsp; Layout을 inflate하여 Fragment를 위한 View를 생성하고&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-family: Arial, &amp;quot;Spoqa Han Sans&amp;quot;, &amp;quot;Spoqa Han Sans JP&amp;quot;, 나눔바른고딕, 나눔고딕, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, AppleSDGothicNeo, sans-serif; font-size: 14px; padding-top: 0px !important; padding-bottom: 0px !important; text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;fragment_tab1 에&amp;nbsp;View를 Activity에게 리턴해야 합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-family: Arial, &amp;quot;Spoqa Han Sans&amp;quot;, &amp;quot;Spoqa Han Sans JP&amp;quot;, 나눔바른고딕, 나눔고딕, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, AppleSDGothicNeo, sans-serif; font-size: 14px; padding-top: 0px !important; padding-bottom: 0px !important; text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;그리고 view 를 return 해줬다면 Fragment 를 성공적으로 만들었습니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-family: Arial, &amp;quot;Spoqa Han Sans&amp;quot;, &amp;quot;Spoqa Han Sans JP&amp;quot;, 나눔바른고딕, 나눔고딕, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, AppleSDGothicNeo, sans-serif; font-size: 14px; padding-top: 0px !important; padding-bottom: 0px !important; text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;blockquote class=&quot;tx-quote-tistory&quot;&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: double; border-width: 3px; border-color: rgb(121, 165, 228); background-color: rgb(219, 232, 251); padding: 10px;&quot;&gt;&lt;p style=&quot;box-sizing: border-box; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;이 예제에서는 총 3개의 Tab이 사용될것이 때문에 같은 방식으로 Fragment 를 3개 만들어줍시다.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;p style=&quot;box-sizing: border-box; font-family: Arial, &amp;quot;Spoqa Han Sans&amp;quot;, &amp;quot;Spoqa Han Sans JP&amp;quot;, 나눔바른고딕, 나눔고딕, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, AppleSDGothicNeo, sans-serif; font-size: 14px; padding-top: 0px !important; padding-bottom: 0px !important; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;hr&gt;&lt;p style=&quot;box-sizing: border-box; font-family: Arial, &amp;quot;Spoqa Han Sans&amp;quot;, &amp;quot;Spoqa Han Sans JP&amp;quot;, 나눔바른고딕, 나눔고딕, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, AppleSDGothicNeo, sans-serif; font-size: 14px; padding-top: 0px !important; padding-bottom: 0px !important; text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-family: Arial, &amp;quot;Spoqa Han Sans&amp;quot;, &amp;quot;Spoqa Han Sans JP&amp;quot;, 나눔바른고딕, 나눔고딕, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, AppleSDGothicNeo, sans-serif; font-size: 14px; padding-top: 0px !important; padding-bottom: 0px !important; text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;이제 Fragment 를 위한 Adapter 를 만들어줍시다&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-family: Arial, &amp;quot;Spoqa Han Sans&amp;quot;, &amp;quot;Spoqa Han Sans JP&amp;quot;, 나눔바른고딕, 나눔고딕, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, AppleSDGothicNeo, sans-serif; font-size: 14px; padding-top: 0px !important; padding-bottom: 0px !important; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Fira Code';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;import &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;androidx.fragment.app.Fragment&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;import &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;androidx.fragment.app.FragmentManager&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;import &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;androidx.fragment.app.FragmentPagerAdapter&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;public class &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;FragmentAdapter &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;extends &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;FragmentPagerAdapter {&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;public &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-size: 12pt;&quot;&gt;FragmentAdapter&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;(FragmentManager fm) {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;super&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;(fm)&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;@Override&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(187, 181, 41); font-size: 12pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;public &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;Fragment &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-size: 12pt;&quot;&gt;getItem&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;int &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;position) {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;switch &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;(position){&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;case &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 12pt;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;                &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;return &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;Tab1.&lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 12pt;&quot;&gt;newInstance&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;()&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;            case &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 12pt;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;                &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;return &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;Tab2.&lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 12pt;&quot;&gt;newInstance&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;()&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;            case &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 12pt;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;                &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;return &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;Tab3.&lt;/span&gt;&lt;span style=&quot;font-style: italic; font-size: 12pt;&quot;&gt;newInstance&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;()&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;                default&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;                    &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;return null;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;@Override&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(187, 181, 41); font-size: 12pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;public int &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-size: 12pt;&quot;&gt;getCount&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;() {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;return &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187); font-size: 12pt;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;box-sizing: border-box; font-family: Arial, &amp;quot;Spoqa Han Sans&amp;quot;, &amp;quot;Spoqa Han Sans JP&amp;quot;, 나눔바른고딕, 나눔고딕, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, AppleSDGothicNeo, sans-serif; font-size: 14px; padding-top: 0px !important; padding-bottom: 0px !important; text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;이 코드를 간단히 설명하자면&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;Fragment 의 interface 를 전환 해주기 위해&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;2개의 메서드를 Override 해주는데요&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;먼저 getItem() 메서드를 보자면&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;매개변수론 position 을 받는데요&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;그밑에 switch 문을 사용해 return 해줄 Tab의&amp;nbsp;&amp;nbsp;newInstance() 메서드를 호출해&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;해당 Tab 을 return 해줍니다&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;물론 index 값은 0 부터 시작하니 0, 1, 2 로 해주시면됩니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;그리고 Tab이 더이상 없으면 default 로 null 를 return 해줍니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;이제 getCount() 메서드는 간단합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;return 해줄 Tab의 갯수를 return 해주면 됩니다 .&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;즉 Item의 갯수를 return 해주면 됩니다 .&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;hr&gt;&lt;p style=&quot;box-sizing: border-box; font-family: Arial, &amp;quot;Spoqa Han Sans&amp;quot;, &amp;quot;Spoqa Han Sans JP&amp;quot;, 나눔바른고딕, 나눔고딕, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, AppleSDGothicNeo, sans-serif; font-size: 14px; padding-top: 0px !important; padding-bottom: 0px !important; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-family: Arial, &amp;quot;Spoqa Han Sans&amp;quot;, &amp;quot;Spoqa Han Sans JP&amp;quot;, 나눔바른고딕, 나눔고딕, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, AppleSDGothicNeo, sans-serif; font-size: 14px; padding-top: 0px !important; padding-bottom: 0px !important; text-align: center;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 14pt;&quot;&gt;이제 TabLayout 을 사용하기 위해서&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;activity_main.xml&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;의 Class&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;를&lt;/span&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&amp;nbsp;작성해줍시다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 18.6667px;&quot;&gt;MainActivity.java&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 18.6667px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Fira Code';font-size:8.4pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;import &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;androidx.appcompat.app.AppCompatActivity&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;import &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;androidx.viewpager.widget.ViewPager&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;import &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;android.annotation.&lt;/span&gt;&lt;span style=&quot;color: rgb(187, 181, 41); font-size: 12pt;&quot;&gt;TargetApi&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;import &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;android.os.Build&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;import &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;android.os.Bundle&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;import &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;com.google.android.material.tabs.TabLayout&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;import &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;java.util.ArrayList&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;public class &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;MainActivity &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;extends &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;AppCompatActivity {&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;private &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;TabLayout &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;tabLayout&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;    private &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;ArrayList &amp;lt;String&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;tabNames &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;= &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;new &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;ArrayList&amp;lt;&amp;gt;()&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;@Override&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(187, 181, 41); font-size: 12pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;protected void &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-size: 12pt;&quot;&gt;onCreate&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;(Bundle savedInstanceState) {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;super&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;.onCreate(savedInstanceState)&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;setContentView(R.layout.&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-style: italic; font-size: 12pt;&quot;&gt;activity_main&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;loadTabName()&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;setTabLayout()&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;setViewPager()&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(187, 181, 41); font-size: 12pt;&quot;&gt;@TargetApi&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;(Build.VERSION_CODES.&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-style: italic; font-size: 12pt;&quot;&gt;N&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;private void &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-size: 12pt;&quot;&gt;setTabLayout&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;(){&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;tabLayout &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;= findViewById(R.id.&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-style: italic; font-size: 12pt;&quot;&gt;tab&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;tabNames&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;.stream().forEach(name -&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;tabLayout&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;.addTab(&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;tabLayout&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;.newTab().setText(name)))&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;private void &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-size: 12pt;&quot;&gt;loadTabName&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;(){&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;tabNames&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;.add(&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 12pt;&quot;&gt;탭&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;1&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;tabNames&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;.add(&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 12pt;&quot;&gt;탭&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;2&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;tabNames&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;.add(&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-family: 굴림체; font-size: 12pt;&quot;&gt;탭&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89); font-size: 12pt;&quot;&gt;3&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;private void &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-size: 12pt;&quot;&gt;setViewPager&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;() {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;        FragmentAdapter adapter = &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;new &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;FragmentAdapter(getSupportFragmentManager())&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;ViewPager viewPager = findViewById(R.id.&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-style: italic; font-size: 12pt;&quot;&gt;viewPager&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;viewPager.setAdapter(adapter)&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;viewPager.addOnPageChangeListener(&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;new &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;TabLayout.TabLayoutOnPageChangeListener(&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;tabLayout&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;))&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;tabLayout&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;.setOnTabSelectedListener(&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;new &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;TabLayout.OnTabSelectedListener() {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;@Override&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(187, 181, 41); font-size: 12pt;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;public void &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-size: 12pt;&quot;&gt;onTabSelected&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;(TabLayout.Tab tab) {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;                &lt;/span&gt;&lt;span style=&quot;color: rgb(179, 137, 197); font-size: 12pt;&quot;&gt;viewPager&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;.setCurrentItem(tab.getPosition())&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;@Override&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(187, 181, 41); font-size: 12pt;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;public void &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-size: 12pt;&quot;&gt;onTabUnselected&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;(TabLayout.Tab tab) {&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;            }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;@Override&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(187, 181, 41); font-size: 12pt;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;public void &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-size: 12pt;&quot;&gt;onTabReselected&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;(TabLayout.Tab tab) {&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;            }&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;        })&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p style=&quot;box-sizing: border-box; font-family: Arial, &amp;quot;Spoqa Han Sans&amp;quot;, &amp;quot;Spoqa Han Sans JP&amp;quot;, 나눔바른고딕, 나눔고딕, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, AppleSDGothicNeo, sans-serif; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;마지막으로 이 코드를 보면&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-family: Arial, &amp;quot;Spoqa Han Sans&amp;quot;, &amp;quot;Spoqa Han Sans JP&amp;quot;, 나눔바른고딕, 나눔고딕, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, AppleSDGothicNeo, sans-serif; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;사용할 TabLayout 의 대한 객체랑&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;Tab 의 이름을 저장할 객체인 tabNames 를&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-family: Arial, &amp;quot;Spoqa Han Sans&amp;quot;, &amp;quot;Spoqa Han Sans JP&amp;quot;, 나눔바른고딕, 나눔고딕, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, AppleSDGothicNeo, sans-serif; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;ArrayList 객체로 만들어줬습니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-family: Arial, &amp;quot;Spoqa Han Sans&amp;quot;, &amp;quot;Spoqa Han Sans JP&amp;quot;, 나눔바른고딕, 나눔고딕, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, AppleSDGothicNeo, sans-serif; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-family: Arial, &amp;quot;Spoqa Han Sans&amp;quot;, &amp;quot;Spoqa Han Sans JP&amp;quot;, 나눔바른고딕, 나눔고딕, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, AppleSDGothicNeo, sans-serif; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;이제 onCreate() 메서드의 내용을 보면&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-family: Arial, &amp;quot;Spoqa Han Sans&amp;quot;, &amp;quot;Spoqa Han Sans JP&amp;quot;, 나눔바른고딕, 나눔고딕, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, AppleSDGothicNeo, sans-serif; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;loadTabName() 메서드를 호출하는데&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-family: Arial, &amp;quot;Spoqa Han Sans&amp;quot;, &amp;quot;Spoqa Han Sans JP&amp;quot;, 나눔바른고딕, 나눔고딕, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, AppleSDGothicNeo, sans-serif; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;이 메서드 내용은 아까 만들어둔 tabNames 에 add() 메서드를 이용해&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-family: Arial, &amp;quot;Spoqa Han Sans&amp;quot;, &amp;quot;Spoqa Han Sans JP&amp;quot;, 나눔바른고딕, 나눔고딕, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, AppleSDGothicNeo, sans-serif; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;string 형태로 저장을 합니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-family: Arial, &amp;quot;Spoqa Han Sans&amp;quot;, &amp;quot;Spoqa Han Sans JP&amp;quot;, 나눔바른고딕, 나눔고딕, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, AppleSDGothicNeo, sans-serif; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-family: Arial, &amp;quot;Spoqa Han Sans&amp;quot;, &amp;quot;Spoqa Han Sans JP&amp;quot;, 나눔바른고딕, 나눔고딕, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, AppleSDGothicNeo, sans-serif; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;저는 add 메서드를 이용해 Tab 의 이름을 차례대로 저장해줬습니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-family: Arial, &amp;quot;Spoqa Han Sans&amp;quot;, &amp;quot;Spoqa Han Sans JP&amp;quot;, 나눔바른고딕, 나눔고딕, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, AppleSDGothicNeo, sans-serif; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-family: Arial, &amp;quot;Spoqa Han Sans&amp;quot;, &amp;quot;Spoqa Han Sans JP&amp;quot;, 나눔바른고딕, 나눔고딕, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, AppleSDGothicNeo, sans-serif; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;이제 다음 메서드인 setTabLayout() 메서드는&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; font-family: Arial, &amp;quot;Spoqa Han Sans&amp;quot;, &amp;quot;Spoqa Han Sans JP&amp;quot;, 나눔바른고딕, 나눔고딕, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;Malgun Gothic&amp;quot;, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, AppleSDGothicNeo, sans-serif; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;위에 이러한코드가있는데요&lt;/span&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Fira Code';font-size:8.4pt;&quot;&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(187, 181, 41); font-size: 12pt;&quot;&gt;@TargetApi&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;(Build.VERSION_CODES.&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-style: italic; font-size: 12pt;&quot;&gt;N&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;이코드는 Android 플랫폼 별 버전으로 빌드를 한다는 코드인데요&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: rgb(5, 0, 153); font-family: Gulim, 굴림; font-size: 16px; text-align: left;&quot;&gt;Build.VERSION_CODES.N 은&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: rgb(5, 0, 153); font-family: Gulim, 굴림; font-size: 16px; text-align: left;&quot;&gt;Api 레벨 24 인 안드로이드 7.0&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(5, 0, 153); font-family: Gulim, 굴림; font-size: 16px;&quot;&gt;Nougat 버젼으로 빌드한다는 코드입니다&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;이제 메서드 내용을 보면 tabLayout 의 객체에 tab 이란 id를 대입해주는데요.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;tab 이란 id 를 가지고 있는 위젯은 위에 activity_man.xml 코드에&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;TabLayout&amp;nbsp;의 id 를 대입해줍니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;그리고&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Fira Code';font-size:8.4pt;&quot;&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;tabNames&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;.stream().forEach(name -&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;tabLayout&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;.addTab(&lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170); font-size: 12pt;&quot;&gt;tabLayout&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;.newTab().setText(name)))&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;이 코드는 tabName 을 tabLayout 에 setText() 이용해 Tab 의 이름을 설정해줍니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;마지막으로 setViewPager() 메서드를 보자면&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;먼저 Adapter 객체를 만들어 줍니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;그리고 ViewPager 의 객체를 만들어 ViewPager 의 id 를 대입해줍니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;그리고 viewPager의 setAdapter() 메서드를 이용해 만들어준 Adapter 객체인 adapter 를 셋팅해줍니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;그리고&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-family: Roboto, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;malgun gothic&amp;quot;, 돋움, Dotum, sans-serif; font-size: 16px; text-align: left; background-color: rgb(251, 251, 252);&quot;&gt;&lt;span style=&quot;background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;addOnPageChangeListener()를&lt;/span&gt;&lt;span style=&quot;background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;이용해&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-family: Roboto, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;malgun gothic&amp;quot;, 돋움, Dotum, sans-serif; font-size: 16px; text-align: left; background-color: rgb(251, 251, 252);&quot;&gt;&lt;span style=&quot;background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;스크롤시 ViewPager 가 작동하도록 해주고&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-family: Roboto, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;malgun gothic&amp;quot;, 돋움, Dotum, sans-serif; font-size: 16px; text-align: left; background-color: rgb(251, 251, 252);&quot;&gt;&lt;span style=&quot;background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-size: 12pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre style=&quot;background-color: rgb(43, 43, 43); color: rgb(169, 183, 198); font-family: &amp;quot;Fira Code&amp;quot;; font-size: 8.4pt;&quot;&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(187, 181, 41);&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;@Override&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50); font-size: 12pt;&quot;&gt;public void &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109); font-size: 12pt;&quot;&gt;onTabSelected&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;(TabLayout.Tab tab) {&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(187, 181, 41); font-size: 12pt;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color: rgb(179, 137, 197); font-size: 12pt;&quot;&gt;viewPager&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;.setCurrentItem(tab.getPosition())&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;}&lt;/span&gt;&lt;/p&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-family: Roboto, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;malgun gothic&amp;quot;, 돋움, Dotum, sans-serif; font-size: 16px; text-align: left; background-color: rgb(251, 251, 252);&quot;&gt;메서드를 이용해 탭을 눌렀을때 해당 Fragment 로 넘어가기위해&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;setCurrentItem() 메서드를 이용해 tab의 Position 을이용해&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;해당하는 Tab 을 누르면 viewPager 가 해당 Fragment 로 넘어가게 된다.!&lt;/span&gt;&lt;/p&gt;&lt;hr&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;이상으로 최종 완성된 예제의 모습이다&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 351px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99DA5B475BB51CB91F&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99DA5B475BB51CB91F&quot; width=&quot;351&quot; height=&quot;599&quot; filename=&quot;finsh.gif&quot; filemime=&quot;image/gif&quot; style=&quot;&quot; original=&quot;yes&quot;/&gt;&lt;span class=&quot;cap1&quot; style=&quot;display: block; max-width:100%; &quot;&gt;최종&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-2&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px solid; border-bottom: black 3px solid; height: 7px&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;굳 :)&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>Android/Android ( JAVA )</category>
      <category>Android</category>
      <category>Fragment</category>
      <category>TabLayout</category>
      <category>ViewPager</category>
      <category>뷰페이저</category>
      <category>탭레이아웃</category>
      <category>프래그먼트</category>
      <author>Bin's.</author>
      <guid isPermaLink="true">https://jbins.tistory.com/11</guid>
      <comments>https://jbins.tistory.com/11#entry11comment</comments>
      <pubDate>Thu, 4 Oct 2018 04:48:57 +0900</pubDate>
    </item>
    <item>
      <title>ViewHolder - pattern (뷰홀더 패턴)</title>
      <link>https://jbins.tistory.com/10</link>
      <description>&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 820px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99CD92505BA04CDD07&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99CD92505BA04CDD07&quot; width=&quot;820&quot; height=&quot;167&quot; filename=&quot;logo.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;ViewHolder 란 ?&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;각 View들을 보관하는 Holder 객체.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;RecyclerView &amp;amp; ListView 에서 사용되는 디자인패턴입니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;RecyclerView 에서 만약 여러가지 data가 적을땐 동작이 잘 될것입니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;하지만 data가 만약 많은 처리를 요구할때 동작에 영향이 지체됩니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그걸 개선하기위해 나온 디자인 패턴이있습니다&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그 디자인 패턴이 바로 ViewHolder - pattern&amp;nbsp; 입니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;보통 ViewHodler 패턴은 RecyclerVIew 와 같이 쓰입니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그럼 ViewHolder - pattern 에대해 알아봅시다&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;ViewHolder - pattern&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 638px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/995D8D445BA04C8E07&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F995D8D445BA04C8E07&quot; width=&quot;638&quot; height=&quot;359&quot; filename=&quot;android-jam-rich-responsive-layouts-udacity-lesson-5-19-638.jpg&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;RecyclerView 에서 스크롤 할동안 findViewById() 를 자주호출 하게되면 성능이 저하되겠죠?&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;처리할 data가 증가할경우 호출해야하는 수 도 증가해서&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;성능도 저하되게 됩니다 ViewHolder - pattern 은 그런점을 보완해서&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;ViewHolder 객체는 layout 태그 필드 안에 각 View 를 저장하기 때문에&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;반복적으로 조회하지 않고 즉시 엑세스가 가능합니다!&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;즉 반복적으로 findViewById() 를 호출해주지않아도 사용가능하다는겁니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이제 사용 방법을 알아봅시다 ~&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;먼저 ViewHolder - pattern 을 사용해 RecyclerView 를 구현하기위해선&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;RecyclerView 의 Adapter에&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;꼭 구현해야하는 3가지 메서드가 있습니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;txc-textbox&quot; style=&quot;border-style: double; border-width: 3px; border-color: rgb(203, 203, 203); background-color: rgb(255, 255, 255); padding: 10px;&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1. &lt;b&gt;onCreateViewHolder =&amp;nbsp;&lt;/b&gt;&lt;/span&gt;ViewHolder 객체를 생성&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 18.6667px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; margin-left: 8em;&quot;&gt;&lt;span style=&quot;font-size: 18.6667px;&quot;&gt;2. &lt;/span&gt;&lt;b style=&quot;font-size: 18.6667px;&quot;&gt;onBindViewHolder&amp;nbsp;&lt;/b&gt;= ViewHolder 에 data 를 넣는 작업 수행&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 18.6667px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 18.6667px;&quot;&gt;3. &lt;b&gt;getItemCount&lt;/b&gt;&lt;/span&gt;&amp;nbsp;= data의 갯수를 반환 해준다&lt;/p&gt;&lt;/div&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이렇게 3가지의 메서드를 꼭 구현해줘야합니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;더 자세한 내용을 확인하고 싶으면 아래 사이트를 참고해주세요.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://developer.android.com/training/improving-layouts/smooth-scrolling#ViewHolder&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://developer.android.com/training/improving-layouts/smooth-scrolling#ViewHolder&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;</description>
      <category>디자인 패턴</category>
      <category>Desing pattern</category>
      <category>ViewHolder</category>
      <category>ViewHolder-pattern</category>
      <category>디자인 패턴</category>
      <category>디자인패턴</category>
      <category>뷰홀더 패턴</category>
      <author>Bin's.</author>
      <guid isPermaLink="true">https://jbins.tistory.com/10</guid>
      <comments>https://jbins.tistory.com/10#entry10comment</comments>
      <pubDate>Tue, 18 Sep 2018 09:55:05 +0900</pubDate>
    </item>
    <item>
      <title>Android (여섯번째 수업 - RecyclerView)</title>
      <link>https://jbins.tistory.com/9</link>
      <description>&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 500px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99E60D4E5B84F4BF33&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99E60D4E5B84F4BF33&quot; width=&quot;500&quot; height=&quot;116&quot; filename=&quot;안드로이드 로고.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;hr&gt;&lt;p style=&quot;text-align: center;&quot;&gt;RecyclerView&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;오늘은 RecyclerView 에 대해서 알아보자&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;h1 style=&quot;text-align: center;&quot;&gt;먼저 RecyclerView 란?&amp;nbsp;&lt;br /&gt;&lt;/h1&gt;&lt;div style=&quot;text-align: center;&quot;&gt;Android 5.0 에서 처음 소개되었습니다.&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 51); font-size: 13.3333px; text-align: left;&quot;&gt;Support-Library-v7 에 포함&amp;nbsp;되었습니다&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;RecyclerView 는 ListView 의 장/단점을 보완한 고급 위젯입니다.&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;그렇다면 이 위젯은 어떻게 사용할까요?&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;이 위젯 을 사용하기 위해서 dependencies 에 추가 해줘야합니다.&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 10pt; text-align: start;&quot;&gt;그리고 또한 appcompat 버전과 recyclerview의 버전이 같아야합니다.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;먼저 RecyclerView 에 대해 간략히 보자면&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 281px; width: 281px; height: 450px;; height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/991D3B3D5B9348B00F&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F991D3B3D5B9348B00F&quot; width=&quot;281&quot; height=&quot;450&quot; filename=&quot;KakaoTalk_20180908_125444230.jpg&quot; filemime=&quot;image/jpeg&quot; style=&quot;width: 281px; height: 450px;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;이렇게 ListView 와 비슷합니다.&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;제목과 내용을 적어 제목을 눌르면 내용을 Toast로 출력해주는 예제입니다&lt;/span&gt;&lt;/p&gt;&lt;p&gt;망고를 눌렀을때 mango라는 토스트를 띄어줍니다.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;이제 이 RecyclerView 를 사용하기 위해 먼저 Library를 추가 해줍니다.&lt;/p&gt;&lt;/div&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이런식으로 말이죠.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre&gt;&lt;code&gt;dependencies {
    implementation 'com.android.support:recyclerview-v7:27.1.1'
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;hr&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이제 사용법에 대해 알아봅시다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;xml code 에는&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&lt;b&gt;main.xml&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Fira Code';font-size:10.8pt;&quot;&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xml version=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;1.0&quot; &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;encoding=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;utf-8&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;?&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;LinearLayout&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;http://schemas.android.com/apk/res/android&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;tools&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;http://schemas.android.com/tools&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:orientation=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;vertical&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;tools&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:context=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;.MainActivity&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;    &amp;lt;android.support.v7.widget.RecyclerView&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:id=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@+id/RecyclerView&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;    &amp;lt;/android.support.v7.widget.RecyclerView&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;    &amp;lt;android.support.design.widget.FloatingActionButton&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;wrap_content&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;wrap_content&quot; &lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;/LinearLayout&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이런식으로 추가를 해줬습니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;RecyclerView와 추가하기위한 FloatingActionButton을 적어줬습니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;RecyclerView 를 추가해줬으니 RecyclerView 에 띄어줄 iteml 을 만들어 줘야하는데요&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;Layout 폴더에 Layout resource file 을 추가 해줍니다&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&lt;b&gt;item_default_data.xml&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Fira Code';font-size:10.8pt;&quot;&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xml version=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;1.0&quot; &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;encoding=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;utf-8&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;?&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;LinearLayout &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;http://schemas.android.com/apk/res/android&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:orientation=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;vertical&quot; &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;100dp&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;    &amp;lt;TextView&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:id=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@+id/titleText&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;wrap_content&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:textColor=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;#000000&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:textAppearance=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@style/Base.TextAppearance.AppCompat.Large&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:text=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;font-family:'굴림체';&quot;&gt;제목&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_margin=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;10dp&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;    &amp;lt;View&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;3dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:background=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@android:color/darker_gray&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;    &amp;lt;/View&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;/LinearLayout&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;item 은 RecyclerView에 담을 하나 하나의 아이템들입니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이미지나 버튼등 개발자의 필요에따라 추가/수정 하면 됩니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;저는 여기서 간단히 TextView 를 사용해 title 을 보여주는게 목적이기때문에&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;TextView를 사용해줬고 View 태그를 사용해줘서 line 구분을 해주었다.&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이제 data를 담아줄 Data클래스를 만들어 줍시다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&lt;b&gt;Data.class&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Fira Code';font-size:10.8pt;&quot;&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;package &lt;/span&gt;com.example.qlsl7.test0816&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;java.io.Serializable&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public class &lt;/span&gt;Data &lt;span style=&quot;color:#cc7832;&quot;&gt;implements &lt;/span&gt;Serializable {&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;private &lt;/span&gt;String &lt;span style=&quot;color:#9876aa;&quot;&gt;title&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    private &lt;/span&gt;String &lt;span style=&quot;color:#9876aa;&quot;&gt;content&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    public &lt;/span&gt;String &lt;span style=&quot;color:#ffc66d;&quot;&gt;getTitle&lt;/span&gt;() {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;return &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;title&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;public void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;setTitle&lt;/span&gt;(String title) {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color:#9876aa;&quot;&gt;title &lt;/span&gt;= title&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;public &lt;/span&gt;String &lt;span style=&quot;color:#ffc66d;&quot;&gt;getContent&lt;/span&gt;() {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;return &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;content&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;public void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;setContent&lt;/span&gt;(String content) {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color:#9876aa;&quot;&gt;content &lt;/span&gt;= content&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#ffc66d;&quot;&gt;Data&lt;/span&gt;(String title&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;String content) {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color:#9876aa;&quot;&gt;title &lt;/span&gt;= title&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        this&lt;/span&gt;.&lt;span style=&quot;color:#9876aa;&quot;&gt;content &lt;/span&gt;= content&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size:10pt;&quot;&gt;&lt;b&gt;&lt;/b&gt;저는 제목과 내용을 사용 할 것 이니&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size:10pt;&quot;&gt;Title과 content 의 getter/setter 만들어 줬습니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;이 class 는 RecyclerView 에 출력될 값들입니다.&lt;/span&gt;&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;아까 간략히 본 RecyclerView 예제는&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;제목과 내용을 적어 제목을 눌르면 내용을 Toast로 출력해주는 예제입니다.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;그러니 이제 만들어줘야하는건 내용을 적을곳을 만들어줍시다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size:14pt;&quot;&gt;&lt;b&gt;Write.xml&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Fira Code';font-size:10.8pt;&quot;&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xml version=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;1.0&quot; &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;encoding=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;utf-8&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;?&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;LinearLayout &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;http://schemas.android.com/apk/res/android&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;app&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;http://schemas.android.com/apk/res-auto&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;tools&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;http://schemas.android.com/tools&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;tools&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:context=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;.WriteActivity&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:orientation=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;vertical&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:weightSum=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;360&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;    &amp;lt;EditText&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:id=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@+id/titleEditText&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;0dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_weight=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;40&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:hint=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;font-family:'굴림체';&quot;&gt;제목&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_margin=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;10dp&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;    &amp;lt;EditText&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:id=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@+id/contentEditText&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;0dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_weight=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;300&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_margin=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;10dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:hint=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;font-family:'굴림체';&quot;&gt;내용&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:lines=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;10&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;    &amp;lt;android.support.design.widget.FloatingActionButton&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:id=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@+id/saveFab&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:src=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@drawable/ic_save_black_24dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;wrap_content&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;wrap_content&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_marginRight=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;30dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_gravity=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;right&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;/LinearLayout&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;xml code를 간단히 설명하자면&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;Title 과 Content 를 적어줄&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;EditText를 만들어주고 이제 저장버튼을 대신해줄&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;FloatingActionButton 을 만들어 줍시다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;그럼 이제 이 java code 를 보자면&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&lt;b&gt;wirteActivity.class&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Fira Code';font-size:10.8pt;&quot;&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;android.content.Intent&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;android.support.design.widget.FloatingActionButton&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;android.support.v7.app.AppCompatActivity&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;android.os.Bundle&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;android.view.View&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;android.widget.EditText&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;android.widget.Toast&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public class &lt;/span&gt;WriteActivity &lt;span style=&quot;color:#cc7832;&quot;&gt;extends &lt;/span&gt;AppCompatActivity {&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;private &lt;/span&gt;EditText &lt;span style=&quot;color:#9876aa;&quot;&gt;titleEditText&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    private &lt;/span&gt;EditText &lt;span style=&quot;color:#9876aa;&quot;&gt;contentEditText&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    private &lt;/span&gt;FloatingActionButton &lt;span style=&quot;color:#9876aa;&quot;&gt;saveFab&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;protected void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;onCreate&lt;/span&gt;(Bundle savedInstanceState) {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;super&lt;/span&gt;.onCreate(savedInstanceState)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;setContentView(R.layout.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;activity_write&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;init()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;setListeners()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;private void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;init&lt;/span&gt;(){&lt;br /&gt;&lt;br /&gt;        &lt;span style=&quot;color:#9876aa;&quot;&gt;titleEditText &lt;/span&gt;= findViewById(R.id.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;titleEditText&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;contentEditText &lt;/span&gt;= findViewById(R.id.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;contentEditText&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;saveFab &lt;/span&gt;= findViewById(R.id.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;saveFab&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;private void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;setListeners&lt;/span&gt;(){&lt;br /&gt;        &lt;span style=&quot;color:#9876aa;&quot;&gt;saveFab&lt;/span&gt;.setOnClickListener(&lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;View.OnClickListener() {&lt;br /&gt;            &lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;onClick&lt;/span&gt;(View v) {&lt;br /&gt;                String title = &lt;span style=&quot;color:#9876aa;&quot;&gt;titleEditText&lt;/span&gt;.getText().toString()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;                &lt;/span&gt;String content = &lt;span style=&quot;color:#9876aa;&quot;&gt;contentEditText&lt;/span&gt;.getText().toString()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;                if&lt;/span&gt;(!title.equals(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&quot;&lt;/span&gt;) &amp;amp;&amp;amp; !content.equals(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&quot;&lt;/span&gt;)){&lt;br /&gt;                    Data data = &lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;Data(&lt;span style=&quot;color:#9876aa;&quot;&gt;titleEditText&lt;/span&gt;.getText().toString()&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;contentEditText&lt;/span&gt;.getText().toString())&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;                    &lt;/span&gt;Toast.&lt;span style=&quot;font-style:italic;&quot;&gt;makeText&lt;/span&gt;(getApplicationContext()&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;font-family:'굴림체';&quot;&gt;성공적으로 작성하셨습니다&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;.&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;Toast.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;LENGTH_SHORT&lt;/span&gt;).show()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;                    &lt;/span&gt;Intent intent = &lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;Intent()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;                    &lt;/span&gt;intent.putExtra(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;data&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;data)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;                    &lt;/span&gt;setResult(&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;RESULT_OK&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;,&lt;/span&gt;intent)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;                    &lt;/span&gt;finish()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;                &lt;/span&gt;}&lt;br /&gt;            }&lt;br /&gt;        })&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;이 코드를 해석해보면&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;사용될 위젯의 id를 각각의 변수에 담아줍니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;그리고 svaeFab = FloatingActionButton 을 눌렀을때&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;onClick 이벤트가 실행되면서&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;title 과 content 에 EditText에서 적은내용을 문자열로 저장을해줍니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;font-family: &amp;quot;Ubuntu Condensed&amp;quot;, &amp;quot;Noto Sans Korean&amp;quot;; font-size: 15px; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;그리고 if문 은 title 과 content 의 값이 있을때 실행되는데요&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;font-family: &amp;quot;Ubuntu Condensed&amp;quot;, &amp;quot;Noto Sans Korean&amp;quot;; font-size: 15px; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;먼저 Data class의 객체를 만들어줘&amp;nbsp;titleEditText 내용, contentEditText의 내용&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;font-family: &amp;quot;Ubuntu Condensed&amp;quot;, &amp;quot;Noto Sans Korean&amp;quot;; font-size: 15px; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;을 가져와 data 에 저장해줍니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;font-family: &amp;quot;Ubuntu Condensed&amp;quot;, &amp;quot;Noto Sans Korean&amp;quot;; font-size: 15px; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;font-family: &amp;quot;Ubuntu Condensed&amp;quot;, &amp;quot;Noto Sans Korean&amp;quot;; font-size: 15px; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;그뒤에 Toast로 &quot;성공적으로 작성하셨습니다.&quot; 라는 Toast를 띄어줍니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;font-family: &amp;quot;Ubuntu Condensed&amp;quot;, &amp;quot;Noto Sans Korean&amp;quot;; font-size: 15px; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;font-family: &amp;quot;Ubuntu Condensed&amp;quot;, &amp;quot;Noto Sans Korean&amp;quot;; font-size: 15px; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;그뒤에 Intent 객체를 만들어주고&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;font-family: &amp;quot;Ubuntu Condensed&amp;quot;, &amp;quot;Noto Sans Korean&amp;quot;; font-size: 15px; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;.putExtra() 로 &quot;data&quot; 라는 키로 data를 넘겨줍니다.&lt;/span&gt;&lt;/p&gt;&lt;pre style=&quot;background-color: rgb(43, 43, 43); color: rgb(169, 183, 198); font-family: &amp;quot;Fira Code&amp;quot;; font-size: 10.8pt;&quot;&gt;&lt;p&gt;setResult(&lt;span style=&quot;color: rgb(152, 118, 170); font-style: italic;&quot;&gt;RESULT_OK&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;,&lt;/span&gt;intent)&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;;&lt;br /&gt;&lt;/span&gt;finish()&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;;&lt;/span&gt;&lt;/p&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이코드로 종료를 시켜줍니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그럼 이제 적은 data를 RecyclerView에 뿌려줄 Adepter 를 만들어줍시다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&lt;b&gt;RecyclerAdapter.class&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Fira Code';font-size:10.8pt;&quot;&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;package &lt;/span&gt;com.example.qlsl7.test0816&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;android.content.Context&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;android.support.annotation.&lt;span style=&quot;color:#bbb529;&quot;&gt;NonNull&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;android.support.annotation.&lt;span style=&quot;color:#bbb529;&quot;&gt;Nullable&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;android.support.v7.widget.RecyclerView&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;android.view.LayoutInflater&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;android.view.View&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;android.view.ViewGroup&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;android.widget.ArrayAdapter&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;android.widget.TextView&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;android.widget.Toast&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;java.util.List&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public class &lt;/span&gt;RecyclerAdapter &lt;span style=&quot;color:#cc7832;&quot;&gt;extends &lt;/span&gt;RecyclerView.Adapter&amp;lt;RecyclerAdapter.ViewHolder&amp;gt; {&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;private &lt;/span&gt;List&amp;lt;Data&amp;gt; &lt;span style=&quot;color:#9876aa;&quot;&gt;dataList&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    private &lt;/span&gt;Context &lt;span style=&quot;color:#9876aa;&quot;&gt;context&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    private int &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;layout&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    private &lt;/span&gt;Data &lt;span style=&quot;color:#9876aa;&quot;&gt;data&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    public &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;RecyclerAdapter&lt;/span&gt;(&lt;span style=&quot;color:#bbb529;&quot;&gt;@NonNull &lt;/span&gt;Context context&lt;span style=&quot;color:#cc7832;&quot;&gt;, int &lt;/span&gt;resource&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;@NonNull &lt;/span&gt;List&amp;lt;Data&amp;gt; objects) {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color:#9876aa;&quot;&gt;dataList &lt;/span&gt;= objects&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        this&lt;/span&gt;.&lt;span style=&quot;color:#9876aa;&quot;&gt;context &lt;/span&gt;= context&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        this&lt;/span&gt;.&lt;span style=&quot;color:#9876aa;&quot;&gt;layout &lt;/span&gt;= resource&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#bbb529;&quot;&gt;@NonNull&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;    @Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public &lt;/span&gt;ViewHolder &lt;span style=&quot;color:#ffc66d;&quot;&gt;onCreateViewHolder&lt;/span&gt;(&lt;span style=&quot;color:#bbb529;&quot;&gt;@NonNull &lt;/span&gt;ViewGroup parent&lt;span style=&quot;color:#cc7832;&quot;&gt;, int &lt;/span&gt;viewType) {&lt;br /&gt;        LayoutInflater inflater = (LayoutInflater) &lt;span style=&quot;color:#9876aa;&quot;&gt;context&lt;/span&gt;.getSystemService(Context.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;LAYOUT_INFLATER_SERVICE&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;View view = inflater.inflate(&lt;span style=&quot;color:#9876aa;&quot;&gt;layout&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, null&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        return new &lt;/span&gt;ViewHolder(view)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;onBindViewHolder&lt;/span&gt;(&lt;span style=&quot;color:#bbb529;&quot;&gt;@NonNull &lt;/span&gt;ViewHolder holder&lt;span style=&quot;color:#cc7832;&quot;&gt;, int &lt;/span&gt;position) {&lt;br /&gt;        &lt;span style=&quot;color:#9876aa;&quot;&gt;data &lt;/span&gt;= &lt;span style=&quot;color:#9876aa;&quot;&gt;dataList&lt;/span&gt;.get(position)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;holder.&lt;span style=&quot;color:#9876aa;&quot;&gt;itemView&lt;/span&gt;.setOnClickListener(&lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;View.OnClickListener() {&lt;br /&gt;            &lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;onClick&lt;/span&gt;(View v) {&lt;br /&gt;                Toast.&lt;span style=&quot;font-style:italic;&quot;&gt;makeText&lt;/span&gt;(&lt;span style=&quot;color:#9876aa;&quot;&gt;context&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;data&lt;/span&gt;.getContent()&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;Toast.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;LENGTH_SHORT&lt;/span&gt;).show()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;            &lt;/span&gt;}&lt;br /&gt;        })&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;holder.&lt;span style=&quot;color:#9876aa;&quot;&gt;tiTextView&lt;/span&gt;.setText(&lt;span style=&quot;color:#9876aa;&quot;&gt;data&lt;/span&gt;.getTitle())&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public int &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;getItemCount&lt;/span&gt;() {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;return &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;dataList&lt;/span&gt;.size()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;class &lt;/span&gt;ViewHolder &lt;span style=&quot;color:#cc7832;&quot;&gt;extends &lt;/span&gt;RecyclerView.ViewHolder{&lt;br /&gt;        TextView &lt;span style=&quot;color:#9876aa;&quot;&gt;tiTextView&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;ViewHolder&lt;/span&gt;(View itemView){&lt;br /&gt;            &lt;span style=&quot;color:#cc7832;&quot;&gt;super&lt;/span&gt;(itemView)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;tiTextView &lt;/span&gt;= itemView.findViewById(R.id.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;titleText&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;먼저 ListView 와 RecyclerView 의 차이점 이라면&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;ListView 에서는 getView 형식으로 data를 뿌려줬다면.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;RecyclerView 에서는 ViewHolder 라는 디자인 패턴을 이용해&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;View 객체를 ViewHolder 에 홀드 시키는 것입니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이러한 원리를 이용해 data를 RecyclerView 에 뿌려주는데요.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이 코드를 보면 각각의 타입의 변수를 선언해주고&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;pre style=&quot;background-color: rgb(43, 43, 43); color: rgb(169, 183, 198); font-family: &amp;quot;Fira Code&amp;quot;; font-size: 10.8pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;    public &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109);&quot;&gt;RecyclerAdapter&lt;/span&gt;(&lt;span style=&quot;color: rgb(187, 181, 41);&quot;&gt;@NonNull &lt;/span&gt;Context context&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;, int &lt;/span&gt;resource&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(187, 181, 41);&quot;&gt;@NonNull &lt;/span&gt;List&amp;lt;Data&amp;gt; objects) {&lt;br /&gt;        &lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color: rgb(152, 118, 170);&quot;&gt;dataList &lt;/span&gt;= objects&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;        this&lt;/span&gt;.&lt;span style=&quot;color: rgb(152, 118, 170);&quot;&gt;context &lt;/span&gt;= context&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;        this&lt;/span&gt;.&lt;span style=&quot;color: rgb(152, 118, 170);&quot;&gt;layout &lt;/span&gt;= resource&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;    &lt;/span&gt;}&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;생성자로 값을 받아옵니다&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color: rgb(43, 43, 43); color: rgb(169, 183, 198); font-family: &amp;quot;Fira Code&amp;quot;; font-size: 10.8pt;&quot;&gt;&lt;span style=&quot;color: rgb(187, 181, 41);&quot;&gt;@NonNull&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(187, 181, 41);&quot;&gt;    @Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(187, 181, 41);&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;public &lt;/span&gt;ViewHolder &lt;span style=&quot;color: rgb(255, 198, 109);&quot;&gt;onCreateViewHolder&lt;/span&gt;(&lt;span style=&quot;color: rgb(187, 181, 41);&quot;&gt;@NonNull &lt;/span&gt;ViewGroup parent&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;, int &lt;/span&gt;viewType) {&lt;br /&gt;        LayoutInflater inflater = (LayoutInflater) &lt;span style=&quot;color: rgb(152, 118, 170);&quot;&gt;context&lt;/span&gt;.getSystemService(Context.&lt;span style=&quot;color: rgb(152, 118, 170); font-style: italic;&quot;&gt;LAYOUT_INFLATER_SERVICE&lt;/span&gt;)&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;        &lt;/span&gt;View view = inflater.inflate(&lt;span style=&quot;color: rgb(152, 118, 170);&quot;&gt;layout&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;, null&lt;/span&gt;)&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;        return new &lt;/span&gt;ViewHolder(view)&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;    &lt;/span&gt;}&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이 코드는 RecyclerView 에 띄어줄 View 을 inflater 해주는 코드입니다&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;쉽게 설명하면 RecyclerView 에 사용될 ViewHoder 를 생성하는 코드입니다.&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&amp;nbsp;그리고&lt;/p&gt;&lt;pre style=&quot;background-color: rgb(43, 43, 43); color: rgb(169, 183, 198); font-family: &amp;quot;Fira Code&amp;quot;; font-size: 10.8pt;&quot;&gt;&lt;span style=&quot;color: rgb(187, 181, 41);&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(187, 181, 41);&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;public void &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109);&quot;&gt;onBindViewHolder&lt;/span&gt;(&lt;span style=&quot;color: rgb(187, 181, 41);&quot;&gt;@NonNull &lt;/span&gt;ViewHolder holder&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;, int &lt;/span&gt;position) {&lt;br /&gt;        &lt;span style=&quot;color: rgb(152, 118, 170);&quot;&gt;data &lt;/span&gt;= &lt;span style=&quot;color: rgb(152, 118, 170);&quot;&gt;dataList&lt;/span&gt;.get(position)&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;        &lt;/span&gt;holder.&lt;span style=&quot;color: rgb(152, 118, 170);&quot;&gt;itemView&lt;/span&gt;.setOnClickListener(&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;new &lt;/span&gt;View.OnClickListener() {&lt;br /&gt;            &lt;span style=&quot;color: rgb(187, 181, 41);&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(187, 181, 41);&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;public void &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109);&quot;&gt;onClick&lt;/span&gt;(View v) {&lt;br /&gt;                Toast.&lt;span style=&quot;font-style: italic;&quot;&gt;makeText&lt;/span&gt;(&lt;span style=&quot;color: rgb(152, 118, 170);&quot;&gt;context&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170);&quot;&gt;data&lt;/span&gt;.getContent()&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;, &lt;/span&gt;Toast.&lt;span style=&quot;color: rgb(152, 118, 170); font-style: italic;&quot;&gt;LENGTH_SHORT&lt;/span&gt;).show()&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;            &lt;/span&gt;}&lt;br /&gt;        })&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;        &lt;/span&gt;holder.&lt;span style=&quot;color: rgb(152, 118, 170);&quot;&gt;tiTextView&lt;/span&gt;.setText(&lt;span style=&quot;color: rgb(152, 118, 170);&quot;&gt;data&lt;/span&gt;.getTitle())&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이 코드는 매개변수로 holder 와 position 을 받고&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;data 변수에 dataList.get(position) 의 값을 대입해줍니다.&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그리고 hoder 안에 있는 itemView 가 눌렸을경우에&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;onClick 이벤트가 실행되어&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;Toast 메세지를 띄어주는데요 내용은 context의 내용을 짧게 띄어줍니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;쉽게 설명하자면&amp;nbsp;&lt;span style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 10pt;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;ViewHolder에 데이터를 넣는 작업을 수행을 하는 code 입니다&lt;/span&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그리고&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color: rgb(43, 43, 43); color: rgb(169, 183, 198); font-family: &amp;quot;Fira Code&amp;quot;; font-size: 10.8pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;class &lt;/span&gt;ViewHolder &lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;extends &lt;/span&gt;RecyclerView.ViewHolder{&lt;br /&gt;        TextView &lt;span style=&quot;color: rgb(152, 118, 170);&quot;&gt;tiTextView&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109);&quot;&gt;ViewHolder&lt;/span&gt;(View itemView){&lt;br /&gt;            &lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;super&lt;/span&gt;(itemView)&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170);&quot;&gt;tiTextView &lt;/span&gt;= itemView.findViewById(R.id.&lt;span style=&quot;color: rgb(152, 118, 170); font-style: italic;&quot;&gt;titleText&lt;/span&gt;)&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;        &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    }&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;Inner class를 만들어줍니다 이 class에 RecyclerView.ViewHolder를 상속해줍니다&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그리고 TextView 변수를 만들어주고&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;생성자를 만들어줍니다 이 생성자의 매개변수는 View 타입의 itemView 입니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그리고 super() 메서드를 이용해 매개변수에 접근합니다&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그리고 tiTextView 에 findViewById() 를 이용해&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;titleText의 id 를 넣어줍니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그리고&lt;/p&gt;&lt;pre style=&quot;background-color: rgb(43, 43, 43); color: rgb(169, 183, 198); font-family: &amp;quot;Fira Code&amp;quot;; font-size: 10.8pt;&quot;&gt;holder.&lt;span style=&quot;color: rgb(152, 118, 170);&quot;&gt;tiTextView&lt;/span&gt;.setText(&lt;span style=&quot;color: rgb(152, 118, 170);&quot;&gt;data&lt;/span&gt;.getTitle())&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이제 이코드를 해석할수있는데요 이코드를 해석하자면&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;tiTextView에 data.class에 저장된 Title의 값을 반환해서 세팅을해줍니다.&lt;/p&gt;&lt;pre style=&quot;background-color: rgb(43, 43, 43); color: rgb(169, 183, 198); font-family: &amp;quot;Fira Code&amp;quot;; font-size: 10.8pt;&quot;&gt;&lt;span style=&quot;color: rgb(187, 181, 41);&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(187, 181, 41);&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;public int &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109);&quot;&gt;getItemCount&lt;/span&gt;() {&lt;br /&gt;        &lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;return &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170);&quot;&gt;dataList&lt;/span&gt;.size()&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;    &lt;/span&gt;}&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이 코드 는&amp;nbsp;사용하지않지만 오버라이드 해줘야하기때문에&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;dataList.size() = data 갯수를&amp;nbsp;반환만 시켜줍니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;여기서 중요한점은 RecyclerView를 사용할때 ViewHolder라는 디자인패턴을 사용했습니다.&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;이제 정확히 ViewHolder 패턴에 대해 알아봅시다.&lt;/b&gt;&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&lt;b&gt;ViewHolder pattern 이란?&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;각 View 들을 보관하는 홀더 객체라고 볼수있습니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;왜 이런 디자인 패턴이 등장했을까&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;바로 ListView 에서 살펴볼수있습니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;RecyclerView 는 ListView 의 장/단점을 보완한 고급위젯이라고 위에서 설명했습니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;ListView 에서는 스크롤을 할시 findViewById()를 호출을 해줍니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;Adapter가 inflate된 View를 반환할때도 findViewById()를 호출해주기떄문에&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;리스트에 표시해야할 데이터가 많을경우 성능이 저하하는 그러한 단점을 보완하기 위해 나온게&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;ViewHolder 패턴입니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;ViewHolder 객체는&amp;nbsp;findViewById 를 반복 호출을 않해도 RecyclerView 를 스크롤 했을시&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;즉시 사용 가능합니다.&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;자 이제 mainActivity의 code를 봅시다&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b style=&quot;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;mainActivity.class&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b style=&quot;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Fira Code';font-size:10.8pt;&quot;&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;android.content.Intent&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        import &lt;/span&gt;android.support.v7.app.AppCompatActivity&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        import &lt;/span&gt;android.os.Bundle&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        import &lt;/span&gt;android.support.v7.widget.LinearLayoutManager&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        import &lt;/span&gt;android.support.v7.widget.RecyclerView&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        import &lt;/span&gt;android.util.Log&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        import &lt;/span&gt;android.view.Menu&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        import &lt;/span&gt;android.view.MenuItem&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        import &lt;/span&gt;java.util.ArrayList&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        import &lt;/span&gt;java.util.List&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public class &lt;/span&gt;MainActivity &lt;span style=&quot;color:#cc7832;&quot;&gt;extends &lt;/span&gt;AppCompatActivity {&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;private &lt;/span&gt;List&amp;lt;Data&amp;gt; &lt;span style=&quot;color:#9876aa;&quot;&gt;dataList&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    private &lt;/span&gt;RecyclerView &lt;span style=&quot;color:#9876aa;&quot;&gt;recyclerView&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    private &lt;/span&gt;RecyclerAdapter &lt;span style=&quot;color:#9876aa;&quot;&gt;recyclerAdapter&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;protected void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;onCreate&lt;/span&gt;(Bundle savedInstanceState) {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;super&lt;/span&gt;.onCreate(savedInstanceState)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;setContentView(R.layout.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;activity_main&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;init()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;setRecyclerView()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;private void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;setRecyclerView&lt;/span&gt;(){&lt;br /&gt;        LinearLayoutManager layoutManager = &lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;LinearLayoutManager(getApplicationContext())&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;recyclerView&lt;/span&gt;.setLayoutManager(layoutManager)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;recyclerAdapter &lt;/span&gt;= &lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;RecyclerAdapter(getApplicationContext()&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;R.layout.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;item_default_data&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;dataList&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;recyclerView&lt;/span&gt;.setAdapter(&lt;span style=&quot;color:#9876aa;&quot;&gt;recyclerAdapter&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;private void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;init&lt;/span&gt;(){&lt;br /&gt;        &lt;span style=&quot;color:#9876aa;&quot;&gt;dataList &lt;/span&gt;= &lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;ArrayList&amp;lt;&amp;gt;()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;recyclerView &lt;/span&gt;= findViewById(R.id.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;RecyclerView&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public boolean &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;onCreateOptionsMenu&lt;/span&gt;(Menu menu) {&lt;br /&gt;        getMenuInflater().inflate(R.menu.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;menu&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;menu)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        return true;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public boolean &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;onOptionsItemSelected&lt;/span&gt;(MenuItem item) {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;switch &lt;/span&gt;(item.getItemId()){&lt;br /&gt;            &lt;span style=&quot;color:#cc7832;&quot;&gt;case &lt;/span&gt;R.id.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;action&lt;/span&gt;:&lt;br /&gt;                Intent intent = &lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;Intent(&lt;span style=&quot;color:#cc7832;&quot;&gt;this, &lt;/span&gt;WriteActivity.&lt;span style=&quot;color:#cc7832;&quot;&gt;class&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;                &lt;/span&gt;startActivityForResult(&lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;Intent(&lt;span style=&quot;color:#cc7832;&quot;&gt;this, &lt;/span&gt;WriteActivity.&lt;span style=&quot;color:#cc7832;&quot;&gt;class&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;3000&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;                    return true;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;                default&lt;/span&gt;:&lt;br /&gt;                    &lt;span style=&quot;color:#cc7832;&quot;&gt;return false;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;}&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;protected void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;onActivityResult&lt;/span&gt;(&lt;span style=&quot;color:#cc7832;&quot;&gt;int &lt;/span&gt;requestCode&lt;span style=&quot;color:#cc7832;&quot;&gt;, int &lt;/span&gt;resultCode&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;Intent data) {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;if&lt;/span&gt;(resultCode == &lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;RESULT_OK &lt;/span&gt;&amp;amp;&amp;amp; requestCode == &lt;span style=&quot;color:#6897bb;&quot;&gt;3000&lt;/span&gt;){&lt;br /&gt;            Log.&lt;span style=&quot;font-style:italic;&quot;&gt;d&lt;/span&gt;(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;asdf&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;asdf&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;            &lt;/span&gt;Data receiveData = (Data) data.getSerializableExtra(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;data&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;dataList&lt;/span&gt;.add(receiveData)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;            &lt;/span&gt;setRecyclerView()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;}&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;mainActivity 클래스파일을 설명하자면&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;일단 dataList 객체와 Recycler의 Adapter 와 View 변수를 만들어줍니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그리고&amp;nbsp; onCreate안에 호출해준 init()메서드와 RecyclerView를 위한 setRecyclerView()&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;메서드를 만들어줍니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;먼저 setRecyclerView() 메소드를 보자면 LayoutManager 객체를 만들어줍니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;제가 사용하는 xml 의 Layout은 LinearLayout 이여서 저는&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;LinearLayoutManager 객체를 만들어줬습니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(0, 0, 0);&quot;&gt;그리고&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 10pt; color: rgb(0, 0, 0);&quot;&gt;지정된 레이아웃매니저를 RecyclerView에 Set 해줍니다&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(0, 0, 0);&quot;&gt;그뒤에 RecyclerAdapter에 itemlayout 을 셋팅해주고&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;recyclerView 에 adapter를 Set 해줍니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(0, 0, 0);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(0, 0, 0);&quot;&gt;그리고 init 메소드를 보면&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;datalist를 ArrayList로 바꿔줍니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;그리고 RecyclerView 의 id를 찾아와 recyclerView에 저장해줍니다&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;그리고 저는 WriteActivity.xml 로 가기위해 액션바&amp;nbsp;에 추가버튼을&amp;nbsp;만들어 줬는데요&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;일단 menu 의 xml 코드를 보자면&lt;/span&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Fira Code';font-size:10.8pt;&quot;&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xml version=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;1.0&quot; &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;encoding=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;utf-8&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;?&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;menu &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;http://schemas.android.com/apk/res/android&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;app&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;http://schemas.android.com/apk/res-auto&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;    &amp;lt;item&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:id=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@+id/action&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:title=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;font-family:'굴림체';&quot;&gt;추가&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;app&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:showAsAction=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;always&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;    &amp;lt;/item&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;/menu&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(0, 0, 0);&quot;&gt;이런식으로 추가 버튼을 만들어주기 전에 menu를 만들어 id 와 title을 정해줬습니다&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(0, 0, 0);&quot;&gt;app:showAsAction 속성은 &quot;always&quot; 는&amp;nbsp;계속 Activity에 보입니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(0, 0, 0);&quot;&gt;이제 onCreateOptionsMenu 를 오버라이드 해줍시다&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(0, 0, 0);&quot;&gt;매개변수는 menu 가 들어갈거고 화면에 띄어주기위해서 우리는&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(0, 0, 0);&quot;&gt;inflate 해줘서&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;xml 에 정의된 Resource&amp;nbsp;를&amp;nbsp;View 형태로 변환시켜줍니다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그뒤에 onOptionsItemSelected 도 오버라이드 시켜줍시다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;switch 문을 이용해 id가 acton 인 menu 일때&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;Intent 객체를 만드는데 Intent 는 WriteActivity 로 인텐트를해줍니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그리고&amp;nbsp;&lt;/p&gt;&lt;pre style=&quot;background-color: rgb(43, 43, 43); color: rgb(169, 183, 198); font-family: &amp;quot;Fira Code&amp;quot;; font-size: 10.8pt;&quot;&gt;startActivityForResult(&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;new &lt;/span&gt;Intent(&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;this, &lt;/span&gt;WriteActivity.&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;class&lt;/span&gt;)&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187);&quot;&gt;3000&lt;/span&gt;)&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이 코드를 설명하자면 밑에 WriteActivity를 단순히 시작하는게 아니라&amp;nbsp;requestCode 를 확인하기 위해 3000이라는 상수를 지정해줬습니다.&lt;/p&gt;&lt;pre style=&quot;background-color: rgb(43, 43, 43); color: rgb(169, 183, 198); font-family: &amp;quot;Fira Code&amp;quot;; font-size: 10.8pt;&quot;&gt;&lt;span style=&quot;color: rgb(187, 181, 41);&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(187, 181, 41);&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;protected void &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109);&quot;&gt;onActivityResult&lt;/span&gt;(&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;int &lt;/span&gt;requestCode&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;, int &lt;/span&gt;resultCode&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;, &lt;/span&gt;Intent data) {&lt;br /&gt;        &lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;if&lt;/span&gt;(resultCode == &lt;span style=&quot;color: rgb(152, 118, 170); font-style: italic;&quot;&gt;RESULT_OK &lt;/span&gt;&amp;amp;&amp;amp; requestCode == &lt;span style=&quot;color: rgb(104, 151, 187);&quot;&gt;3000&lt;/span&gt;){&lt;br /&gt;            Log.&lt;span style=&quot;font-style: italic;&quot;&gt;d&lt;/span&gt;(&lt;span style=&quot;color: rgb(106, 135, 89);&quot;&gt;&quot;asdf&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89);&quot;&gt;&quot;asdf&quot;&lt;/span&gt;)&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;            &lt;/span&gt;Data receiveData = (Data) data.getSerializableExtra(&lt;span style=&quot;color: rgb(106, 135, 89);&quot;&gt;&quot;data&quot;&lt;/span&gt;)&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170);&quot;&gt;dataList&lt;/span&gt;.add(receiveData)&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;            &lt;/span&gt;setRecyclerView()&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;        &lt;/span&gt;}&lt;br /&gt;    }&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그리고 마지막으로 이코드를 설명하겠습니다&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;onActivityResult는 오버라이드 해줘야하는데요&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; word-break: break-word; font-family: NanumBarunGothic, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;malgun gothic&amp;quot;, AppleGothicNeoSD, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, &amp;quot;Microsoft NeoGothic&amp;quot;, &amp;quot;Droid sans&amp;quot;, sans-serif; font-size: 14px; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;이 코드를 해석하자면 WriteActivity의 data를 받는 메서드 이다.&lt;/span&gt;&lt;br style=&quot;box-sizing: border-box;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; word-break: break-word; font-family: NanumBarunGothic, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;malgun gothic&amp;quot;, AppleGothicNeoSD, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, &amp;quot;Microsoft NeoGothic&amp;quot;, &amp;quot;Droid sans&amp;quot;, sans-serif; font-size: 14px; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;처리된 결과 코드 resultCode 가&lt;/span&gt;&lt;span style=&quot;box-sizing: border-box; max-width: 100%; font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;box-sizing: border-box; max-width: 100%; color: rgb(242, 97, 223);&quot;&gt;&lt;i style=&quot;box-sizing: border-box;&quot;&gt;&lt;span style=&quot;box-sizing: border-box; max-width: 100%; color: rgb(0, 0, 0); font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;RESULT_OK&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;box-sizing: border-box; max-width: 100%; color: rgb(0, 0, 0);&quot;&gt;&lt;i style=&quot;box-sizing: border-box;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;이거나 requestCode 가 3000 인 이유는 위에&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; word-break: break-word; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;requestCode를 확인하기 위해 3000 으로 지정해줬기때문입니다&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; word-break: break-word; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; word-break: break-word; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;그리고&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;pre style=&quot;background-color: rgb(43, 43, 43); color: rgb(169, 183, 198); font-family: &amp;quot;Fira Code&amp;quot;; font-size: 10.8pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt; &lt;/span&gt;Data receiveData = (Data) data.getSerializableExtra(&lt;span style=&quot;color: rgb(106, 135, 89);&quot;&gt;&quot;data&quot;&lt;/span&gt;)&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;box-sizing: border-box; word-break: break-word; font-family: NanumBarunGothic, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;malgun gothic&amp;quot;, AppleGothicNeoSD, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, &amp;quot;Microsoft NeoGothic&amp;quot;, &amp;quot;Droid sans&amp;quot;, sans-serif; font-size: 14px; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; color: rgb(0, 0, 0);&quot;&gt;이 코드로 아까 putExtra() 의 키값인 data로 넘겨준 data를 받는다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; word-break: break-word; font-family: NanumBarunGothic, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;malgun gothic&amp;quot;, AppleGothicNeoSD, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, &amp;quot;Microsoft NeoGothic&amp;quot;, &amp;quot;Droid sans&amp;quot;, sans-serif; font-size: 14px; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; color: rgb(0, 0, 0);&quot;&gt;그리고 dataList.add(receiveData); 로 data를 더해준다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; word-break: break-word; font-family: NanumBarunGothic, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;malgun gothic&amp;quot;, AppleGothicNeoSD, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, &amp;quot;Microsoft NeoGothic&amp;quot;, &amp;quot;Droid sans&amp;quot;, sans-serif; font-size: 14px; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; color: rgb(0, 0, 0);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; word-break: break-word; font-family: NanumBarunGothic, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;malgun gothic&amp;quot;, AppleGothicNeoSD, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, &amp;quot;Microsoft NeoGothic&amp;quot;, &amp;quot;Droid sans&amp;quot;, sans-serif; font-size: 14px; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; color: rgb(0, 0, 0);&quot;&gt;그리고 dataList에 .add() 메소드를 이용해 receiveData 에있는 data를 datalist에 더해줍니다&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; word-break: break-word; font-family: NanumBarunGothic, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;malgun gothic&amp;quot;, AppleGothicNeoSD, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, &amp;quot;Microsoft NeoGothic&amp;quot;, &amp;quot;Droid sans&amp;quot;, sans-serif; font-size: 14px; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; color: rgb(0, 0, 0);&quot;&gt;그리고 setRecyclerView(); 메서드를 실행시켜주게 됩니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; word-break: break-word; font-family: NanumBarunGothic, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;malgun gothic&amp;quot;, AppleGothicNeoSD, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, &amp;quot;Microsoft NeoGothic&amp;quot;, &amp;quot;Droid sans&amp;quot;, sans-serif; font-size: 14px; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; color: rgb(0, 0, 0);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; word-break: break-word; font-family: NanumBarunGothic, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;malgun gothic&amp;quot;, AppleGothicNeoSD, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, &amp;quot;Microsoft NeoGothic&amp;quot;, &amp;quot;Droid sans&amp;quot;, sans-serif; font-size: 14px; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; color: rgb(0, 0, 0);&quot;&gt;이렇게되면 RecyclerView 가 정상작동하게 됩니다!&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; word-break: break-word; font-family: NanumBarunGothic, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;malgun gothic&amp;quot;, AppleGothicNeoSD, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, &amp;quot;Microsoft NeoGothic&amp;quot;, &amp;quot;Droid sans&amp;quot;, sans-serif; font-size: 14px; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; color: rgb(0, 0, 0);&quot;&gt;여기까지 ViewHolder 패턴을 이용한 RecyclerView 예제였습니다.&lt;/span&gt;&lt;/p&gt;&lt;hr&gt;&lt;p style=&quot;box-sizing: border-box; word-break: break-word; font-family: NanumBarunGothic, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;malgun gothic&amp;quot;, AppleGothicNeoSD, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, &amp;quot;Microsoft NeoGothic&amp;quot;, &amp;quot;Droid sans&amp;quot;, sans-serif; font-size: 14px; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;box-sizing: border-box; word-break: break-word; font-family: NanumBarunGothic, &amp;quot;맑은 고딕&amp;quot;, &amp;quot;malgun gothic&amp;quot;, AppleGothicNeoSD, &amp;quot;Apple SD 산돌고딕 Neo&amp;quot;, &amp;quot;Microsoft NeoGothic&amp;quot;, &amp;quot;Droid sans&amp;quot;, sans-serif; font-size: 14px; text-align: center; padding-top: 0px !important; padding-bottom: 0px !important;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; color: rgb(0, 0, 0);&quot;&gt;ㅠㅠ!&lt;/span&gt;&lt;/p&gt;</description>
      <category>Android/Android ( JAVA )</category>
      <category>Android</category>
      <category>RecyclerView</category>
      <category>ViewHolder</category>
      <category>ViewHolderpattern</category>
      <category>리사이클러뷰</category>
      <category>뷰홀더 패턴</category>
      <category>안드로이드 리사이클러뷰 예제</category>
      <author>Bin's.</author>
      <guid isPermaLink="true">https://jbins.tistory.com/9</guid>
      <comments>https://jbins.tistory.com/9#entry9comment</comments>
      <pubDate>Mon, 17 Sep 2018 10:07:08 +0900</pubDate>
    </item>
    <item>
      <title>Android (다섯번째 수업 - Custom ListView 와 adapter pattern)</title>
      <link>https://jbins.tistory.com/8</link>
      <description>&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 500px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9971373C5B7F6A5F25&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9971373C5B7F6A5F25&quot; width=&quot;500&quot; height=&quot;116&quot; filename=&quot;안드로이드 로고.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;hr&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;Custom ListView 와 adapter pattern&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&lt;b&gt;먼저 ListView 에 대해 알아보자.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 18.6667px;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;보통의 ListView 를 생각하면&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;연락처 나 &lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;메시지 나 목록을 표시해야할때(SM&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;S)&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;앱 등&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;필요한 위젯입니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 330px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9907D24C5B80437705&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9907D24C5B80437705&quot; width=&quot;330&quot; height=&quot;563&quot; filename=&quot;z.png&quot; filemime=&quot;image/jpeg&quot; original=&quot;yes&quot;/&gt;&lt;span class=&quot;cap1&quot; style=&quot;display: block; max-width:100%; &quot;&gt;Google play (구 버전)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;하지만 ListView 는 선택 위젯입니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;(일반 위젯이 아니다.)&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 10pt;&quot;&gt;안드로이드에서는 리스트뷰처럼 여러 개의 아이템 중에&lt;/span&gt;&lt;span style=&quot;font-weight: 600; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 10pt;&quot;&gt;하나를 선택할 수 있는&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: sans-serif; font-size: 16.002px;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;위젯들을 특별히&amp;nbsp;&lt;/span&gt;&lt;span _foo=&quot;color: rgb(120, 32, 185);&quot; style=&quot;color: rgb(120, 32, 185); font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;'&lt;/span&gt;&lt;span style=&quot;color: rgb(255, 0, 0); font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;선택 위젯&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;'&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;이라고 부름&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;선택위젯은 직접 데이터를 설정 할 &lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;수가 없습니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;선택위젯에 데이터를 설정하기위해 사용하는게&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;Adapter pattern 이다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;우리는 이 Adapter 에서 만들어주는 getView() 메서드를 이용해 아이템을 표시해준다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 727px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99C943455B803D7A12&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99C943455B803D7A12&quot; width=&quot;727&quot; height=&quot;248&quot; filename=&quot;68747470733a2f2f692e696d6775722e636f6d2f6d6b38324a64322e6a7067.jpg&quot; filemime=&quot;image/jpeg&quot; original=&quot;yes&quot;/&gt;&lt;span class=&quot;cap1&quot; style=&quot;display: block; max-width:100%; &quot;&gt;이해를 위한 예시&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;ListView 를 정의해보자면&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;Adapter를 사용해 데이터를 표시하는 View 입니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;만든 CustomListView 예제를 살펴보자면&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;메모장처럼 제목&amp;nbsp;과 내용을 적고 저장&amp;nbsp;해주면&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;제목을 누르면 내용이 Toast로 띄어주는 그러한 예제이다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 18.6667px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;먼저 Layout을 살펴보자&lt;/span&gt;.&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; color: rgb(0, 0, 0);&quot;&gt;일단 ListView 를 띄어줄 MainLayout 에는&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; color: rgb(0, 0, 0);&quot;&gt;간단히 ListView 만 추가해주면 된다&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; color: rgb(0, 0, 0);&quot;&gt;(나는 데이터를 잠깐 저장하기위한 &lt;/span&gt;&lt;font color=&quot;#e8bf6a&quot; face=&quot;Fira Code&quot; style=&quot;&quot;&gt;&lt;span style=&quot;font-size: 14.4px; color: rgb(255, 0, 0);&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; color: rgb(0, 0, 0);&quot;&gt;FloatingActionButton &lt;/span&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;을 사용해줬다.&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; color: rgb(0, 0, 0);&quot;&gt;)&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;MainActivity&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Fira Code';font-size:10.8pt;&quot;&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xml version=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;1.0&quot; &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;encoding=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;utf-8&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;?&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;LinearLayout&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;http://schemas.android.com/apk/res/android&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;tools&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;http://schemas.android.com/tools&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:orientation=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;vertical&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;tools&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:context=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;.MainActivity&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;    &amp;lt;ListView&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:id=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@+id/listView&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;    &amp;lt;/ListView&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;    &amp;lt;android.support.design.widget.FloatingActionButton&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;wrap_content&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;wrap_content&quot; &lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;/LinearLayout&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이런식으로 MainActivity에 추가 해주면된다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;하지만 우리는 리스트뷰에 표시할 아이템을 위해&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;item_Layout 을 만들어 줘야한다&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;item_default_data&lt;/span&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Fira Code';font-size:10.8pt;&quot;&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xml version=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;1.0&quot; &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;encoding=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;utf-8&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;?&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;LinearLayout &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;http://schemas.android.com/apk/res/android&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:orientation=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;vertical&quot; &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;100dp&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;    &amp;lt;TextView&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:id=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@+id/titleText&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;wrap_content&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:textColor=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;#000000&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:textAppearance=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@style/Base.TextAppearance.AppCompat.Large&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:text=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;font-family:'굴림체';&quot;&gt;제목&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_margin=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;10dp&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;    &amp;lt;View&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;3dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:background=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@android:color/darker_gray&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;    &amp;lt;/View&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;/LinearLayout&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 342px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99F8F54A5B80992429&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99F8F54A5B80992429&quot; width=&quot;342&quot; height=&quot;129&quot; filename=&quot;3334.PNG&quot; filemime=&quot;image/jpeg&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이런식으로 우리가 보여줄 item 을위한&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;Layout이 구현됬으면 이제부터&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;ListAdapter 의 코드를 보자.&lt;/span&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Fira Code';font-size:10.8pt;&quot;&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;android.content.Context&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;android.support.annotation.&lt;span style=&quot;color:#bbb529;&quot;&gt;NonNull&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;android.support.annotation.&lt;span style=&quot;color:#bbb529;&quot;&gt;Nullable&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;android.view.LayoutInflater&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;android.view.View&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;android.view.ViewGroup&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;android.widget.ArrayAdapter&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;android.widget.TextView&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;android.widget.Toast&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;java.util.List&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public class &lt;/span&gt;ListAdapter &lt;span style=&quot;color:#cc7832;&quot;&gt;extends &lt;/span&gt;ArrayAdapter&amp;lt;Data&amp;gt; {&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;private &lt;/span&gt;List&amp;lt;Data&amp;gt; &lt;span style=&quot;color:#9876aa;&quot;&gt;dataList&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    private &lt;/span&gt;Context &lt;span style=&quot;color:#9876aa;&quot;&gt;context&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    private int &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;layout&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    public &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;ListAdapter&lt;/span&gt;(&lt;span style=&quot;color:#bbb529;&quot;&gt;@NonNull &lt;/span&gt;Context context&lt;span style=&quot;color:#cc7832;&quot;&gt;, int &lt;/span&gt;resource&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;@NonNull &lt;/span&gt;List&amp;lt;Data&amp;gt; objects) {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;super&lt;/span&gt;(context&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;resource&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;objects)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        this&lt;/span&gt;.&lt;span style=&quot;color:#9876aa;&quot;&gt;dataList &lt;/span&gt;= objects&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        this&lt;/span&gt;.&lt;span style=&quot;color:#9876aa;&quot;&gt;context &lt;/span&gt;= context&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        this&lt;/span&gt;.&lt;span style=&quot;color:#9876aa;&quot;&gt;layout &lt;/span&gt;= resource&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#bbb529;&quot;&gt;@NonNull&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;    @Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public &lt;/span&gt;View &lt;span style=&quot;color:#ffc66d;&quot;&gt;getView&lt;/span&gt;(&lt;span style=&quot;color:#cc7832;&quot;&gt;final int &lt;/span&gt;position&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;@Nullable &lt;/span&gt;View convertView&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;@NonNull &lt;/span&gt;ViewGroup parent) {&lt;br /&gt;        View view = convertView&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        if&lt;/span&gt;(view == &lt;span style=&quot;color:#cc7832;&quot;&gt;null&lt;/span&gt;){&lt;br /&gt;            LayoutInflater inflater = (LayoutInflater) &lt;span style=&quot;color:#9876aa;&quot;&gt;context&lt;/span&gt;.getSystemService(Context.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;LAYOUT_INFLATER_SERVICE&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;            &lt;/span&gt;view = inflater.inflate(&lt;span style=&quot;color:#9876aa;&quot;&gt;layout&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, null&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;        TextView titleText = view.findViewById(R.id.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;titleText&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;Data data = &lt;span style=&quot;color:#9876aa;&quot;&gt;dataList&lt;/span&gt;.get(position)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;view.setOnClickListener(&lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;View.OnClickListener() {&lt;br /&gt;            &lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;onClick&lt;/span&gt;(View v) {&lt;br /&gt;                Toast.&lt;span style=&quot;font-style:italic;&quot;&gt;makeText&lt;/span&gt;(&lt;span style=&quot;color:#9876aa;&quot;&gt;context&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;dataList&lt;/span&gt;.get(&lt;span style=&quot;color:#b389c5;&quot;&gt;position&lt;/span&gt;).getContent(), &lt;span style=&quot;font-size: 10.8pt;&quot;&gt;Toast.&lt;/span&gt;&lt;span style=&quot;font-size: 10.8pt; color: rgb(152, 118, 170); font-style: italic;&quot;&gt;LENGTH_SHORT&lt;/span&gt;&lt;span style=&quot;font-size: 10.8pt;&quot;&gt;).show()&lt;/span&gt;&lt;span style=&quot;font-size: 10.8pt; color: rgb(204, 120, 50);&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;            &lt;/span&gt;}&lt;br /&gt;        })&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;titleText.setText(data.getTitle())&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        return &lt;/span&gt;view&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;public void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;setDataList&lt;/span&gt;(List&amp;lt;Data&amp;gt; dataList){&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color:#9876aa;&quot;&gt;dataList &lt;/span&gt;= dataList&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이 Adapter를 통해 ListView 의&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;한 item 에 표시될 정보를 설정할수 있습니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;먼저 생성자를 만들어준다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그리고 여기서 살펴볼점은&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 16px; text-align: start;&quot;&gt;&lt;span style=&quot;background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);&quot;&gt;1) LayoutInflater란?&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; color: rgb(0, 0, 0);&quot;&gt;xml 에 정의된 Resource(자원) 들을 View 형태로 변환시켜줍니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; color: rgb(0, 0, 0);&quot;&gt;우리가 보통 Activity를 만들고 자바 코드안에&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; color: rgb(0, 0, 0);&quot;&gt;onCreate() 메서드에 기본으로 추가되는&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; color: rgb(0, 0, 0);&quot;&gt;setContentView(R.layout.activity_main); 와 같은 원리라고 생각하시면 됩니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 16px; text-align: start;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;2) ListView에 view 값이 Null 이라면?&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; color: rgb(0, 0, 0);&quot;&gt;ListView 에 아이템을 표시해줄 getView() 메서드를 보자면&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;view 값이 Null 이라면 vi&lt;/span&gt;ew 가 없게 되닌까&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;View 가 없으니 inflater 해줘서 할당을 해줍니다.&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;xml에 정의된 레이아웃을 자바코드로 동적 할당해서 매칭시킨다고 보시면됩니다&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그리고 view 의 아이템이 눌리게되면 onClick 이벤트가 실행되&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;Toast 를 띄어주게 되는데요 Toast 내용은 Content 인 즉 내용이 띄어지고&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;titleText.setText(data.getTitle());&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;즉 제목인 Title 을 ListView 에 텍스트로 띄어줍니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;먼저 이렇게만 작성한다면 .&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp; &amp;nbsp; private List&amp;lt;Data&amp;gt; dataList;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이 코드에 &lt;u style=&quot;&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;Data&lt;/span&gt;&lt;/u&gt; 가 빨간밑줄 일 것 입니다.&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;우리는 저 Data class 를 만들어줘야합니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;그래서 저는&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Fira Code';font-size:10.8pt;&quot;&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;java.io.Serializable&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public class &lt;/span&gt;Data &lt;span style=&quot;color:#cc7832;&quot;&gt;implements &lt;/span&gt;Serializable {&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;private &lt;/span&gt;String &lt;span style=&quot;color:#9876aa;&quot;&gt;title&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    private &lt;/span&gt;String &lt;span style=&quot;color:#9876aa;&quot;&gt;content&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    public &lt;/span&gt;String &lt;span style=&quot;color:#ffc66d;&quot;&gt;getTitle&lt;/span&gt;() {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;return &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;title&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;public void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;setTitle&lt;/span&gt;(String title) {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color:#9876aa;&quot;&gt;title &lt;/span&gt;= title&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;public &lt;/span&gt;String &lt;span style=&quot;color:#ffc66d;&quot;&gt;getContent&lt;/span&gt;() {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;return &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;content&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;public void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;setContent&lt;/span&gt;(String content) {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color:#9876aa;&quot;&gt;content &lt;/span&gt;= content&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;public &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;Data&lt;/span&gt;(String title&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;String content) {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color:#9876aa;&quot;&gt;title &lt;/span&gt;= title&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        this&lt;/span&gt;.&lt;span style=&quot;color:#9876aa;&quot;&gt;content &lt;/span&gt;= content&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 12pt;&quot;&gt;이런식으로 Data class를 만들어 줬는데요.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;이 class 는&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 51); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 10pt;&quot;&gt;아이템에 출력될 데이&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 51); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 10pt;&quot;&gt;터를&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 51); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 10pt;&quot;&gt;&amp;nbsp;위한 클래스 입니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 51); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 10pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 51); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 10pt;&quot;&gt;이렇게 Data를 위한 클래스, Adapter,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;item_default_data&lt;/span&gt;&lt;span style=&quot;color: rgb(51, 51, 51); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;까지 모두 완성해준다면&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 51); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 10pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;font color=&quot;#333333&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;이제 상단 액션바에 Action(추가)인&amp;nbsp;menu xml 코드를 작성해주자&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 51); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 10pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Fira Code';font-size:10.8pt;&quot;&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xml version=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;1.0&quot; &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;encoding=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;utf-8&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;?&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;menu &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;http://schemas.android.com/apk/res/android&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;app&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;http://schemas.android.com/apk/res-auto&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;    &amp;lt;item&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:id=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@+id/action&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:title=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;font-family:'굴림체';&quot;&gt;추가&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;app&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:showAsAction=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;always&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;    &amp;lt;/item&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;/menu&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이런식으로 작성하게 되면 액션바에 추가라는 이름이 적히는데요&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;app:showAsAction=&quot;always&quot; 라는 속성은&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;항상 보이게 설정해줍니다&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 342px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9985174F5B8099532B&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9985174F5B8099532B&quot; width=&quot;342&quot; height=&quot;75&quot; filename=&quot;112.PNG&quot; filemime=&quot;image/jpeg&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이 코드는 이예제의 WriteActivity 에 넘어가서 작성할수 있도록 버튼같은 역활을합니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&lt;b&gt;이제 WriteActivity 를 봅시다.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Fira Code';font-size:10.8pt;&quot;&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xml version=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;1.0&quot; &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;encoding=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;utf-8&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;?&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;LinearLayout &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;http://schemas.android.com/apk/res/android&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;app&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;http://schemas.android.com/apk/res-auto&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;tools&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;http://schemas.android.com/tools&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;tools&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:context=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;.WriteActivity&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:orientation=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;vertical&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:weightSum=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;360&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;    &amp;lt;EditText&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:id=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@+id/titleEditText&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;0dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_weight=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;40&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:hint=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;font-family:'굴림체';&quot;&gt;제목&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_margin=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;10dp&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;    &amp;lt;EditText&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:id=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@+id/contentEditText&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;0dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_weight=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;300&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_margin=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;10dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:hint=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;font-family:'굴림체';&quot;&gt;내용&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:lines=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;10&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;    &amp;lt;android.support.design.widget.FloatingActionButton&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:id=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@+id/saveFab&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:src=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@drawable/ic_save_black_24dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;wrap_content&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;wrap_content&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_marginRight=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;30dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_gravity=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;right&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;/LinearLayout&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;간단하게&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;제목을 적을 EditText 와 내용을적을 EditText랑&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;데이터를 저장해줄 FloatingActionButton&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이 구성되 있습니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 345px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99F8B54D5B8099772B&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99F8B54D5B8099772B&quot; width=&quot;345&quot; height=&quot;575&quot; filename=&quot;캡처3331.PNG&quot; filemime=&quot;image/jpeg&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이제 본격적으로&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&lt;b&gt;WriteActivity의 xml 코드를 보자면&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Fira Code';font-size:10.8pt;&quot;&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;android.content.Intent&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;android.support.design.widget.FloatingActionButton&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;android.support.v7.app.AppCompatActivity&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;android.os.Bundle&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;android.view.View&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;android.widget.EditText&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;android.widget.Toast&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public class &lt;/span&gt;WriteActivity &lt;span style=&quot;color:#cc7832;&quot;&gt;extends &lt;/span&gt;AppCompatActivity {&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;private &lt;/span&gt;EditText &lt;span style=&quot;color:#9876aa;&quot;&gt;titleEditText&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    private &lt;/span&gt;EditText &lt;span style=&quot;color:#9876aa;&quot;&gt;contentEditText&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    private &lt;/span&gt;FloatingActionButton &lt;span style=&quot;color:#9876aa;&quot;&gt;saveFab&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;protected void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;onCreate&lt;/span&gt;(Bundle savedInstanceState) {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;super&lt;/span&gt;.onCreate(savedInstanceState)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;setContentView(R.layout.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;activity_write&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;init()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;setListeners()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;private void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;init&lt;/span&gt;(){&lt;br /&gt;&lt;br /&gt;        &lt;span style=&quot;color:#9876aa;&quot;&gt;titleEditText &lt;/span&gt;= findViewById(R.id.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;titleEditText&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;contentEditText &lt;/span&gt;= findViewById(R.id.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;contentEditText&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;saveFab &lt;/span&gt;= findViewById(R.id.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;saveFab&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;private void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;setListeners&lt;/span&gt;(){&lt;br /&gt;        &lt;span style=&quot;color:#9876aa;&quot;&gt;saveFab&lt;/span&gt;.setOnClickListener(&lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;View.OnClickListener() {&lt;br /&gt;            &lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;onClick&lt;/span&gt;(View v) {&lt;br /&gt;                String title = &lt;span style=&quot;color:#9876aa;&quot;&gt;titleEditText&lt;/span&gt;.getText().toString()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;                &lt;/span&gt;String content = &lt;span style=&quot;color:#9876aa;&quot;&gt;contentEditText&lt;/span&gt;.getText().toString()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;                if&lt;/span&gt;(!title.equals(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&quot;&lt;/span&gt;) &amp;amp;&amp;amp; !content.equals(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&quot;&lt;/span&gt;)){&lt;br /&gt;                    Data data = &lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;Data(&lt;span style=&quot;color:#9876aa;&quot;&gt;titleEditText&lt;/span&gt;.getText().toString()&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;contentEditText&lt;/span&gt;.getText().toString())&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;                    &lt;/span&gt;Toast.&lt;span style=&quot;font-style:italic;&quot;&gt;makeText&lt;/span&gt;(getApplicationContext()&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;font-family:'굴림체';&quot;&gt;성공적으로 작성하셨습니다&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;.&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;Toast.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;LENGTH_SHORT&lt;/span&gt;).show()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;                    &lt;/span&gt;Intent intent = &lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;Intent()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;                    &lt;/span&gt;intent.putExtra(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;data&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;data)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;                    &lt;/span&gt;setResult(&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;RESULT_OK&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;,&lt;/span&gt;intent)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;                    &lt;/span&gt;finish()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;                &lt;/span&gt;}&lt;br /&gt;            }&lt;br /&gt;        })&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;간단하게 해석하자면 각각의 EditText의 id를 찾아주고&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;saveFab은 FloatingActionButton의 id 이다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;saveFab을 눌르면 onClick 이벤트가 실행된다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;내용은 titleEditText 내용을 가져와String 형태로 title 에 담고&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;contentEditText의 내용도 가져와 String 형태로 Content에 담습니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;if문 은 title 과 content 의 값이 있을때 실행되는데요&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;먼저 Data class의 객체를 만들어줘&amp;nbsp;titleEditText 내용, contentEditText의 내용&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;을 가져와 data 에 저장해줍니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그뒤에 Toast로 &quot;성공적으로 작성하셨습니다.&quot; 라는 Toast를 띄어줍니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그뒤에 Intent 객체를 만들어주고&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;.putExtra() 로 &quot;data&quot; 라는 키로 data를 넘겨줍니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그리고&lt;/p&gt;&lt;pre style=&quot;background-color: rgb(43, 43, 43); color: rgb(169, 183, 198); font-family: &amp;quot;Fira Code&amp;quot;; font-size: 10.8pt;&quot;&gt;&lt;p&gt;setResult(&lt;span style=&quot;color: rgb(152, 118, 170); font-style: italic;&quot;&gt;RESULT_OK&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;,&lt;/span&gt;intent)&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;;&lt;br /&gt;&lt;/span&gt;finish()&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이코드로 Activity를 종료해줍니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이제 마지막으로 data값을 ListView 에 띄어주는 MainActivity.java code 를보자.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Fira Code';font-size:10.8pt;&quot;&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;android.content.Intent&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        import &lt;/span&gt;android.support.v7.app.AppCompatActivity&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        import &lt;/span&gt;android.os.Bundle&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        import &lt;/span&gt;android.util.Log&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        import &lt;/span&gt;android.view.Menu&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        import &lt;/span&gt;android.view.MenuItem&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        import &lt;/span&gt;android.widget.ListView&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        import &lt;/span&gt;java.util.ArrayList&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        import &lt;/span&gt;java.util.List&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public class &lt;/span&gt;MainActivity &lt;span style=&quot;color:#cc7832;&quot;&gt;extends &lt;/span&gt;AppCompatActivity {&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;private &lt;/span&gt;List&amp;lt;Data&amp;gt; &lt;span style=&quot;color:#9876aa;&quot;&gt;dataList&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    private &lt;/span&gt;ListView &lt;span style=&quot;color:#9876aa;&quot;&gt;listView&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    private &lt;/span&gt;ListAdapter &lt;span style=&quot;color:#9876aa;&quot;&gt;listAdapter&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;protected void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;onCreate&lt;/span&gt;(Bundle savedInstanceState) {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;super&lt;/span&gt;.onCreate(savedInstanceState)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;setContentView(R.layout.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;activity_main&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;init()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;setListView()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;private void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;setListView&lt;/span&gt;(){&lt;br /&gt;        &lt;span style=&quot;color:#9876aa;&quot;&gt;listAdapter &lt;/span&gt;= &lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;ListAdapter(getApplicationContext()&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;R.layout.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;item_default_data&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;dataList&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;listView&lt;/span&gt;.setAdapter(&lt;span style=&quot;color:#9876aa;&quot;&gt;listAdapter&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;private void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;init&lt;/span&gt;(){&lt;br /&gt;        &lt;span style=&quot;color:#9876aa;&quot;&gt;dataList &lt;/span&gt;= &lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;ArrayList&amp;lt;&amp;gt;()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;listView &lt;/span&gt;= findViewById(R.id.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;listView&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;public void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;changeData&lt;/span&gt;(Data data){&lt;br /&gt;        &lt;span style=&quot;color:#9876aa;&quot;&gt;dataList&lt;/span&gt;.add(data)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public boolean &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;onCreateOptionsMenu&lt;/span&gt;(Menu menu) {&lt;br /&gt;        getMenuInflater().inflate(R.menu.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;menu&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;menu)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        return true;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public boolean &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;onOptionsItemSelected&lt;/span&gt;(MenuItem item) {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;switch &lt;/span&gt;(item.getItemId()){&lt;br /&gt;            &lt;span style=&quot;color:#cc7832;&quot;&gt;case &lt;/span&gt;R.id.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;action&lt;/span&gt;:&lt;br /&gt;                Intent intent = &lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;Intent(&lt;span style=&quot;color:#cc7832;&quot;&gt;this, &lt;/span&gt;WriteActivity.&lt;span style=&quot;color:#cc7832;&quot;&gt;class&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;                &lt;/span&gt;startActivityForResult(&lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;Intent(&lt;span style=&quot;color:#cc7832;&quot;&gt;this, &lt;/span&gt;WriteActivity.&lt;span style=&quot;color:#cc7832;&quot;&gt;class&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6897bb;&quot;&gt;3000&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;                    return true;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;                default&lt;/span&gt;:&lt;br /&gt;                    &lt;span style=&quot;color:#cc7832;&quot;&gt;return false;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;}&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;protected void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;onActivityResult&lt;/span&gt;(&lt;span style=&quot;color:#cc7832;&quot;&gt;int &lt;/span&gt;requestCode&lt;span style=&quot;color:#cc7832;&quot;&gt;, int &lt;/span&gt;resultCode&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;Intent data) {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;if&lt;/span&gt;(resultCode == &lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;RESULT_OK &lt;/span&gt;&amp;amp;&amp;amp; requestCode == &lt;span style=&quot;color:#6897bb;&quot;&gt;3000&lt;/span&gt;){&lt;br /&gt;            Log.&lt;span style=&quot;font-style:italic;&quot;&gt;d&lt;/span&gt;(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;asdf&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;asdf&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;            &lt;/span&gt;Data receiveData = (Data) data.getSerializableExtra(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;data&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;dataList&lt;/span&gt;.add(receiveData)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;            &lt;/span&gt;setListView()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;}&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;먼저 onCreate 에 호출된 init(); 과 setListView(); 를 보면&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;init(); 은 dataList 에 변수에 arrayList&amp;nbsp;형식으로 데이터를 저장합니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그리고 listView 의 id 를 listView에 저장해줍니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그리고 setListView();를 보면&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;Adapter 의 객체를 만들어주는데 Layout은 아까 만들어준&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;item_default_data 을 사용해주고 내용은 datalist 입니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;그리고 listView.setAdapter(listAdapter);&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;Adapter의 값을 정해주고&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이제 다른 코드를 보자면&lt;/p&gt;&lt;pre style=&quot;background-color: rgb(43, 43, 43); color: rgb(169, 183, 198); font-family: &amp;quot;Fira Code&amp;quot;; font-size: 10.8pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;public void &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109);&quot;&gt;changeData&lt;/span&gt;(Data data){&lt;br /&gt;        &lt;span style=&quot;color: rgb(152, 118, 170);&quot;&gt;dataList&lt;/span&gt;.add(data)&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;를 보면 매개변수는 data를 받아오고&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;dataList.add(data); 를 이용해 데이터를 더해준다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그리고&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color: rgb(43, 43, 43); color: rgb(169, 183, 198); font-family: &amp;quot;Fira Code&amp;quot;; font-size: 10.8pt;&quot;&gt;&lt;span style=&quot;color: rgb(187, 181, 41);&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(187, 181, 41);&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;public boolean &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109);&quot;&gt;onCreateOptionsMenu&lt;/span&gt;(Menu menu) {&lt;br /&gt;        getMenuInflater().inflate(R.menu.&lt;span style=&quot;color: rgb(152, 118, 170); font-style: italic;&quot;&gt;menu&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;, &lt;/span&gt;menu)&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;        return true;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;    &lt;/span&gt;}&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;보게 되면 Inflater 를 이용해&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;xml 로 정의된 menu 를 실제 객체화를 해줍니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이 코드를 써준이유는&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;미리 xml 을 만들어준 뒤 java code 에서&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;inflater 을 활용해 바로 view 를 생성할 수있기 때문이다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그리고&lt;/p&gt;&lt;pre style=&quot;background-color: rgb(43, 43, 43); color: rgb(169, 183, 198); font-family: &amp;quot;Fira Code&amp;quot;; font-size: 10.8pt;&quot;&gt; &lt;span style=&quot;color: rgb(187, 181, 41);&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(187, 181, 41);&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;public boolean &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109);&quot;&gt;onOptionsItemSelected&lt;/span&gt;(MenuItem item) {&lt;br /&gt;        &lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;switch &lt;/span&gt;(item.getItemId()){&lt;br /&gt;            &lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;case &lt;/span&gt;R.id.&lt;span style=&quot;color: rgb(152, 118, 170); font-style: italic;&quot;&gt;action&lt;/span&gt;:&lt;br /&gt;                Intent intent = &lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;new &lt;/span&gt;Intent(&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;this, &lt;/span&gt;WriteActivity.&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;class&lt;/span&gt;)&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;                &lt;/span&gt;startActivityForResult(&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;new &lt;/span&gt;Intent(&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;this, &lt;/span&gt;WriteActivity.&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;class&lt;/span&gt;)&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187);&quot;&gt;3000&lt;/span&gt;)&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;                    return true;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;                default&lt;/span&gt;:&lt;br /&gt;                    &lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;return false;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;        &lt;/span&gt;}&lt;br /&gt;    }&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이 코드를 보자&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;switch 문을 사용했다. 먼저 item 의 id 를 얻어&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;id 가 action 인 item 은 아까 추가해준&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;item_default_data 이 xml 이다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 342px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/998640415B80B8E80C&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F998640415B80B8E80C&quot; width=&quot;342&quot; height=&quot;75&quot; filename=&quot;112.PNG&quot; filemime=&quot;image/jpeg&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;item 의 id 가 action 이면 추가 버튼을 눌르게된다면 WriteActivity 로 intent 로 넘어가고&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;startActivityForResult() 를 이용해 WriteActivity&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(33, 33, 33); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 10pt;&quot;&gt;를 시작하고 그 Activity로부터 결과를 수신할 수도 있습니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;font color=&quot;#212121&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;값은 3000으로 지정해줬습니다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;font color=&quot;#212121&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;만약 id 가 action 아니면 false를 return 해줍니다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: rgb(33, 33, 33); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 10pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: rgb(33, 33, 33); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 10pt;&quot;&gt;그리고 마지막으로&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: rgb(33, 33, 33); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 10pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre style=&quot;background-color: rgb(43, 43, 43); color: rgb(169, 183, 198); font-family: &amp;quot;Fira Code&amp;quot;; font-size: 10.8pt;&quot;&gt;&lt;span style=&quot;color: rgb(187, 181, 41);&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(187, 181, 41);&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;protected void &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109);&quot;&gt;onActivityResult&lt;/span&gt;(&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;int &lt;/span&gt;requestCode&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;, int &lt;/span&gt;resultCode&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;, &lt;/span&gt;Intent data) {&lt;br /&gt;        &lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;if&lt;/span&gt;(resultCode == &lt;span style=&quot;color: rgb(152, 118, 170); font-style: italic;&quot;&gt;RESULT_OK &lt;/span&gt;&amp;amp;&amp;amp; requestCode == &lt;span style=&quot;color: rgb(104, 151, 187);&quot;&gt;3000&lt;/span&gt;){&lt;br /&gt;            Log.&lt;span style=&quot;font-style: italic;&quot;&gt;d&lt;/span&gt;(&lt;span style=&quot;color: rgb(106, 135, 89);&quot;&gt;&quot;asdf&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89);&quot;&gt;&quot;asdf&quot;&lt;/span&gt;)&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;            &lt;/span&gt;Data receiveData = (Data) data.getSerializableExtra(&lt;span style=&quot;color: rgb(106, 135, 89);&quot;&gt;&quot;data&quot;&lt;/span&gt;)&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;            &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170);&quot;&gt;dataList&lt;/span&gt;.add(receiveData)&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;            &lt;/span&gt;setListView()&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;        &lt;/span&gt;}&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이 코드를 해석하자면 WriteActivity의 data를 받는 메서드 이다.&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;처리된 결과 코드 resultCode 가&lt;span style=&quot;background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: rgb(242, 97, 223);&quot;&gt;&lt;i&gt;&lt;span style=&quot;background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);&quot;&gt;RESULT_OK&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;i&gt;&lt;span style=&quot;background-color: rgb(229, 69, 208); color: rgb(255, 255, 255);&quot;&gt;&lt;/span&gt;&amp;nbsp; &lt;/i&gt;이거나 requestCode 가 3000 인 이유는 위에&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: rgb(242, 97, 223);&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre style=&quot;background-color: rgb(43, 43, 43); color: rgb(169, 183, 198); font-family: &amp;quot;Fira Code&amp;quot;; font-size: 10.8pt;&quot;&gt;startActivityForResult(&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;new &lt;/span&gt;Intent(&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;this, &lt;/span&gt;WriteActivity.&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;class&lt;/span&gt;)&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(104, 151, 187);&quot;&gt;3000&lt;/span&gt;)&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: rgb(242, 97, 223);&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0);&quot;&gt;이코드를 이용해&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&amp;nbsp;WriteActivity&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(33, 33, 33); font-size: 10pt;&quot;&gt;를 시작하고 그 Activity로부터 결과를 수신 했습니다&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: rgb(33, 33, 33); font-size: 10pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;pre style=&quot;background-color: rgb(43, 43, 43); color: rgb(169, 183, 198); font-family: &amp;quot;Fira Code&amp;quot;; font-size: 10.8pt;&quot;&gt;Data receiveData = (Data) data.getSerializableExtra(&lt;span style=&quot;color: rgb(106, 135, 89);&quot;&gt;&quot;data&quot;&lt;/span&gt;)&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이 코드로 아까 putExtra() 의 키값인 data로 넘겨준 data를 받는다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그리고 dataList.add(receiveData); 로 data를 더해준다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그리고 마지막으로&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;setListView(); 를 이용해세&amp;nbsp;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color: rgb(43, 43, 43); color: rgb(169, 183, 198); font-family: &amp;quot;Fira Code&amp;quot;; font-size: 10.8pt;&quot;&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;private void &lt;/span&gt;&lt;span style=&quot;color: rgb(255, 198, 109);&quot;&gt;setListView&lt;/span&gt;(){&lt;br /&gt;        &lt;span style=&quot;color: rgb(152, 118, 170);&quot;&gt;listAdapter &lt;/span&gt;= &lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;new &lt;/span&gt;ListAdapter(getApplicationContext()&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;, &lt;/span&gt;R.layout.&lt;span style=&quot;color: rgb(152, 118, 170); font-style: italic;&quot;&gt;item_default_data&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170);&quot;&gt;dataList&lt;/span&gt;)&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170);&quot;&gt;listView&lt;/span&gt;.setAdapter(&lt;span style=&quot;color: rgb(152, 118, 170);&quot;&gt;listAdapter&lt;/span&gt;)&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;    &lt;/span&gt;}&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;을 호출해 준다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이렇게 되면 ListView가 띄어지는걸 볼수있다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;여기까지 adapter pattern 을 이용한 CustomListView 사용법 이였다.&lt;/p&gt;&lt;hr&gt;&lt;p style=&quot;text-align: center;&quot;&gt;굳!&lt;br /&gt;&lt;/p&gt;</description>
      <category>Android/Android ( JAVA )</category>
      <category>Adapter</category>
      <category>Android</category>
      <category>CustomListView</category>
      <category>FloatingActionButton</category>
      <category>디자인 패턴</category>
      <category>리스트뷰</category>
      <category>안드로이드</category>
      <category>어뎁터 패턴</category>
      <category>커스텀 리스트</category>
      <author>Bin's.</author>
      <guid isPermaLink="true">https://jbins.tistory.com/8</guid>
      <comments>https://jbins.tistory.com/8#entry8comment</comments>
      <pubDate>Sat, 25 Aug 2018 11:24:07 +0900</pubDate>
    </item>
    <item>
      <title>Android (네번째 수업 - Glide , Ratingbar)</title>
      <link>https://jbins.tistory.com/5</link>
      <description>&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 500px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99E5DB4B5B6BCEF211&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99E5DB4B5B6BCEF211&quot; width=&quot;500&quot; height=&quot;116&quot; filename=&quot;안드로이드 로고.png&quot; filemime=&quot;image/jpeg&quot; style=&quot;&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;hr&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;Android -&amp;nbsp;Glide , Ratingbar&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;1. Glide&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;1. 2014년에 공개된 이미지 로딩 라이브러리이다.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;2. ImageView 에 이미지 로딩때 사용되는 라이브러리이다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;3. 이미지 URL을 로드해서 보여줄수있다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;일단 Glide 도 하나의 라이브러리 이기때문에&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 10pt;&quot;&gt;먼저 다른 라이브러리들 처럼 Gradle 에 dependencies 에 등록해줍니다&lt;/span&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;.&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Fira Code';font-size:10.8pt;&quot;&gt;dependencies { &lt;br /&gt;    implementation &lt;span style=&quot;color:#6a8759;&quot;&gt;'com.github.bumptech.glide:glide:4.7.1'&lt;br /&gt;&lt;/span&gt;}&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;자 이렇게 glide 를 추가해줬으면&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이제 glide 를 어떻게 사용하는지에 대해 알아보도록 하자.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;b&gt;glide를 먼저 사용하기전에&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;load할 사진의&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;이미지주소 를 추가해줘야하는데&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;values폴더에 string.xml 파일안에&lt;/p&gt;&lt;pre style=&quot;background-color: rgb(43, 43, 43); font-family: &amp;quot;Fira Code&amp;quot;; font-size: 10.8pt;&quot;&gt;&lt;p style=&quot;&quot;&gt;&lt;span style=&quot;color: rgb(232, 191, 106);&quot;&gt;&amp;lt;string &lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186);&quot;&gt;name=&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89);&quot;&gt;&quot;url&quot;&lt;/span&gt;&lt;span style=&quot;color: rgb(232, 191, 106);&quot;&gt;&amp;gt;&lt;/span&gt;&lt;font color=&quot;#a9b7c6&quot;&gt;이미지주소 넣어주세요&lt;/font&gt;&lt;span style=&quot;color: rgb(232, 191, 106);&quot;&gt;&amp;lt;/string&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이렇게 load 할 url 을 추가 시켜줘야한다.&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;먼저 xml 코드를 보자&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Fira Code';font-size:10.8pt;&quot;&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xml version=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;1.0&quot; &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;encoding=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;utf-8&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;?&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;android.support.constraint.ConstraintLayout &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;http://schemas.android.com/apk/res/android&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;app&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;http://schemas.android.com/apk/res-auto&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;tools&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;http://schemas.android.com/tools&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;tools&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:context=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;.MainActivity&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;    &amp;lt;ImageView&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:id=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@+id/imageView&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;320dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;200dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_marginBottom=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;8dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_marginEnd=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;8dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_marginStart=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;8dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_marginTop=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;8dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:src=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@android:color/darker_gray&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;app&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_constraintBottom_toBottomOf=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;app&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_constraintEnd_toEndOf=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;app&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_constraintStart_toStartOf=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;app&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_constraintTop_toTopOf=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;app&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_constraintVertical_bias=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;0.0&quot; &lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt; &lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;/android.support.constraint.ConstraintLayout&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;ConstraintLayout 을 사용했습니다.&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;먼저 이미지 를&amp;nbsp;로드할 &amp;lt;ImageView/&amp;gt; 을 만들어줍니다.&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;여기서 새로운점은 background 대신 src 속성을 줬다는겁니다.&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;이제 자바 코드를 봅시다.&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&lt;b&gt;Java code&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Fira Code';font-size:10.8pt;&quot;&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;android.support.v7.app.AppCompatActivity&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;android.os.Bundle&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;android.widget.ImageView&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;import &lt;/span&gt;com.bumptech.glide.Glide&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public class &lt;/span&gt;MainActivity &lt;span style=&quot;color:#cc7832;&quot;&gt;extends &lt;/span&gt;AppCompatActivity {&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;private &lt;/span&gt;ImageView &lt;span style=&quot;color:#9876aa;&quot;&gt;imageView&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    private &lt;/span&gt;String &lt;span style=&quot;color:#9876aa;&quot;&gt;url&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;protected void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;onCreate&lt;/span&gt;(Bundle savedInstanceState) {&lt;br /&gt;        &lt;span style=&quot;color:#cc7832;&quot;&gt;super&lt;/span&gt;.onCreate(savedInstanceState)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;setContentView(R.layout.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;activity_main&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;init()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;loadImage()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;private void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;init&lt;/span&gt;(){&lt;br /&gt;        &lt;span style=&quot;color:#9876aa;&quot;&gt;imageView &lt;/span&gt;= findViewById(R.id.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;imageView&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;url &lt;/span&gt;= getResources().getString(R.string.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;url&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;    &lt;span style=&quot;color:#cc7832;&quot;&gt;private void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;loadImage&lt;/span&gt;(){&lt;br /&gt;        Glide.&lt;span style=&quot;font-style:italic;&quot;&gt;with&lt;/span&gt;(&lt;span style=&quot;color:#cc7832;&quot;&gt;this&lt;/span&gt;).load(&lt;span style=&quot;color:#9876aa;&quot;&gt;url&lt;/span&gt;).into(&lt;span style=&quot;color:#9876aa;&quot;&gt;imageView&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이 코드를 해석해 보자면&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;ImageView 변수랑 url 변수를 만들어 준다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그리고 imageView 의 id 찾아주는 ,&amp;nbsp;그리고 url 을 url 변수안에&amp;nbsp;넣어주는&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;init메서드를 정의하고&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이미지를 imageView에 띄어줄&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;loadImage 메서드를 정의해주는데&lt;/p&gt;&lt;pre style=&quot;background-color: rgb(43, 43, 43); color: rgb(169, 183, 198); font-family: &amp;quot;Fira Code&amp;quot;; font-size: 10.8pt;&quot;&gt;Glide.&lt;span style=&quot;font-style: italic;&quot;&gt;with&lt;/span&gt;(&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;this&lt;/span&gt;).load(&lt;span style=&quot;color: rgb(152, 118, 170);&quot;&gt;url&lt;/span&gt;).into(&lt;span style=&quot;color: rgb(152, 118, 170);&quot;&gt;imageView&lt;/span&gt;)&lt;span style=&quot;color: rgb(204, 120, 50);&quot;&gt;;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이소스를 해석하자면&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이클래스 안에 서 .load(url) 안 에들어가는&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;인자를 로드해오는데요&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;인자에 아까 정의해둔 url 을 불러온뒤&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;.into() 안에 인자는어디로 띄어줄가를 정하는겁니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그럼 결론적으로 아까 정의해둔 url이 이미지뷰에 로드 되는걸 볼수있는&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그런 이미지 로딩 라이브러리가 glide 입니다.&lt;/p&gt;&lt;hr&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 24px;&quot;&gt;&lt;b&gt;2. Ratingbar&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;Ratingbar 는 별점을 줄때 많이 사용하는&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;위젯입니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;먼저 사용법을 알아보자.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;xml 코드&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Fira Code';font-size:10.8pt;&quot;&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xml version=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;1.0&quot; &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;encoding=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;utf-8&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;?&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;android.support.constraint.ConstraintLayout &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;http://schemas.android.com/apk/res/android&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;app&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;http://schemas.android.com/apk/res-auto&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;tools&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;http://schemas.android.com/tools&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;tools&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:context=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;.MainActivity&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;    &amp;lt;RatingBar&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:id=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@+id/ratingBar&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;242dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;wrap_content&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_marginBottom=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;268dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_marginTop=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;8dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:max=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;5&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:rating=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;0&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:stepSize=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;1&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;app&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_constraintBottom_toBottomOf=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;app&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_constraintEnd_toEndOf=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;app&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_constraintStart_toStartOf=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;app&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_constraintTop_toTopOf=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;app&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_constraintVertical_bias=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;1.0&quot; &lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;/android.support.constraint.ConstraintLayout&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;ConstraintLayout를 사용한 xml 코드&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;먼저 구현하는 방법은 간단하다&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;lt;Ratingbar/&amp;gt; 의 xml 특성을 보자면&lt;/p&gt;&lt;pre style=&quot;background-color: rgb(43, 43, 43); color: rgb(169, 183, 198); font-family: &amp;quot;Fira Code&amp;quot;; font-size: 10.8pt;&quot;&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(106, 135, 89);&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170);&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186);&quot;&gt;:max=&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89);&quot;&gt;&quot;5&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89);&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170);&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186);&quot;&gt;:rating=&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89);&quot;&gt;&quot;0&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89);&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: rgb(152, 118, 170);&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color: rgb(186, 186, 186);&quot;&gt;:stepSize=&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 135, 89);&quot;&gt;&quot;1&quot;&lt;/span&gt;&lt;/p&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;max //&amp;nbsp;레이팅의 최고 수치를 뜻합니다 (실제 값)&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;rating //&amp;nbsp;최초 시작지 즉 별의 시작지를 뜻합니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;stepSize // 별의 움직임 단위를 뜻합니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;좀더 알고싶다면&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;a href=&quot;https://developer.android.com/reference/android/widget/RatingBar&quot; target=&quot;_blank&quot; class=&quot;tx-link&quot;&gt;https://developer.android.com/reference/android/widget/RatingBar&lt;/a&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;에서 찾아 볼수 있습니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&lt;b&gt;java 코드&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Fira Code';font-size:10.8pt;&quot;&gt;&lt;p&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;private void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;setListeners&lt;/span&gt;(){&lt;br /&gt;    &lt;span style=&quot;color:#9876aa;&quot;&gt;ratingBar&lt;/span&gt;.setOnRatingBarChangeListener(&lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;RatingBar.OnRatingBarChangeListener() {&lt;br /&gt;        &lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;onRatingChanged&lt;/span&gt;(RatingBar ratingBar&lt;span style=&quot;color:#cc7832;&quot;&gt;, float &lt;/span&gt;rating&lt;span style=&quot;color:#cc7832;&quot;&gt;, boolean &lt;/span&gt;fromUser) {&lt;br /&gt;            Toast.&lt;span style=&quot;font-style:italic;&quot;&gt;makeText&lt;/span&gt;(getApplicationContext()&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;Float.&lt;span style=&quot;font-style:italic;&quot;&gt;toString&lt;/span&gt;(rating)&lt;span style=&quot;color:#cc7832;&quot;&gt;,&lt;/span&gt;Toast.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;LENGTH_SHORT&lt;/span&gt;).show()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;}&lt;br /&gt;    })&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;}&lt;/p&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;이렇게 Ratingbar 사용법에 대해 알아봤다.&lt;/span&gt;&lt;/p&gt;&lt;hr&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;방학이끝나간다 끝나기전에 좀더 열심히 공부하자.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;</description>
      <category>Android/Android ( JAVA )</category>
      <category>Android</category>
      <category>Glide</category>
      <category>ratingbar</category>
      <category>url로딩라이브러리</category>
      <category>별점</category>
      <category>안드로이드</category>
      <author>Bin's.</author>
      <guid isPermaLink="true">https://jbins.tistory.com/5</guid>
      <comments>https://jbins.tistory.com/5#entry5comment</comments>
      <pubDate>Tue, 14 Aug 2018 04:33:39 +0900</pubDate>
    </item>
    <item>
      <title>Android (세번째 수업 -  안드로이드 Design Support Library( Snackbar, AlertDialog ))</title>
      <link>https://jbins.tistory.com/4</link>
      <description>&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 500px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9968CE355B6995ED09&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9968CE355B6995ED09&quot; width=&quot;500&quot; height=&quot;116&quot; filename=&quot;안드로이드 로고.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;hr&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;Android -&amp;nbsp;Design Support Library&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;안드로이드 디자인 서포트 라이브러리&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;구글은 지난 Google I/O 2015 에서 머티리얼 디자인을 더욱&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;쉽게 적용할수 있는 'Android Design Support Library' 를 공개했습니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이번에 살펴볼 안드로이드 디자인 서포트 라이브러리 를 살펴보기전에&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;먼저 다른 라이브러리들 처럼 Gradle 에 dependencies 에 등록해줍니다&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Fira Code';font-size:10.8pt;&quot;&gt;dependencies {&lt;br /&gt;    implementation fileTree(&lt;span style=&quot;color:#6a8759;&quot;&gt;dir&lt;/span&gt;: &lt;span style=&quot;color:#6a8759;&quot;&gt;'libs'&lt;/span&gt;, &lt;span style=&quot;color:#6a8759;&quot;&gt;include&lt;/span&gt;: [&lt;span style=&quot;color:#6a8759;&quot;&gt;'*.jar'&lt;/span&gt;])&lt;br /&gt;    implementation &lt;span style=&quot;color:#6a8759;&quot;&gt;'com.android.support:appcompat-v7:27.1.1'&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;implementation &lt;span style=&quot;color:#6a8759;&quot;&gt;'com.android.support.constraint:constraint-layout:1.1.2'&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;testImplementation &lt;span style=&quot;color:#6a8759;&quot;&gt;'junit:junit:4.12'&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;androidTestImplementation &lt;span style=&quot;color:#6a8759;&quot;&gt;'com.android.support.test:runner:1.0.2'&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;androidTestImplementation &lt;span style=&quot;color:#6a8759;&quot;&gt;'com.android.support.test.espresso:espresso-core:3.0.2'&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;implementation &lt;span style=&quot;color:#6a8759;&quot;&gt;'com.android.support:design:27.1.1'&lt;br /&gt;&lt;/span&gt;}&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;소스를 보면 마지막줄처럼&amp;nbsp;&lt;/p&gt;&lt;pre style=&quot;background-color: rgb(43, 43, 43); color: rgb(169, 183, 198); font-family: &amp;quot;Fira Code&amp;quot;; font-size: 10.8pt;&quot;&gt;&lt;span style=&quot;color: rgb(106, 135, 89);&quot;&gt; &lt;/span&gt;implementation &lt;span style=&quot;color: rgb(106, 135, 89);&quot;&gt;'com.android.support:design:27.1.1'&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이소스를 추가 해주셔야합니다 버전은 위에 appcompat 버전 이랑 동일하게 해주세요.&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;1. Snackb&lt;/span&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;ar&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;Snackbar 는 Toast 랑 비슷하다.&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;Snackbar는 하단에 메세지를 출력해준니다&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;동작과 사용방법은 Toast랑 비슷하다 하지만 메세지와 함께 액션(Action) 을&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;포함한다는 점에 달라집니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그럼 사용법에 대해 알아보도록하자.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Fira Code';font-size:10.8pt;&quot;&gt;Snackbar.&lt;span style=&quot;font-style:italic;&quot;&gt;make&lt;/span&gt;(&lt;span style=&quot;color:#9876aa;&quot;&gt;view&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;font-family:'굴림체';&quot;&gt;스낵바 테스트&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;Snackbar.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;LENGTH_SHORT&lt;/span&gt;).show()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;Toast 메시지와 비슷한점을 알수있다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;Snackbar는 3가지 인자를 받는데&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;첫번째 인자는 view , 두번째 인자는 Snackbar 에 띄어줄 문구를 적어준다&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;세번째 인자는 지속시간이다. (LENGTH_SHORT 는 약 2초이다&amp;nbsp;짧게 띄어줄때 사용.)&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그리고 항상 뒤에 .show(); 메소드로 실행시켜주자 까먹지말자.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이코드로만은 아직 아쉬운점이있다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;왜냐하면 이렇게 그냥 띄어주기만하면 Toast랑 다른점은 그냥 하단에&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;Snackbar형식으로 띄어주는것 차이이다&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이제 우리가 살펴볼건 Snackbar에 액션(Action) 을 추가해줄것이다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Fira Code';font-size:10.8pt;&quot;&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;button&lt;/span&gt;.setOnClickListener(&lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;View.OnClickListener() {&lt;br /&gt;        &lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;onClick&lt;/span&gt;(View v) {&lt;br /&gt;            Snackbar.&lt;span style=&quot;font-style:italic;&quot;&gt;make&lt;/span&gt;(&lt;span style=&quot;color:#9876aa;&quot;&gt;view&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;font-family:'굴림체';&quot;&gt;스낵바 테스트&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, &lt;/span&gt;Snackbar.&lt;span style=&quot;color:#9876aa;font-style:italic;&quot;&gt;LENGTH_SHORT&lt;/span&gt;)&lt;br /&gt;                    .setAction(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;font-family:'굴림체';&quot;&gt;확인&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, new &lt;/span&gt;View.OnClickListener() {&lt;br /&gt;                        &lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;                        &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;onClick&lt;/span&gt;(View v) {&lt;br /&gt;                            &lt;span style=&quot;color:#9876aa;&quot;&gt;textView&lt;/span&gt;.setText(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;font-family:'굴림체';&quot;&gt;스낵바 내용  확인됨&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;                        &lt;/span&gt;}&lt;br /&gt;                    }).show()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;}&lt;br /&gt;    })&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;}&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;소스 코드를 해석해보자면&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;Snackbar에 인자를 주고&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;.setAction() 메서드를 사용해 액션(Action) 을 추가해줬다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;.setAction() 안에는&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;액션에 표시할 텍스트와 View.OnClickListener()&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;두개의 인자를 받습니다&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;사용자가 액션을 클릭했을때&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;수행할 코드는 onClick 이벤트에 정의합니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;소스를 보면 textView.setText(&quot;스낵바 내용 확인됨&quot;);&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;액션을 클릭했을때 텍스트로 &quot;스낵바 내용 확인됨&quot;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이라고 textView가 뜹니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이런식으로 Snackbar 의사용법을 알아봤습니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;hr&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 18pt;&quot;&gt;&lt;b&gt;2.AlertDialog&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;AlertDialog은 알림상자라고 볼수있다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;먼저 AlertDialog 도 Snackbar 처럼 Gradle 에 dependencies 에 등록해줍니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;AlertDialog을 설명하자면&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 51); font-family: roboto, sans-serif; font-size: 10pt; text-align: left;&quot;&gt;제목 하나, 최대 세 개의 버튼, 선택 가능한 품목 목록 또는 사용자 지정 레이아웃을 표시할 수 있는 대화상자입니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;먼저 xml 코드를 보면&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;xml code&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Fira Code';font-size:10.8pt;&quot;&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xml version=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;1.0&quot; &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;encoding=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;utf-8&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;?&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;LinearLayout &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;http://schemas.android.com/apk/res/android&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;app&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;http://schemas.android.com/apk/res-auto&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;xmlns:&lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;tools&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;http://schemas.android.com/tools&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:orientation=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;vertical&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:weightSum=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;360&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;tools&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:context=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;.MainActivity&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;    &amp;lt;Space&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;0dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_weight=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;150&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;    &amp;lt;TextView&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:id=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@+id/textView&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;match_parent&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;0dp&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_weight=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;50&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:textAppearance=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@style/Base.TextAppearance.AppCompat.Large&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:text=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;tools&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:gravity=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;center&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;    &amp;lt;Button&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:id=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;@+id/button&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_width=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;wrap_content&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_height=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;wrap_content&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:layout_gravity=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;center&quot;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#9876aa;&quot;&gt;android&lt;/span&gt;&lt;span style=&quot;color:#bababa;&quot;&gt;:text=&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;Press Me&quot;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#e8bf6a;&quot;&gt;&amp;lt;/LinearLayout&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;Snackbar 도 같은 xml 코드&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;xml 코드를 간단하게 설명하자면&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;lt;Space/&amp;gt; 로 공백을 줬고&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;lt;TextView/&amp;gt; 은 그전에 Snackbar의 액션을 눌렀을때 &amp;lt;TextView/&amp;gt;가&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;바뀌는걸 볼수있다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그리고 &amp;lt;Button/&amp;gt; 을 하나 만들어 줬다.&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;b&gt;이제 AlertDialog 의 사용법에 대해 알아보자.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Fira Code';font-size:10.8pt;&quot;&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;private void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;setDialog&lt;/span&gt;(){&lt;br /&gt;    AlertDialog.Builder builder = &lt;span style=&quot;color:#cc7832;&quot;&gt;new &lt;/span&gt;AlertDialog.Builder(MainActivity.&lt;span style=&quot;color:#cc7832;&quot;&gt;this&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;builder.setTitle(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;font-family:'굴림체';&quot;&gt;알림&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;builder.setMessage(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;font-family:'굴림체';&quot;&gt;정말로 종료하시겠습니까&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;?&quot;&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;builder.setPositiveButton(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;font-family:'굴림체';&quot;&gt;확인&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, new &lt;/span&gt;DialogInterface.OnClickListener() {&lt;br /&gt;        &lt;span style=&quot;color:#bbb529;&quot;&gt;@Override&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#bbb529;&quot;&gt;        &lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;onClick&lt;/span&gt;(DialogInterface dialog&lt;span style=&quot;color:#cc7832;&quot;&gt;, int &lt;/span&gt;which) {&lt;br /&gt;            finishAffinity()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;        &lt;/span&gt;}&lt;br /&gt;    })&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;builder.setNegativeButton(&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#6a8759;font-family:'굴림체';&quot;&gt;취소&lt;/span&gt;&lt;span style=&quot;color:#6a8759;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;, null&lt;/span&gt;)&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;AlertDialog alertDialog = builder.create()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;    &lt;/span&gt;alertDialog.show()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;}&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;먼저 AlertDialog.Builder 클래스를 이용해 객체를 만들어준다음에&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;.setTitle() 의 인자로 타이틀 텍스트를 입력해주고&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;.setMessage() 의 인자로는 메세지 텍스트를 입력해준다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;여기서 살펴볼건 .setPositiveButton() 이다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;먼저 살펴보자면 &quot;확인&quot; 을 눌르면 onClick 이벤트의 finishAffinity(); 를 호출하게된다&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;finishAffinity(); 메서드를 설명하자면 어느 Activity 등&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;모든 부모 Activity를 닫을수 있다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그러므로 &quot;확인&quot; 을누르게 되면 앱이 종료 된다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그리고 &quot;취소 를&quot; 누르게 되면&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;알림창 객체를 생성하고 알림창을 띄우는데&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;내용은 null이다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이런식으로 AlertDialog 의사용법에 대해 알아봤습니다&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;여기서 응용으로&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre style=&quot;background-color:#2b2b2b;color:#a9b7c6;font-family:'Fira Code';font-size:10.8pt;&quot;&gt;&lt;span style=&quot;color:#cc7832;&quot;&gt;public void &lt;/span&gt;&lt;span style=&quot;color:#ffc66d;&quot;&gt;onBackPressed&lt;/span&gt;(){&lt;br /&gt;    setDialog()&lt;span style=&quot;color:#cc7832;&quot;&gt;;&lt;br /&gt;&lt;/span&gt;}&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이런식으로&amp;nbsp;&lt;span style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;onBackPressed() 는 뒤로가기 버튼을 눌렀을 경우 처리하는 함수이다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;뒤로가기 버튼을 이용해&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;AlertDialog 를 호출할수도 있다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;p&gt;&lt;hr&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;앞으로 열심히 해야겠다.&lt;br /&gt;&lt;/p&gt;</description>
      <category>Android/Android ( JAVA )</category>
      <category>AlertDialog</category>
      <category>Android</category>
      <category>Android Design Support Library</category>
      <category>Snackbar</category>
      <category>다일로그</category>
      <category>스낵바</category>
      <category>안드로이드</category>
      <author>Bin's.</author>
      <guid isPermaLink="true">https://jbins.tistory.com/4</guid>
      <comments>https://jbins.tistory.com/4#entry4comment</comments>
      <pubDate>Thu, 9 Aug 2018 10:47:52 +0900</pubDate>
    </item>
    <item>
      <title>Android (두번째 수업 - 안드로이드 인텐트 / 인텐트 콜백(Intent Callback))</title>
      <link>https://jbins.tistory.com/3</link>
      <description>&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 500px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/9962ED4B5B59571D27&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F9962ED4B5B59571D27&quot; width=&quot;500&quot; height=&quot;116&quot; filename=&quot;안드로이드 로고.png&quot; filemime=&quot;image/jpeg&quot;/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;hr&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;; font-size: 11pt;&quot;&gt;&amp;nbsp;Android - Intent
Callback&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;; font-size: 24pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;; font-size: 24pt;&quot;&gt;what is Intent?&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;; font-size: 24pt;&quot;&gt;인텐트는 뭘까?&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;; font-size: 24pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;; font-size: 12pt;&quot;&gt;먼저 Intent 를 알기전에&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;; font-size: 12pt;&quot;&gt;안드로이드 어플리케이션 구성하는 요소(컴포넌트)들을 알아보자.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;; font-size: 12pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;font face=&quot;맑은 고딕&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;1. Activity&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;font face=&quot;맑은 고딕&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;2. Service&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;font face=&quot;맑은 고딕&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;3. Broadcast Receiver&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;font face=&quot;맑은 고딕&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;4. Content Provider&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;font face=&quot;맑은 고딕&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;box-sizing: inherit; font-weight: 700; color: rgb(122, 124, 132); font-family: Lato, sans-serif; font-size: 20px; text-align: start;&quot;&gt;인텐트(Intent)&lt;/span&gt;&lt;span style=&quot;color: rgb(122, 124, 132); font-family: Lato, sans-serif; font-size: 20px; text-align: start;&quot;&gt;란 이러한 어플리케이션 구성요소(컴포넌트) 간에&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: rgb(122, 124, 132); font-family: Lato, sans-serif; font-size: 20px; text-align: start;&quot;&gt;작업 수행을 위한 정보를 전달하는 역할을 한다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;우리는 보통 인텐트를 사용할땐 호출과 메시지 전달에 사용하는데&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;이번엔 Activity 간의 화면 전환 과 더불어&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoListParagraph&quot; style=&quot;margin-left: 2.2em; text-indent: -18pt; text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt; line-height: 107%;&quot;&gt;Intent
Callback (data 주고받기&lt;/span&gt;&lt;span style=&quot;font-size:11.0pt;;
line-height:107%&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;)&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; text-indent: -18pt;&quot;&gt;를 해봤다.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoListParagraph&quot; style=&quot;margin-left: 2.2em; text-indent: -18pt; text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt; text-indent: -18pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;p class=&quot;MsoListParagraph&quot; style=&quot;text-indent: -18pt; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;MsoListParagraph&quot; style=&quot;margin-left: 2.2em; text-indent: -18pt; text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;먼저 activity_main 의 UI와 code 를 보자.&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoListParagraph&quot; style=&quot;margin-left: 2.2em; text-indent: -18pt; text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoListParagraph&quot; style=&quot;margin-left: 2.2em; text-indent: -18pt; text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 731px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/991CBF495B5B1E1F14&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F991CBF495B5B1E1F14&quot; width=&quot;731&quot; height=&quot;604&quot; filename=&quot;인탠드.PNG&quot; filemime=&quot;image/jpeg&quot; original=&quot;yes&quot;/&gt;&lt;span class=&quot;cap1&quot; style=&quot;display: block; max-width:100%; &quot;&gt;ui&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoListParagraph&quot; style=&quot;margin-left: 2.2em; text-indent: -18pt; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class=&quot;MsoListParagraph&quot; style=&quot;margin-left: 2.2em; text-indent: -18pt; text-align: center;&quot;&gt;editText 에 입력할 내용을 입력하고 이동버튼을 눌르게되면&amp;nbsp;&lt;/p&gt;&lt;p class=&quot;MsoListParagraph&quot; style=&quot;margin-left: 2.2em; text-indent: -18pt; text-align: center;&quot;&gt;다음화면에 입력한값이출력된다.&lt;/p&gt;&lt;h1 style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 14pt;&quot;&gt;xml code&lt;/span&gt;&lt;br /&gt;&lt;/h1&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;
&amp;lt;LinearLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
    xmlns:app=&quot;http://schemas.android.com/apk/res-auto&quot;
    xmlns:tools=&quot;http://schemas.android.com/tools&quot;
    android:layout_width=&quot;match_parent&quot;
    android:layout_height=&quot;match_parent&quot;
    android:weightSum=&quot;360&quot;
    android:orientation=&quot;vertical&quot;
    android:background=&quot;@android:color/white&quot;
    tools:context=&quot;.MainActivity&quot;&amp;gt;

    &amp;lt;Space
        android:layout_width=&quot;match_parent&quot;
        android:layout_height=&quot;0dp&quot;
        android:layout_weight=&quot;150&quot;
        /&amp;gt;
    &amp;lt;TextView
        android:id=&quot;@+id/resultText&quot;
        android:layout_width=&quot;match_parent&quot;
        android:layout_height=&quot;0dp&quot;
        android:layout_weight=&quot;30&quot;
        android:text=&quot;asdf&quot;
        android:textColor=&quot;@color/colorAccent&quot;
        android:textAppearance=&quot;@style/Base.TextAppearance.AppCompat.Large&quot;
        android:gravity=&quot;center&quot;
        android:layout_gravity=&quot;center_horizontal&quot;
        android:visibility=&quot;gone&quot;/&amp;gt;
    &amp;lt;EditText
        android:id=&quot;@+id/editText&quot;
        android:layout_width=&quot;match_parent&quot;
        android:layout_height=&quot;0dp&quot;
        android:layout_weight=&quot;50&quot;
        android:layout_marginLeft=&quot;20dp&quot;
        android:layout_marginRight=&quot;20dp&quot;
        android:hint=&quot;전송할 값을 입력하세요&quot;
        android:textColorHint=&quot;@android:color/white&quot;
        android:textSize=&quot;20dp&quot;
        android:layout_gravity=&quot;center_vertical|center_horizontal&quot;/&amp;gt;
    &amp;lt;Button
        android:id=&quot;@+id/moveButton&quot;
        android:layout_width=&quot;match_parent&quot;
        android:layout_height=&quot;0dp&quot;
        android:layout_marginLeft=&quot;30dp&quot;
        android:layout_marginRight=&quot;30dp&quot;
        android:layout_marginTop=&quot;100dp&quot;
        android:background=&quot;@color/colorPrimaryDark&quot;
        android:textColor=&quot;@android:color/white&quot;
        android:text=&quot;이동&quot;
        android:textSize=&quot;15dp&quot;
        android:elevation=&quot;20dp&quot;
        android:layout_weight=&quot;40&quot;/&amp;gt;

&amp;lt;/LinearLayout&amp;gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;먼저 LinearLayout 을 사용했고&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Ubuntu Condensed&amp;quot;, &amp;quot;Noto Sans Korean&amp;quot;; font-size: 15px;&quot;&gt;&lt;span style=&quot;box-sizing: border-box; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 12pt; text-align: start;&quot;&gt;선형&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt; text-align: start;&quot;&gt;레이아웃으로 orientation을 vertical로 설정&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Ubuntu Condensed&amp;quot;, &amp;quot;Noto Sans Korean&amp;quot;; font-size: 12pt;&quot;&gt;그래서 수직으로 뷰가 구성된다.&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;그리고 wei&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;ghtSum 에 &quot;360&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&amp;nbsp;을 줬다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&amp;lt;space&amp;gt; 로 공백을 &quot;360&quot;중의 &quot;150&quot; 만큼 준다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&amp;lt;Textview&amp;gt; 를 하나만들어준다&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;먼저 이 Textview는&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;나중에 activity_second 에서 가져온 data를&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;보여주는 Textview &lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;라고 보면된다.&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&quot;360&quot;의 &quot;30&quot; 을 줬다.&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;그리고&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: rgb(238, 238, 238);&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;android:layout_gravity=&quot;center_horizontal&quot;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-size: 12pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: rgb(228, 247, 186); color: rgb(138, 138, 138); font-family: 돋움, Dotum, AppleGothic, sans-serif; font-size: 10pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); font-size: 12pt;&quot;&gt;가로 중&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 12pt; background-color: rgb(255, 255, 255);&quot;&gt;앙&lt;/span&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-size: 12pt; background-color: rgb(255, 255, 255);&quot;&gt;에 위치.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;그리고 &amp;lt;EditText&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&amp;gt; &quot;360&quot; 중 &quot;50&quot;&amp;nbsp; 만큼 줌.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;그리고 이 EditText 은 전송할 값을 입력하는 EditText 이다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;background-color: rgb(238, 238, 238); font-size: 12pt;&quot;&gt;android:hint=&quot;전송할 값을 입력하세요&quot;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;이렇게 hint를 사용하게 되면 글자를 입력하기전까진 보이지만 입력하면 보이지않는그러한 속성이다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;그리고&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;activity_second 으로 넘어가기위해 이동&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&amp;lt;Button&amp;gt; 하나를 만들어줬다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;자 이제 xml 코드 설명은 끝났다 이제 실질적 동작을하게 해주는 자바 소스를 보도록 하자.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size:14pt;&quot;&gt;&lt;b&gt;Java code&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre&gt;&lt;code&gt;import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    private TextView resultText;
    private EditText editText;
    private Button moveButton;

    private  static final int REQUEST_CODE = 3000;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        init();
        setListeners();

    }

    private void init(){

        resultText = findViewById(R.id.resultText);
        editText = findViewById(R.id.editText);
        moveButton = findViewById(R.id.moveButton);

    }

    private void setListeners(){
        moveButton.setOnClickListener(v -&amp;gt;{
            Intent intent = new Intent(this, SecondActivity.class);
            intent.putExtra(&quot;value&quot;, editText.getText().toString());
            startActivityForResult(intent, REQUEST_CODE);
        });
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if(requestCode == REQUEST_CODE &amp;amp;&amp;amp; resultCode == RESULT_OK){
                String value2 = data.getStringExtra(&quot;value2&quot;);
            resultText.setVisibility(View.VISIBLE);
            resultText.setText(value2);
        }
    }
}&lt;/code&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;자여기선&amp;nbsp;&lt;b&gt;Lambda Expression Code&lt;/b&gt; 가 이용된 코드이다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;먼저 &lt;/span&gt;&lt;b style=&quot;font-family: &amp;quot;Ubuntu Condensed&amp;quot;, &amp;quot;Noto Sans Korean&amp;quot;; font-size: 15px;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;각각 버튼의 아이디를 찾아줄 private init 메소드를 정의해준다.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;font face=&quot;Ubuntu Condensed, Noto Sans Korean&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;그리고 setListeners 메소드는&amp;nbsp;Lambda Expression Code 이다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;font face=&quot;Ubuntu Condensed, Noto Sans Korean&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;moveButton.&lt;/span&gt;&lt;/font&gt;&lt;span style=&quot;background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);&quot;&gt;setOnClickListener (v&amp;nbsp;-&amp;gt;{ 실제 동작할 코드 })&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;font face=&quot;Ubuntu Condensed, Noto Sans Korean&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;이렇게 식별자없이 실행 가능한 함수표현식이다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;font face=&quot;Ubuntu Condensed, Noto Sans Korean&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;실제 동작할 코드는 인텐트로 화면을 SecondActivity로 넘기는데&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;font face=&quot;Ubuntu Condensed, Noto Sans Korean&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;putExtra() 를 사용하여 data를 넘겨준다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;font face=&quot;Ubuntu Condensed, Noto Sans Korean&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;font face=&quot;Ubuntu Condensed, Noto Sans Korean&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;&lt;b&gt;putExtra() = data를 전송할때 사용한다&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;font face=&quot;Ubuntu Condensed, Noto Sans Korean&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;putExtra()는&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;span style=&quot;color: rgba(0, 0, 0, 0.84); font-family: medium-content-serif-font, Georgia, Cambria, &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; letter-spacing: -0.063px;&quot;&gt;putExtra(key, value)&lt;/span&gt;&lt;span style=&quot;color: rgba(0, 0, 0, 0.84); font-family: medium-content-serif-font, Georgia, Cambria, &amp;quot;Times New Roman&amp;quot;, Times, serif; font-size: 10pt; letter-spacing: -0.063px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;b&gt;이런형식으로 사용된다.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그리고 Activity를 수신하기위해서&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://developer.android.com/reference/android/app/Activity.html?hl=ko#startActivityForResult(android.content.Intent,%20int)&quot; style=&quot;box-sizing: inherit; color: rgb(3, 155, 229); outline: 0px; font-family: &amp;quot;Roboto Mono&amp;quot;, monospace; font-size: 14.4px; text-align: start;&quot;&gt;startActivityForResult()&lt;/a&gt;&amp;nbsp;를호출합니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre&gt;&lt;code&gt;private  static final int REQUEST_CODE = 3000;&lt;/code&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;라는 코드를 써준이유는&amp;nbsp;&lt;a href=&quot;https://developer.android.com/reference/android/app/Activity.html?hl=ko#startActivityForResult(android.content.Intent,%20int)&quot; style=&quot;color: rgb(3, 155, 229); box-sizing: inherit; outline: 0px; font-family: &amp;quot;Roboto Mono&amp;quot;, monospace; font-size: 14.4px;&quot;&gt;startActivityForResult()&lt;/a&gt;&amp;nbsp;를호출를 하기위해서&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;정수 인자를 호출해야하기때문입니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그래서 REQUEST_CODE 에 정수 인자를 준 코드입니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;그리고 밑에 @Override 된코드를 보면&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: rgb(33, 33, 33); font-family: Roboto, sans-serif; font-size: 16px; text-align: start;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;뒤에 Second_Activity의&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&amp;nbsp;작업을 마치고 돌아오면, MainActivity &lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;의&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;code style=&quot;box-sizing: inherit; background: rgb(247, 247, 247); color: rgb(55, 71, 79); font-variant-numeric: normal; font-variant-east-asian: normal; font-stretch: normal; font-size: 14.4px; line-height: 1; font-family: &amp;quot;Roboto Mono&amp;quot;, monospace; padding: 1px 4px; word-break: break-word; text-align: start;&quot;&gt;&lt;a href=&quot;https://developer.android.com/reference/android/app/Activity.html?hl=ko#onActivityResult(int,%20int,%20android.content.Intent)&quot; style=&quot;box-sizing: inherit; color: rgb(3, 155, 229); outline: 0px;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;onActivityResult()&lt;/span&gt;&lt;/a&gt;&lt;/code&gt;&lt;span style=&quot;color: rgb(33, 33, 33); font-family: Roboto, sans-serif; font-size: 10pt; text-align: start;&quot;&gt;를 호출합니다.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&lt;font color=&quot;#212121&quot; face=&quot;Roboto, sans-serif&quot;&gt;&lt;span style=&quot;font-size:10pt;&quot;&gt;이 method&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;는 &lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;세 가지 인수를 포함한다&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;.&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;text-align: start;&quot;&gt;&lt;font color=&quot;#212121&quot; face=&quot;Roboto, sans-serif&quot;&gt;&lt;span style=&quot;font-size:10pt;&quot;&gt;이코드는&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;color: rgb(33, 33, 33); font-family: Roboto, sans-serif; font-size: 10pt;&quot;&gt;인텐트에 대한 결과를 처리하는 방법&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: rgb(33, 33, 33); font-family: Roboto, sans-serif; font-size: 10pt;&quot;&gt;이라고 볼수있다.&lt;/span&gt;&lt;/p&gt;&lt;pre&gt;&lt;code&gt;if(requestCode == REQUEST_CODE &amp;amp;&amp;amp; requestCode == REQUEST_CODE){
                String value2 = data.getStringExtra(&quot;value2&quot;);&lt;/code&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: rgb(33, 33, 33); font-family: Roboto, sans-serif; font-size: 10pt;&quot;&gt;이 코드를 보게되면&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;font color=&quot;#212121&quot; face=&quot;Roboto, sans-serif&quot;&gt;&lt;span style=&quot;font-size: 13.3333px;&quot;&gt;그리고 이코드는 value2 의 data를 받아와서 String 형태로 담는다.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;pre&gt;&lt;code&gt;resultText.setVisibility(View.VISIBLE);
 resultText.setText(value2);&lt;/code&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;value2의 내용을 보여주는 코드로 볼수있다.&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;setVisibility(View.VISIBLE)는&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 19px; text-align: start;&quot;&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;View를 숨기고, 감추고, 보여지게&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;해주는 코드이다&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; text-align: start; font-size: 10pt;&quot;&gt;view.setVisibility(View.VISIBLE);&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px; text-align: start; color: rgb(34, 116, 28);&quot;&gt;&lt;span style=&quot;font-size: 10pt; color: rgb(0, 0, 0);&quot;&gt;// View를 보여 준다.&lt;/span&gt;&lt;/span&gt;&lt;br style=&quot;color: rgb(102, 102, 102); font-family: &amp;quot;Noto Sans&amp;quot;, sans-serif; font-size: 14px; text-align: start;&quot;&gt;라고 이해하면 될것같다.&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;b&gt;이제 두번째 화면의 UI를 보자&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center; clear: none; float: none;&quot;&gt;&lt;span class=&quot;imageblock&quot; style=&quot;display: inline-block; width: 731px;  height: auto; max-width: 100%;&quot;&gt;&lt;img src=&quot;https://t1.daumcdn.net/cfile/tistory/99E8363C5B623A9819&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Ft1.daumcdn.net%2Fcfile%2Ftistory%2F99E8363C5B623A9819&quot; width=&quot;731&quot; height=&quot;599&quot; filename=&quot;캡처.PNG&quot; filemime=&quot;image/jpeg&quot; original=&quot;yes&quot;/&gt;&lt;span class=&quot;cap1&quot; style=&quot;display: block; max-width:100%; &quot;&gt;SecondActivity UI&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;첫번째 화면에서 입력한 값이 출력되있는걸 볼수있는 화면이다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그리고 여기서 또 editText1에 또 내용을 입력한뒤 이동을&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;눌르게되면 첫번째 화면에 TextView에 두번째 화면에서&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;입력된 값이 출력되는 걸 볼수있다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;b&gt;자이제  xml 코드를 보자.&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;
&amp;lt;LinearLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
    xmlns:app=&quot;http://schemas.android.com/apk/res-auto&quot;
    xmlns:tools=&quot;http://schemas.android.com/tools&quot;
    android:layout_width=&quot;match_parent&quot;
    android:layout_height=&quot;match_parent&quot;
    android:weightSum=&quot;360&quot;
    android:orientation=&quot;vertical&quot;
    android:background=&quot;@android:color/white&quot;
    tools:context=&quot;.SecondActivity&quot;
    &amp;gt;
    &amp;lt;Space
        android:layout_width=&quot;match_parent&quot;
        android:layout_height=&quot;0dp&quot;
        android:layout_weight=&quot;150&quot;
        /&amp;gt;
    &amp;lt;TextView
        android:id=&quot;@+id/resultText1&quot;
        android:layout_width=&quot;match_parent&quot;
        android:layout_height=&quot;0dp&quot;
        android:layout_weight=&quot;30&quot;
        android:text=&quot;asdf&quot;
        android:textColor=&quot;@color/colorAccent&quot;
        android:textAppearance=&quot;@style/Base.TextAppearance.AppCompat.Large&quot;
        android:gravity=&quot;center&quot;
        android:layout_gravity=&quot;center_horizontal&quot;
        android:visibility=&quot;visible&quot;/&amp;gt;
    &amp;lt;EditText
        android:id=&quot;@+id/editText1&quot;
        android:layout_width=&quot;match_parent&quot;
        android:layout_height=&quot;0dp&quot;
        android:layout_weight=&quot;50&quot;
        android:layout_marginLeft=&quot;20dp&quot;
        android:layout_marginRight=&quot;20dp&quot;
        android:hint=&quot;전송할 값을 입력하세요&quot;
        android:textColorHint=&quot;@android:color/white&quot;
        android:textSize=&quot;20dp&quot;
        android:layout_gravity=&quot;center_vertical|center_horizontal&quot;/&amp;gt;
    &amp;lt;Button
        android:id=&quot;@+id/finishButton&quot;
        android:layout_width=&quot;match_parent&quot;
        android:layout_height=&quot;0dp&quot;
        android:layout_marginLeft=&quot;30dp&quot;
        android:layout_marginRight=&quot;30dp&quot;
        android:layout_marginTop=&quot;100dp&quot;
        android:background=&quot;@color/colorPrimaryDark&quot;
        android:textColor=&quot;@android:color/white&quot;
        android:onClick=&quot;moveButton1&quot;
        android:text=&quot;이동&quot;
        android:textSize=&quot;15dp&quot;
        android:elevation=&quot;20dp&quot;
        android:layout_weight=&quot;40&quot;/&amp;gt;
&amp;lt;/LinearLayout&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이 xml 코드는 첫번째 xml 코드와 같은코드이다&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;하지만 각 위젯의 id 값은 다르게줬다.&lt;/p&gt;&lt;hr class=&quot;tx-hr-border-3&quot; style=&quot;display:block; border: black 0 none; border-top: black 1px dotted; height: 1px&quot;&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;b&gt;Java code 를보자&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 12pt;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class SecondActivity extends AppCompatActivity {
    private TextView resultText1;
    private EditText editText1;
    private Button finishButton;
    private String value;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);

        init();
        setListeners();

    }
    private void init(){
        resultText1 = findViewById(R.id.resultText1);
        editText1 = findViewById(R.id.editText1);
        finishButton = findViewById(R.id.finishButton);
        value = getIntent().getStringExtra(&quot;value&quot;);
        resultText1.setText(value);
    }

    private void setListeners(){
        finishButton.setOnClickListener(v -&amp;gt;{
            Intent intent = new Intent();
            intent.putExtra(&quot;value2&quot;, editText1.getText().toString());
            setResult(RESULT_OK, intent);
            finish();
        });
    }
}&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;onCreate() 코드를 보면&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;init() 와 setListeners() 를 호출하는데&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;init()를 보면&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;각 위젯의 id를 찾는 코드가 보이고&lt;/p&gt;&lt;pre&gt;&lt;code&gt;value = getIntent().getStringExtra(&quot;value&quot;);
 resultText1.setText(value);&lt;/code&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: center;&quot;&gt;첫번째 화면에서 입력한 data를&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;getStringExtra()를 이용해&lt;span style=&quot;font-size: 10pt; font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgba(0, 0, 0, 0.84); font-family: &amp;quot;맑은 고딕&amp;quot;, sans-serif; font-size: 10pt; letter-spacing: -0.063px;&quot;&gt;getStringExtra(key) 방식을&amp;nbsp;통해서 string을 받을수 있습니다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그리고 받아온 data를&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;resultText1에 출력해줍니다&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이 소스를 보면 두번째 화면에 첫번째 화면에 입력했던 값을 출력해주는&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;코드라는걸 알수있습니다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그리고 setListeners()를 보면&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;이번에도 람다식(&lt;b style=&quot;font-size: 13.3333px;&quot;&gt;Lambda Expression Code)&lt;/b&gt;이 적용되었다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;여기선 value2의 data를 입력해주는 코드이다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;위에 첫번째 자바코드에서 value2의 data를 받아오는 코드가있을것이다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;그리고 두번째 화면에서 data 입력한뒤&amp;nbsp;finshButton을&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;누르게 되면 첫번째 화면으로 이동하게 되면서 입력한 data를&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;출력해주는 앱이다.&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이앱은 Intent Callback 의 예제라고 볼수있다.&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;hr&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;이번 수업에선 이해를 하려고 노력을 했다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;처음보는 방식의 코드도 있었고&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;새로운 지식도 많이 얻은 수업이었던것 같다.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;b style=&quot;font-size: 11pt;&quot;&gt;좀 더 열심히 해야겠다.&lt;/b&gt;&lt;/p&gt;</description>
      <category>Android/Android ( JAVA )</category>
      <category>Android</category>
      <category>IntentCallBack</category>
      <category>안드로이드</category>
      <category>안드로이드 수업</category>
      <category>인텐트</category>
      <category>인텐트 콜백</category>
      <author>Bin's.</author>
      <guid isPermaLink="true">https://jbins.tistory.com/3</guid>
      <comments>https://jbins.tistory.com/3#entry3comment</comments>
      <pubDate>Fri, 27 Jul 2018 00:59:20 +0900</pubDate>
    </item>
  </channel>
</rss>