<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>코드에서 살아남기</title>
    <link>https://pocacola912.tistory.com/</link>
    <description>pocacola912 님의 블로그 입니다.</description>
    <language>ko</language>
    <pubDate>Tue, 2 Jun 2026 06:16:26 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>pocacola912</managingEditor>
    <item>
      <title>6주차 객체 지향 프로그래밍 체험</title>
      <link>https://pocacola912.tistory.com/5</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;+들어가며&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;이번에 해본것은 과목 이름이기도 한 객체 지향 프로그래밍 체험이다. 솔직히 그전까지의 코딩 학습들은 메소드 정도에서 강좌가 종강되었고 기껏해야 하나의 클래스에서 여러 메소드를 사용하여 기능을 구현하는 것들 정도라 솔직히 이번 강의는 꽤나 이해하고 감을 잡기까지 걸렸다. 이번 내가 정리할 것은 이론 정리보단 내가 이번에 실습하면서 느낀 것들이나 기억해야하는 것들을 위주로 정리하도록 하겠다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;+간략한 내용정리&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;OOP는 주요속성과 기능을 파악후 추상화 하여 부품 객체를 먼저 만들고 하나 씩 조립해 가는 기법으로 객체는 데이터와 기능이 결합된 캡슐화된 것이다.이때 중요한 것이 어떤 객체가 어떤 일을 처리할 것인지 구조와 순서들을 설계하는 것으로 내가 기존해 했던 구현화는 이를 위한 기본 바탕이 되는 지식이고 각각의 독립적인 기능을 만들어 나가는데 사용하게 된다. 예시를 들면 자판기처럼 각 버튼이 어떤 일을 할 것인지 디스플레이는 어떤 것을 할 것인지 등 각 기능들을 세분화하여 객체로 캡슐화하는 것이 중요하기에 각 객체들 관의 상호작용, 그 관계성을 파악하는 것이 매우 중요하다. 주요한 4가지 속성으론 캡슐화, 추상화, 상속, 다형성인데 각각 숨기고 보호하는 것, 본질파악, 일반화와 재활용, 같은 이름을 사용해도 기능은 다를 수 있음을 뜻한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;+본론-내감정들&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;인사이드 아웃이라는 영화에선 주인공을 조종하는 다양한 감정들이 조종간을 잡고 행동들을 하는 내용인데 이러한 특성이 이번 실습 때 꽤나 들어맞아서 나만의 인사이드 아웃을 만들어보는 것을 실습 주제로 선정했다. 밑은 그 코드 들인데 사진을 보면서 설명해보겠다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-04-14 173626.png&quot; data-origin-width=&quot;864&quot; data-origin-height=&quot;551&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/2RdIz/dJMcahjNevd/KFxhXpRKs86hNnY83KsK5K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/2RdIz/dJMcahjNevd/KFxhXpRKs86hNnY83KsK5K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/2RdIz/dJMcahjNevd/KFxhXpRKs86hNnY83KsK5K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2RdIz%2FdJMcahjNevd%2FKFxhXpRKs86hNnY83KsK5K%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;864&quot; height=&quot;551&quot; data-filename=&quot;스크린샷 2026-04-14 173626.png&quot; data-origin-width=&quot;864&quot; data-origin-height=&quot;551&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 클래스에서 중요하게 생각했던건 이 클래스가 이후 유진수 클래스에서 변수명으로서 이용이 되기 때문에 내가 그 배열 변수에 어떤 값을 넣어야하는지 그렇게 하기 위해선 어떻게 생성자를 사용해야하는지에 대한 고민이 필요했고 int value를 받는 생성자만 만든 상태에선 밑의 감정친구들인 버럭이와 슬픔이가 생성되지 못해 오류가 발생해서 아무것도 없는 나의감정들이라는 생성자를 만들어 주는 것이 포인트였다.&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/bcmjKp/dJMcaffdsOl/EyPYxjZav2LMbwGKKhlo2K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bcmjKp/dJMcaffdsOl/EyPYxjZav2LMbwGKKhlo2K/img.png&quot; data-origin-width=&quot;876&quot; data-origin-height=&quot;1059&quot; data-filename=&quot;스크린샷 2026-04-14 180648.png&quot; data-is-animation=&quot;false&quot; style=&quot;width: 47.7193%; margin-right: 10px;&quot; data-widthpercent=&quot;48.28&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bcmjKp/dJMcaffdsOl/EyPYxjZav2LMbwGKKhlo2K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbcmjKp%2FdJMcaffdsOl%2FEyPYxjZav2LMbwGKKhlo2K%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;876&quot; height=&quot;1059&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/EdAUu/dJMcacpdQLI/7XYKhVTycjAkOetDm3KSE1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/EdAUu/dJMcacpdQLI/7XYKhVTycjAkOetDm3KSE1/img.png&quot; data-origin-width=&quot;1027&quot; data-origin-height=&quot;1159&quot; data-filename=&quot;스크린샷 2026-04-14 173734.png&quot; data-is-animation=&quot;false&quot; style=&quot;width: 51.1179%;&quot; data-widthpercent=&quot;51.72&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/EdAUu/dJMcacpdQLI/7XYKhVTycjAkOetDm3KSE1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEdAUu%2FdJMcacpdQLI%2F7XYKhVTycjAkOetDm3KSE1%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;1027&quot; height=&quot;1159&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음은 개인적으로 메인보다 더 중요하다고 생각하는 유진수 클래스이다. 메인은 밑에 적은 코드를 보며 설명할꺼지만 사용자의 감정 기복을 기록하는 횟수인 N을 받는 것과 이후 행동 선택지 정도를 while문과 if 문을 통해 구현 하는 것뿐 실제로 기능하는 것들은전부 여기에 있다. 이 코드를 작성하면서 내가 구현하고자 한 것은 나의 삶의 일부로 평소에도 가챠게임을 좋아하기도 하고 또 지금처럼 과제도 하는 평범한 삶을 살아가는데 이때의 활동에 따른 내 감정 지수를 만들고 그에 따른 내 심리 상태를 이후 사용자에게 출력해주는 프로그램이다. 그렇기에 기본생성자로 감정지수,카운트값,emos라는 배열변수를 세팅했고 이후 사용자가 입력할 N값을 받아 배열의 크기를 정하도록 했다. 여기서 많이 해맸던 부분은 저 배열 변수인데 처음엔 저것 역시 기존의 배열처럼 작동하는 줄 알고 그냥 emo[this.count] = 1 과 같은 형태로 값을 저장하려고 시도 했었는데 이게 오류가 발생하여 크게 고생했었다. 이후&amp;nbsp; 클래스이름으로 정의된 배열 변수는 그 클래스를 여러개 저장하는 배열의 형태로 존재하는 것을 알게되고 new class명(값)과 같은 형태로 작성하여 무사히 구현할 수 있었다. 또 현재의 감정지수를 보여주는 메소드, 각 활동들에 따른 메소드를 만들었지만 기본적인 골자가 감정지수의 값을 확인하고 이후 그 값에 따른 숫자 값을 배열에 저장, 사용자가 감정기록을 요구할때 저장된 수를 반복문으로 하나하나 훑으며 각 숫자에 따른 감정 단어 문자열로 번역하여 출력하는 거라 형태로 구성했다. 지금 내 코드는 행동에 따라 감정지수가 깎여 나간 상태에서 각기 다른 감정 값을 배열에 저장하도록 지시했는데 만약 이 부분을 수정한다면 감정 지수의 값을 좀 더 세밀하게 만들어서 행동에 따라 느끼는 감정이 다른 것이 아닌 감정 지수가 얼마나 깎여 나가서 현재 이러한 감정을 느끼고 있습니다와 같은 형태로 수정하면 보다 괜찮은 프로그램이 될 것 같다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2026-04-14 173822.png&quot; data-origin-width=&quot;1036&quot; data-origin-height=&quot;759&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rXQEs/dJMcadn5RiQ/oZKXrTzEs1hYGM2bPgocsk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rXQEs/dJMcadn5RiQ/oZKXrTzEs1hYGM2bPgocsk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rXQEs/dJMcadn5RiQ/oZKXrTzEs1hYGM2bPgocsk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrXQEs%2FdJMcadn5RiQ%2FoZKXrTzEs1hYGM2bPgocsk%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;1036&quot; height=&quot;759&quot; data-filename=&quot;스크린샷 2026-04-14 173822.png&quot; data-origin-width=&quot;1036&quot; data-origin-height=&quot;759&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 메인이 약간 잘렸지만 크게 문제는 없다. 아까 위에서의 설명과 같이 메인에선 얼마나 그 값을 저장할 것인지에 대한 N을 받는 메소드가 있었는데 간단히 Scanner를 사용해서 N값을 받는 간단한 형태라 더욱. 메인에선 이제껏 만들었던 것들을 하나하나 불러와 실행하는 형태로 사용자가 선택지에 따른 숫자 값을 입력하면 그에 따른 기능을 수행하도록 구성했다. a는 내가 만든 유진수 클래스이며 다른 클래스를 호출할때도 메소드를 호출하는 것과 같이 a.메소드명();의 문법구조를 하고 있다는 점이 좀 신기했다. 클래스도 메인의 복잡성을 줄이기 위해 기능들을 메소드로 분리시킨 것 처럼 클래스도 그에 대한 확장인 것일까? 조금씩 자바 문법들의 공통된 특징이 눈에 보이기 시작한 것 같다. 반복문은 while로 만들어서 사용자가 원하는 타이밍에 멈출 수 있도록 만들었고 종료시의 대사도 간략하게 표현해봤다.&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/c8lDXx/dJMcaa504gn/VKLuzwnZ7J8kq0RNfe5jak/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c8lDXx/dJMcaa504gn/VKLuzwnZ7J8kq0RNfe5jak/img.png&quot; data-origin-width=&quot;961&quot; data-origin-height=&quot;681&quot; data-filename=&quot;스크린샷 2026-04-14 180302.png&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;46.35&quot; style=&quot;width: 45.8086%; margin-right: 10px;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c8lDXx/dJMcaa504gn/VKLuzwnZ7J8kq0RNfe5jak/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc8lDXx%2FdJMcaa504gn%2FVKLuzwnZ7J8kq0RNfe5jak%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;961&quot; height=&quot;681&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/m9nCF/dJMcaiJG4UX/Akb2vI3yNV8c14rEeyckBK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/m9nCF/dJMcaiJG4UX/Akb2vI3yNV8c14rEeyckBK/img.png&quot; data-origin-width=&quot;1119&quot; data-origin-height=&quot;685&quot; data-filename=&quot;스크린샷 2026-04-14 180353.png&quot; data-is-animation=&quot;false&quot; data-widthpercent=&quot;53.65&quot; style=&quot;width: 53.0286%;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/m9nCF/dJMcaiJG4UX/Akb2vI3yNV8c14rEeyckBK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fm9nCF%2FdJMcaiJG4UX%2FAkb2vI3yNV8c14rEeyckBK%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;1119&quot; height=&quot;685&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이건 내가 만든 감정 클래스 들인데 간단히 캐릭성에 맞게 대사들을 적어보고 각 대사들을 호출할 수 있게 메소드로 나눠둔 것이다. 여기서 배워야 할 점은 상위 클래스 여기선 나의감정들이라는 클래스의 메소드를 호출할때는 super을 사용한다는 점이고 이 역시 다른 메소드를 호출하는 것과 유사한 super.메소드명의 문법 구조를 하고 있다는 것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;+마치며&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1학년때 교양 수업으로 창의컴퓨팅이라는 강의를 들은 적이 있었는데 거기선 주로 스크레치를 다뤘으며 게임이나 창의적인 프로그램을 만들어서 하드웨어랑 결합해보는 것을 했었다. 거기선 장면이 지나갈 때 배경에 따른 코드를 작성하고 또 하나의 캐릭터를 클릭해 그 캐릭터가 어떤 움직임이나 활동을 할 것인지에 대한 코딩을 했던 기억이 있는데 이번에 한 실습 활동이 그것과 굉장히 유사하고 또 익숙한 느낌을 받아서 문법적인거나 작동중 어떻게 값들이 움직이는 것인가에 대한 내용은 오류를 다소 겪었지만 부담이 크게 가진 않았던거 같다. 다만 클래스배열 자료형이나 파일 오류가 발생할때의 대처법 같은건 배우지 않아 독학하거나 도움을 받게 된 부분이 갠적으론 아쉽게 다가온다.&amp;nbsp;&lt;/p&gt;</description>
      <category>JAVA</category>
      <author>pocacola912</author>
      <guid isPermaLink="true">https://pocacola912.tistory.com/5</guid>
      <comments>https://pocacola912.tistory.com/5#entry5comment</comments>
      <pubDate>Tue, 14 Apr 2026 19:02:20 +0900</pubDate>
    </item>
    <item>
      <title>5주차 나의 위치를 체감하기</title>
      <link>https://pocacola912.tistory.com/4</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;+들어가며&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;오늘은 교수님이 출제하신 문제들을 몇개 풀어보며 이제껏 배운 내용을 얼마나 내가 알고 있고 또 그것을 얼마나 문제에 맞게 적재적소에 사용하여 해결할 수 있는지 테스트를 했다. 결과는 갠적으로 좀 참혹했다. 물론 내가 게으른 성격이라 복습을 소홀히하고 수업이 종료되면 집에서 쉬고 싶다는 생각 뿐이라 이정도의 가벼운 학습으론 어느정도 깨질 것은 예상하고 있었지만. 문법을 익히는거랑 문제를 풀고 직접&amp;nbsp; 프로그램을 작성하는 것은 엄청 커다란 간극이 있다는 것을 체감한 것 같다. 1학년 때엔 과제도 그리 많지 않았고 문제도 다소 간단해서 몇 줄 풀다보면 해결되고 그러다보니 설계를 하고 들어가기보단 느낌적으로 그때그때 필요한 것을 맞춰가는 식의 풀이를 자주 했었는데 요즘은 그런 방식에 대한 한계를 점점 크게 느끼는 것 같다. 이번 문제 풀이를 하며 그런 부분을 반성하는 시간을 가져야 할 것 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;+문제 풀이&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;모든 문제를 해설하기보단 몇몇개의 중요하거나 내가 크게 막혀 아예 손도 못댄 것들을 정리하고 이후 내가 필요할 때 이 글을 읽으며 복기하려고한다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;숫자 나누기.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;399&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Si1Lz/dJMb99MEBE1/SyQLjUskAnX9ED61sWMtNk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Si1Lz/dJMb99MEBE1/SyQLjUskAnX9ED61sWMtNk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Si1Lz/dJMb99MEBE1/SyQLjUskAnX9ED61sWMtNk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSi1Lz%2FdJMb99MEBE1%2FSyQLjUskAnX9ED61sWMtNk%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;512&quot; height=&quot;399&quot; data-filename=&quot;숫자 나누기.png&quot; data-origin-width=&quot;512&quot; data-origin-height=&quot;399&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이건 어려운건 아니고 갠적으로 기억하고 싶은 코드인데 문제를 제출한 뒤엔 볼 수 없어 코드만 가지고 설명을 해보자면 정수n을 입력받고 이 n이 홀수일 때와 짝수일 때 다른 계산 값을 출력하는 문제로 기억한다. 이 코드를 가져온건 짝수인 경우 2로 나눈 나머지를 출력해야하는데 짝수는 2로 나눈 나머지가 없기에 바로 0을 출력하는 형식으로 작성한 것처럼 문제가 써준대로 그대로 코드를 구성하는 것이 아닌 불필요한 계산이나 코드를 줄일 수 있다면 그 방식을 한번 생각해서 작성할 수 있다는 것을 항상 상기하고 싶어서이다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;알파벳 정삼각형.png&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;641&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bgWg3v/dJMcagLPy71/8DSsNoQT0plzw8MkX7KWgk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bgWg3v/dJMcagLPy71/8DSsNoQT0plzw8MkX7KWgk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bgWg3v/dJMcagLPy71/8DSsNoQT0plzw8MkX7KWgk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbgWg3v%2FdJMcagLPy71%2F8DSsNoQT0plzw8MkX7KWgk%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;480&quot; height=&quot;641&quot; data-filename=&quot;알파벳 정삼각형.png&quot; data-origin-width=&quot;480&quot; data-origin-height=&quot;641&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 문제는 정삼각형을 대문자 알파벳으로 그리는 것이 목표인데 정삼각형의 경우 예전에 실습했던 것과 같이 중첩 반복문으로 구성했고 이번엔 공백대신 &quot;.&quot;으로 빈 칸을 채우는 부분을 신경썼다. 또 대문자를 가지고 있는 c를 하나 씩 증가 시키면 아스키코드 값이 증가하며 다른 알파벳으로 변화하는 부분을 처음엔 생각하지 못하다 교수님의 설명을 듣고 구현한 기억이 있다. 또 아스키코드 값이 알파벳의 범주를 벗어나지 않도록 &quot;Z&quot;의 코드값보다 c의 값이 큰지 항상 확인하는 코드가 핵심이라고 생각하고 이러한 도형을 그리는 문제는 프린트문의 종류에 항상 주의를 기울일 필요가 있는 것 같다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;457&quot; data-origin-height=&quot;421&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/P2ETq/dJMcagru3Jx/fpcF6Wnm7LqS27WxofbYI0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/P2ETq/dJMcagru3Jx/fpcF6Wnm7LqS27WxofbYI0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/P2ETq/dJMcagru3Jx/fpcF6Wnm7LqS27WxofbYI0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FP2ETq%2FdJMcagru3Jx%2FfpcF6Wnm7LqS27WxofbYI0%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;457&quot; height=&quot;421&quot; data-origin-width=&quot;457&quot; data-origin-height=&quot;421&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;배열의 평균 구하는 문제이다. 반복문으로 배열에 있는 값들을 하나하나 total에 더해주고 배열의 길이로 나눠서 평균을 계산하는 프로그램인데 이 문제에서 복기할 것은 배열의 길이도 int형 total도 int 형이라 그대로 나눠서 ans에 값을 넘겨주면 소숫점 밑의 값들은 소실되어 프로그램이 원하는 값과 달라져서 나눌 때 double을 명시해야한다는 것이다.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;608&quot; data-origin-height=&quot;882&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cBWU3R/dJMcaco63It/iPoqrz0hEVc0m1xekqfEoK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cBWU3R/dJMcaco63It/iPoqrz0hEVc0m1xekqfEoK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cBWU3R/dJMcaco63It/iPoqrz0hEVc0m1xekqfEoK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcBWU3R%2FdJMcaco63It%2FiPoqrz0hEVc0m1xekqfEoK%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;608&quot; height=&quot;882&quot; data-origin-width=&quot;608&quot; data-origin-height=&quot;882&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;이 문제는 배열로 전달 받은 좌석을 예약하는 프로그램이다. 내가 기억하기론 예약하기 파트만 작성하면 된걸로 알고 있어서 그 파트를 중점으로 설명하자면 우선 메인에서 예약이 성공 할 경우 result가 예약하기 함수에서 return한 0을 받아 사용자에게 좌석을 보여주는 방식으로 구성되어 있으니 void가 아니라 리턴할 변수형인 int로 함수를 작성하고 함수에 필요한 2차원 배열 , x좌표, y좌표를 받는 형식으로 함수의 틀을 잡았다. 이후 좌석 범주에서 벗어나는 좌표 값을 입력 받으면 out 출력 후 -1을 return, 맞는 값을 입력했으면 해당 좌표에 1을 넣어주고 0을 return하는 형태로 작성했는데 이때도 역시 인덱스 값의 차이로 값을 하나 내려주는 것이 포인트라 이 부분을 항상 짚고 넘어가야 할 것 같다.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignLeft&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;524&quot; data-origin-height=&quot;813&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cFaewU/dJMcafMVXuw/I6qYZMsICozGRXCgRxKFRk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cFaewU/dJMcafMVXuw/I6qYZMsICozGRXCgRxKFRk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cFaewU/dJMcafMVXuw/I6qYZMsICozGRXCgRxKFRk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcFaewU%2FdJMcafMVXuw%2FI6qYZMsICozGRXCgRxKFRk%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;524&quot; height=&quot;813&quot; data-origin-width=&quot;524&quot; data-origin-height=&quot;813&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;개인적으로 가장 어려웠던 문제인데 내가 평소에 하던거 처럼 계획을 잡지 않고 무작정 작성해보는 방식에 정말 맞지 않은 문제이기도 하고 이미지를 회전했을때 어떤 방식으로 좌표가 변화하는지 그 규칙을 쉽게 찾지 못해서 더 난감했었다. 2차원 배열이라 중첩 for문으로 원 배열인 a의 크기를 기준으로 값을 가져오는 것까진 구성했지만 그 후를 잡는데에 많이 어려움을 겪었는데 직접 그려보고 좌표를 하나하나 따져보니 어느정도 감이 와서 작성할 수 있었다. 또 여기서도 b에게 전달할 값의 좌표를 설정할때 i값이 0일때를 상정하지 못하고 그냥 a.length - i 로 작성했다 콘솔이 나를 혼내는 상황을 여러번 당했는데 이 부분은 계속 반복해서 강조하고 있지만 반드시 기억해야 할것이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;+마치며&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;다이아몬드도 원석일땐 그냥 돌멩이나 다름 없이 생겼다. 그것을 깎고 다듬고 또 깎는 과정에서 자신의 본모습을 찾고 비로소 빛나는 보석이 되어 사회에서 큰 가치를 지닌 물건으로 바뀌는 것이다. 난 내가 보석이라고 생각하진 않지만 적어도 자신을 다듬고 깎아 진짜 내 진가가 무엇일까에 대한 질문에 답을 해 나가는 과정 정도는 반드시 겪어야 한다고 생각하고 그동안 태만했던 나를 조금은 모질게 대해야한다고 느꼈다.&amp;nbsp; &amp;nbsp;&lt;/p&gt;</description>
      <category>JAVA</category>
      <author>pocacola912</author>
      <guid isPermaLink="true">https://pocacola912.tistory.com/4</guid>
      <comments>https://pocacola912.tistory.com/4#entry4comment</comments>
      <pubDate>Sun, 5 Apr 2026 19:55:11 +0900</pubDate>
    </item>
    <item>
      <title>4주차 배열</title>
      <link>https://pocacola912.tistory.com/3</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;+들어가며&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;java와 만난지 벌써 4주차다. 슬슬 익숙해져가곤 있지만 여전히 문제를 만나면 그것의 해결방안을 찾는데까지 오래걸리고 필요한 것들을 생각해보며 단계적으로 해결하는데 어려움이 있는 것 같다. 같은 문제라도 보다 더 좋은 아이디어를 떠올리는게 핵심일거 같은데 이러한 것은 반복적인 연습으로 만들어지는 것인가 싶다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;+&lt;/b&gt;&amp;nbsp;&lt;b&gt;배열&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;배열은 한 번에 많은 메모리 공간을 할단 가능한 자료 구조로 같은 타입의 데이터들이 순차적으로 저장된다. 이러한 배열의 인덱스는 항상 0부터 시작하고 이를 선언할 땐 변수처럼 자료형과 이름을 붙이고 이후 생성하는 구조이다. int [] intArr;의 형태를 사용하며&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후 intArr = new int [원소개수]; 의 구조로 배열을 생성한다. 배열은 보통 3차까지도 사용하며 한 차원이 늘어날때마다 자료형 뒤에 붙는 대괄호의 개수가 늘어난다. 내가 이번에 주로 사용한 2차원 배열의 경우 int [][] arr; arr = new int [행][열];의 구조를 하고있다. 이러한 배열은 주로 반복문과의 결합으로 사용되는데 이때 배열의 크기가 필요한 상황이 자주 생긴다. 이때 배열명.length 를 사용하여 크기를 값으로 사용할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;+응용 실습(영화관 좌석 예약)&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;영화 예약 1.png&quot; data-origin-width=&quot;1180&quot; data-origin-height=&quot;1274&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wtFBI/dJMcahjAy0t/8BrpzAOtWHonNba9q1S1i1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wtFBI/dJMcahjAy0t/8BrpzAOtWHonNba9q1S1i1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wtFBI/dJMcahjAy0t/8BrpzAOtWHonNba9q1S1i1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwtFBI%2FdJMcahjAy0t%2F8BrpzAOtWHonNba9q1S1i1%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;1180&quot; height=&quot;1274&quot; data-filename=&quot;영화 예약 1.png&quot; data-origin-width=&quot;1180&quot; data-origin-height=&quot;1274&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;영화 예약2.png&quot; data-origin-width=&quot;1130&quot; data-origin-height=&quot;1272&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bMWoss/dJMcafzhYVf/JlYamnkMCIxeKP0mZknpF1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bMWoss/dJMcafzhYVf/JlYamnkMCIxeKP0mZknpF1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bMWoss/dJMcafzhYVf/JlYamnkMCIxeKP0mZknpF1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbMWoss%2FdJMcafzhYVf%2FJlYamnkMCIxeKP0mZknpF1%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;1130&quot; height=&quot;1272&quot; data-filename=&quot;영화 예약2.png&quot; data-origin-width=&quot;1130&quot; data-origin-height=&quot;1272&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;영화예약3.png&quot; data-origin-width=&quot;784&quot; data-origin-height=&quot;1160&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/JXwXJ/dJMcagEYuZz/CrTEQpkOrHKgYfCQ2sKUM1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/JXwXJ/dJMcagEYuZz/CrTEQpkOrHKgYfCQ2sKUM1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/JXwXJ/dJMcagEYuZz/CrTEQpkOrHKgYfCQ2sKUM1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJXwXJ%2FdJMcagEYuZz%2FCrTEQpkOrHKgYfCQ2sKUM1%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;784&quot; height=&quot;1160&quot; data-filename=&quot;영화예약3.png&quot; data-origin-width=&quot;784&quot; data-origin-height=&quot;1160&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;영화예약 결과.png&quot; data-origin-width=&quot;682&quot; data-origin-height=&quot;1208&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/SoFWf/dJMcagEYuZB/M0Lo9kWWkhnvshF5zwAJv1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/SoFWf/dJMcagEYuZB/M0Lo9kWWkhnvshF5zwAJv1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/SoFWf/dJMcagEYuZB/M0Lo9kWWkhnvshF5zwAJv1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSoFWf%2FdJMcagEYuZB%2FM0Lo9kWWkhnvshF5zwAJv1%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;682&quot; height=&quot;1208&quot; data-filename=&quot;영화예약 결과.png&quot; data-origin-width=&quot;682&quot; data-origin-height=&quot;1208&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 프로그램을 작성할때 상당히 애먹었던 기억이 난다. 기능들은 다 각각 메소드로 만들어서 메인 코드를 작성하는 건 큰 어려움이 없었지만 어떤 메소드에 어떤 값을 전달해야하는가부터 좌석의 표시를 어떻게 특수기호로 표현할 수 있을까등 상당히 많은 생각이 들게 했다. 예약 받은 자리는 1 비어 있는 자리는 0으로 표기하고 그것을 자리 표시하는 메소드에서 네모박스로 변환하는 코드는 혼자만의 생각으론 상당히 오랜 시간이 걸렸을 것이라 생각한다. 또 코드가 길어질 수록 중괄호의 범위나 실수로 빠뜨리는 경우를 바로 잡기가 너무 어려워서 또 애먹은거 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;+응용실습(랜덤 숫자 정렬하기)&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;정렬하기1.png&quot; data-origin-width=&quot;1044&quot; data-origin-height=&quot;1204&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vo05U/dJMcajayVwW/BROqxCBwkCjYz4krP9II7K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vo05U/dJMcajayVwW/BROqxCBwkCjYz4krP9II7K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vo05U/dJMcajayVwW/BROqxCBwkCjYz4krP9II7K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fvo05U%2FdJMcajayVwW%2FBROqxCBwkCjYz4krP9II7K%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;1044&quot; height=&quot;1204&quot; data-filename=&quot;정렬하기1.png&quot; data-origin-width=&quot;1044&quot; data-origin-height=&quot;1204&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;정렬하기2.png&quot; data-origin-width=&quot;864&quot; data-origin-height=&quot;1072&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/E6P38/dJMcafe0FK9/jxvMJ9CM2cKoW9wrhxXvck/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/E6P38/dJMcafe0FK9/jxvMJ9CM2cKoW9wrhxXvck/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/E6P38/dJMcafe0FK9/jxvMJ9CM2cKoW9wrhxXvck/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FE6P38%2FdJMcafe0FK9%2FjxvMJ9CM2cKoW9wrhxXvck%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;864&quot; height=&quot;1072&quot; data-filename=&quot;정렬하기2.png&quot; data-origin-width=&quot;864&quot; data-origin-height=&quot;1072&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;정렬하기 결과.png&quot; data-origin-width=&quot;446&quot; data-origin-height=&quot;782&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/YofsQ/dJMcahcMqMu/4QbN6mrqivYffoiYUlj000/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/YofsQ/dJMcahcMqMu/4QbN6mrqivYffoiYUlj000/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/YofsQ/dJMcahcMqMu/4QbN6mrqivYffoiYUlj000/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYofsQ%2FdJMcahcMqMu%2F4QbN6mrqivYffoiYUlj000%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;446&quot; height=&quot;782&quot; data-filename=&quot;정렬하기 결과.png&quot; data-origin-width=&quot;446&quot; data-origin-height=&quot;782&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 프로그램은 사용자가 배열의 크기와 랜덤 수의 범위를 입력하면 그에 맞는 수들을 배치하고 이를 정렬하는 프로그램이다. 이때 수의 정렬을 위해 버블소트라는 알고리즘을 사용했는데 바로 옆에 있는 두수를 비교하여 큰값을 뒤로 넘기는 방식으로 단순하고 직관적인 방식이라 배우기 좋았는데 중간에 temp라는 일종의 빈 컵을 만들어 두 수의 자리를 옮길 때 데이터가 손상되지 않도록 하는 방식은 반복 횟수처럼 단순히 새로 들어온 값만을 나타내면 되는 자료가 아닌 기록을 다 남겨야 하는 방식의 경우 상당히 유용할 것으로 보여 배울 점이 있다고 생각한다. 이 프로그램 역시 가독성과 유지보수를 위해 메소드로 각 기능을 구현한 후 메인에서 실행하는 형태인데 이때도 중괄호의 범위를 착각해 다른 결과를 만들어낸 실수가 많았어서 이 부분은 반드시 잡고 가야할 것 같다.&lt;/p&gt;</description>
      <category>JAVA</category>
      <author>pocacola912</author>
      <guid isPermaLink="true">https://pocacola912.tistory.com/3</guid>
      <comments>https://pocacola912.tistory.com/3#entry3comment</comments>
      <pubDate>Sun, 29 Mar 2026 04:55:28 +0900</pubDate>
    </item>
    <item>
      <title>3주차 비교문과 반복문</title>
      <link>https://pocacola912.tistory.com/2</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;+들어가며&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 시간이 개인적으론 너무 고역이었다. 수업을 듣는날 불면증으로 겨우 3시간만 자고 수업을 들어서일까? 내용이 하나도 머리에 들어오지 않았고 무언가를 해서 제출해야한다는 생각만이 몸을 지배해 내 심장의 루틴을 조금 빠르게 움직이도록 바꿔놓았다. 끝나고 다시보니 어느정도 익숙했던 것들이라 겨우 이해는 됐지만 역시 잘 정리해둬야 할 내용들 뿐이라 빠르게 재활운동을 해야할 것 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;+비교문&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기본적으로 if if-else switch문이 있는데 if와 if-else문의 차이는 if문은 조건식이 참일 경우 실행하는 문장 뿐이고 그 조건식이 거짓일 땐 실행하지 않고 다음 코드로 가는 반면에&amp;nbsp; if-else문은 거짓일 경우에도 실행할 문장이 있다는 정도라 기본적인 if문을 구성하는 법을 익힌다면 사용하기 쉬워보인다. if문은 기본구조가 &lt;b&gt;if (조건식) {실행 문장}&lt;/b&gt; 의 형태를 가지고 있고 실행문장이 단일 문장이면 중괄호는 생략가능하다. if-else의 경우 위의 형태에 else만 추가된 것이라 어떤 코드가 어떤 상황에서 사용되는지 중괄호의 범위를 헷갈리지 않는다면 수월하게 쓸 수 있을 것이다. if-else의 응용으로 보다 많은 조건식으로 상황을 세세하게 쪼갤경우 다중 if-else문을 사용할 수 있는데 이 역시도 else if 라는 if문절이 추가된 것이라 크게 다른 점이 없다. 다중 if-else만으로는 효율적으로 대처 할 수 없는 아주 많은 상황에 대응해야할 프로그램의 경우 switch문을 사용하는데&amp;nbsp;&lt;b&gt;switch (식) { case 값1 실행문장 break case 값2&amp;nbsp; &amp;nbsp;실행문장 break .....&lt;/b&gt;&lt;b&gt;default 실행문장}&amp;nbsp;&lt;/b&gt;의 구조로 되어있으며 switch의 식과 case의 값을 계속 비교하며 일치할 경우 그 case에 들어있는 문장을 실행하는 형식으로 작동한다. 이때 비교값과 일치하는 값이 없으면 default문을 실행하는데 이건 생략이 가능하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;switch문을 다루면서 break문은 중요한데 이 문구가 없으면 다음 case문으로 실행하기 때문이다. 의도적으로 빼는 경우를 제외하고 해당 case를 실행한뒤 switch문을 종료하고 싶다면 항상 체크해야한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;+반복문&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반복은 크게 두가지로 횟수로 제어하는 for문 조건으로 제어하는 while문과 do while문이 있다. 기본적으로 c와 같은 구조이며 for문은 &lt;b&gt;for (초기문(1); 조건식(2); 반복 후 작업(4)){실행 문장(3)}&lt;/b&gt;의 형태로 되어 있다. 이때 초기문 속 카운트 변수를 반복문 이후에도 사용하려면 미리 정의 해야하는데 반복문 속 카운트 변수는 그 for 문 안에서만 존재하는 지역변수 이기 때문이다.초기문과 반복후작업은 세미콜론으로 분리하며 반복 조건이 true이거나 비어 있는 경우 무한 반복으로 실행된다. while문은 조건으로 반복하는데 조건식엔 논리 관계연산자가 사용된다. 이때 c와 차이점이라면 java는 불리언 값이 1과0이 아닌 true,false로 되어있어 while의 조건식에도 1과0대신 true false를 사용한다. while의 구조는 &lt;b&gt;while (조건식) {실행문장}&lt;/b&gt;의 구조이며 반복 조건이 없으면 컴파일 오류, 처음부터 반복 조건을 통과하지 못하면 아예 실행하지 않는다. do-while문은 while과 달리 무조건 최소 한번은 작업문을 실행하며 이 역시 조건이 없으면 컴파일 오류가 발생한다. 이러한 반복문은 중첩하여 사용가능하며 보통 2중 또는 3중 반복을 사용한다. 반복문 속 실행코드에 continue와 break문을 사용할 수 있는데 continue의 경우 반복문을 빠져나가지 않고 반복문의 처음으로 돌아가 다음 반복으로 진행되고 break의 경우 비교문에서의 작동처럼 반복문을 빠져나가는 역할을 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;+응용실습&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;3주차 응용 도형1.png&quot; data-origin-width=&quot;1976&quot; data-origin-height=&quot;926&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bf5kYL/dJMcafMJZMZ/KwQ0NkKtVYkpK6e8PSzib0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bf5kYL/dJMcafMJZMZ/KwQ0NkKtVYkpK6e8PSzib0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bf5kYL/dJMcafMJZMZ/KwQ0NkKtVYkpK6e8PSzib0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbf5kYL%2FdJMcafMJZMZ%2FKwQ0NkKtVYkpK6e8PSzib0%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;1976&quot; height=&quot;926&quot; data-filename=&quot;3주차 응용 도형1.png&quot; data-origin-width=&quot;1976&quot; data-origin-height=&quot;926&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;3주차 응용 도형2.png&quot; data-origin-width=&quot;1470&quot; data-origin-height=&quot;966&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/zbbWp/dJMb996NHaB/24eFXJRSKoM6lVVh2MdIzk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/zbbWp/dJMb996NHaB/24eFXJRSKoM6lVVh2MdIzk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/zbbWp/dJMb996NHaB/24eFXJRSKoM6lVVh2MdIzk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FzbbWp%2FdJMb996NHaB%2F24eFXJRSKoM6lVVh2MdIzk%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;1470&quot; height=&quot;966&quot; data-filename=&quot;3주차 응용 도형2.png&quot; data-origin-width=&quot;1470&quot; data-origin-height=&quot;966&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;3주차 응용 도형3.png&quot; data-origin-width=&quot;1452&quot; data-origin-height=&quot;918&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cJEPwz/dJMb99TfKmO/pZbv7mzKn8FTJR363dIXKk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cJEPwz/dJMb99TfKmO/pZbv7mzKn8FTJR363dIXKk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cJEPwz/dJMb99TfKmO/pZbv7mzKn8FTJR363dIXKk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcJEPwz%2FdJMb99TfKmO%2FpZbv7mzKn8FTJR363dIXKk%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;1452&quot; height=&quot;918&quot; data-filename=&quot;3주차 응용 도형3.png&quot; data-origin-width=&quot;1452&quot; data-origin-height=&quot;918&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;3주차 도형4.png&quot; data-origin-width=&quot;1226&quot; data-origin-height=&quot;924&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/btTbNk/dJMcaiCD8F3/FCp3tZV2CbooHKPc4k1Ork/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/btTbNk/dJMcaiCD8F3/FCp3tZV2CbooHKPc4k1Ork/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/btTbNk/dJMcaiCD8F3/FCp3tZV2CbooHKPc4k1Ork/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbtTbNk%2FdJMcaiCD8F3%2FFCp3tZV2CbooHKPc4k1Ork%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;1226&quot; height=&quot;924&quot; data-filename=&quot;3주차 도형4.png&quot; data-origin-width=&quot;1226&quot; data-origin-height=&quot;924&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;3주차 도형4.png&quot; data-origin-width=&quot;1226&quot; data-origin-height=&quot;924&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nt8mN/dJMcaflD6W4/xAGh2mYmra5cns7gzKO2ck/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nt8mN/dJMcaflD6W4/xAGh2mYmra5cns7gzKO2ck/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nt8mN/dJMcaflD6W4/xAGh2mYmra5cns7gzKO2ck/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fnt8mN%2FdJMcaflD6W4%2FxAGh2mYmra5cns7gzKO2ck%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;1226&quot; height=&quot;924&quot; data-filename=&quot;3주차 도형4.png&quot; data-origin-width=&quot;1226&quot; data-origin-height=&quot;924&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;3주차 응용 도형 5.png&quot; data-origin-width=&quot;752&quot; data-origin-height=&quot;926&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/RdECC/dJMcahjusNM/nVDLB2gxiDrEpk9f52qgM1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/RdECC/dJMcahjusNM/nVDLB2gxiDrEpk9f52qgM1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/RdECC/dJMcahjusNM/nVDLB2gxiDrEpk9f52qgM1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRdECC%2FdJMcahjusNM%2FnVDLB2gxiDrEpk9f52qgM1%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;752&quot; height=&quot;926&quot; data-filename=&quot;3주차 응용 도형 5.png&quot; data-origin-width=&quot;752&quot; data-origin-height=&quot;926&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이건 여러가지 도형을 그려주는 프로그램으로 우선 사용자에게 메뉴를 보여주고 이후 사용자가 선택한 메뉴에 따른 도형을 출력해주는 형태로 되어있다. 각 도형은 그 도형을 그릴수 있는 중첩 반복문으로 구성되어 있으며 이것들을 전부 다른 메소드로 만들면서 메인에선 그 함수를 호출하는 방식으로 작성했는데 만약 내가 수정한다면 저 if부분을 switch로 바꿔보는 것도 좋을 것 같다.&lt;/p&gt;</description>
      <category>JAVA</category>
      <author>pocacola912</author>
      <guid isPermaLink="true">https://pocacola912.tistory.com/2</guid>
      <comments>https://pocacola912.tistory.com/2#entry2comment</comments>
      <pubDate>Sun, 22 Mar 2026 04:09:47 +0900</pubDate>
    </item>
    <item>
      <title>2주차 변수와 자료형</title>
      <link>https://pocacola912.tistory.com/1</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;+들어가며&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;오늘은 본격적인 내용을 들어 갔다. JAVA라는 언어가 C언어와 상당히 유사하다고 하긴 했지만 첫만남이 너무 강렬했어서 그런가 여전히 벽이 느껴졌다. 역시 첫술에 배부른 법은 없는 것일까? 하지만 계속해서 쌓아간다면 언젠가 능숙하게 다루는 날이 올 것이라 믿고 이번 내용들을 정리해보겠다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;+식별자&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;식별자는 프로그램 내에서 이름으로 사용되며 클래스나 병수, 상수, 메소드 등에 붙는 용도로 사용한다&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이는 자바에 있어 중요한 부분이기에 이에 대한 자세한 원칙들이 있는데&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. &quot;_ $&quot;를 제외한 특수 문자, 공백(Tap)은 식별자로 사용할 수 없으며 _과 $는 식별자의 첫 문자로 잘 오지 않는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2.특이하게 유니코드 문자가 사용 가능하여 한글로 식별자를 사용 할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 자바 언어의 키워드는 사용불가하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4.불린 리터럴과 널 리터럴은 사용불가하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;5. 첫 번째 문자로 숫자는 오지 않는다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;6.길이의 제한은 없다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;등 고려해야할 점들이 많다. 또한 대소문자에 따라 다르게 인식하기에 항상 대소문자 구별에 신경을 쓸 필요가 있어보인다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이러한 식별자는 표기시 몇 가지의 관습들이 있는데 기본적으로 사용자가 잘 읽을 수 있고 유지보수하기 쉽도록 목적이 있는 약간의 긴 단어를 사용하는 것을 권장하고 클래스의 이름을 지정할땐 첫문자를 대문자로 시작, 변수와 메소드의 이름을 붙일 땐 첫 단어 이후 각 단어의 첫문자는 대문자로 표기하는 방식을 주로 사용한다. 상수는 그 특별성 때문인지 모든 문자를 대문자로 표기하는 것이 일반적이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;+변수와 선언&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;자바는 기본적으로 데이터 타입이 8개 레퍼런스 타입 3개가 있으며 이를 변수마다 지정하는 방식으로 사용하는데 이는 파이썬과는 다른 C에 가까운 방법이며 한정된 저장공간을 활용하는데 있어 유용해보인다. 변수의 구성은 &lt;u&gt;데이터 타입 + 변수명&lt;/u&gt;의 형태로 구성되는데 이를 프로그램 내에서 선언하는 방식으로 사용한다. 코드 중간에도 삽입하여 사용이 가능하고 초기값을 선언과 동시에 지정가능하다. var 키워드로 변수 타입을 생략 가능하나 이땐 반드시 초기값이 있어야함(컴파일러가 해당 변수의 타입을 추론할 수 있도록) 상수를 선언할땐 final이라는 키워드 사용 선언 시 초기값을 지정하며 상수라는 말 뜻처럼 실행중 값이 변경되지 않음(변수와의 차이점)&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;+리터럴&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;&amp;nbsp;리터럴은 프로그램에서 직접 표현한 값을 말하며 값들에 따라 분류할 수 있다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;-정수 리터럴: 10,8,16,2 진수 리터럴 int형 Long타입은 숫자 뒤에 L or l로 표시&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;-실수 리터럴: 기본적으로 double타입으로 컴파일 f나d를 명시적으로 붙이기도함&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;-문자 리터럴: 작은 따옴표로 문자 표현(큰 따옴표는 문자열), 특수문자는 백슬래시로 시작, 유니코드도 가능&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;-논리 리터럴:true or false뿐 단 1과0 사용 불가&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;-null 리터럴: 레퍼런스 변수 초기화에 사용&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;letter-spacing: 0px;&quot;&gt;-문자열 리터럴: 큰따옴표 사용 String객체로 처리&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;+자동 타입 변환&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;작은 타입은 큰 타입으로 자동 변환된다. 이는 컴파일러에 의해 이루어지며 자료 손실이 없는 경우 자동변환 되지만 그 외의 예외상황에선 에러가 발생한다. 필요한 경우 강제 변환을 개발자가 지시 할 수 있지만 이는 값 손실을 발생시킬 수 있는 위험한 상황이기에 우려점이 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;+Scanner 클래스&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다른 언어에서 input이나 scanf에 해당하는 클래스로 자바에선 import문을 통해 객체를 만들고 이를 사용하는 방식이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기본적으로 공백으로 구분되는 아이템 단위로 읽는데 문자열로 들어온뒤 메소드가 타입을 변경하는 방식으로 진행된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 수업에 주로 사용한 메소드는 String nextLine(),&amp;nbsp; int nextInt()정도를 사용했다. 이때 구분자(공백,엔터)는 그대로 버퍼에 남기에 nextLine()을 호출할때 빈 문자열을 반환하지 않도록 주의해야한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;+실습들(응용)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위에서 배운 내용을 바탕으로 응용 시간 때엔 두 가지의 활동을 했는데 하나는 사용자가 프로그램에서 질문하는 내용에 대한 답변을 받고 템플릿에 그 값을 넣어 기사를 작성해주는 프로그램으로 아래와 같은 코드 구성을 가지고 있다. 이 프로그램을 작성할 때 고려한 부분이 있다면 내가 기사를 적을 분야에 대한 특성과 그걸 반영하기 위해 어떤 요소를 사용자에게 입력 받을 것인가에 대한 파트이다. 내가 하고자한 분야가 야구 기사이기에 경기장과 스코어, 이긴 팀과 진 팀 등 필요한 요소를 중점으로 구성한 것을 볼 수 있다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;야구기사 자료.png&quot; data-origin-width=&quot;2064&quot; data-origin-height=&quot;1464&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bj006k/dJMcacWDVAo/MNZo1VnYkJHarbz12V8ZV0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bj006k/dJMcacWDVAo/MNZo1VnYkJHarbz12V8ZV0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bj006k/dJMcacWDVAo/MNZo1VnYkJHarbz12V8ZV0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbj006k%2FdJMcacWDVAo%2FMNZo1VnYkJHarbz12V8ZV0%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;2064&quot; height=&quot;1464&quot; data-filename=&quot;야구기사 자료.png&quot; data-origin-width=&quot;2064&quot; data-origin-height=&quot;1464&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;+야구 기자+&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;두 번째 활동은 카페에서 쓸 수 있는 기초적인 키오스크를 만드는 실습을 했는데 여기서도 고려할 점이 무엇인가, 내가 이 프로그램에서 어떤 기능을 구현할 것인가를 중점으로 생각해보고 코드를 작성했다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;카페1.png&quot; data-origin-width=&quot;2052&quot; data-origin-height=&quot;1078&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ba2cEv/dJMcaiJiMnp/tjhVAjcF5G4b2oiPtIIoi0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ba2cEv/dJMcaiJiMnp/tjhVAjcF5G4b2oiPtIIoi0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ba2cEv/dJMcaiJiMnp/tjhVAjcF5G4b2oiPtIIoi0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fba2cEv%2FdJMcaiJiMnp%2FtjhVAjcF5G4b2oiPtIIoi0%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;2052&quot; height=&quot;1078&quot; data-filename=&quot;카페1.png&quot; data-origin-width=&quot;2052&quot; data-origin-height=&quot;1078&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;카페2.png&quot; data-origin-width=&quot;2060&quot; data-origin-height=&quot;1070&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bLla0s/dJMcaaLjsnU/zZXWn7o2KxbxZM8k3mqLl0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bLla0s/dJMcaaLjsnU/zZXWn7o2KxbxZM8k3mqLl0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bLla0s/dJMcaaLjsnU/zZXWn7o2KxbxZM8k3mqLl0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbLla0s%2FdJMcaaLjsnU%2FzZXWn7o2KxbxZM8k3mqLl0%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;2060&quot; height=&quot;1070&quot; data-filename=&quot;카페2.png&quot; data-origin-width=&quot;2060&quot; data-origin-height=&quot;1070&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;카페 결과.png&quot; data-origin-width=&quot;1184&quot; data-origin-height=&quot;786&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Anrtr/dJMcaa5Chln/M2gMlqJqNndFNmAfRLQk00/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Anrtr/dJMcaa5Chln/M2gMlqJqNndFNmAfRLQk00/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Anrtr/dJMcaa5Chln/M2gMlqJqNndFNmAfRLQk00/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAnrtr%2FdJMcaa5Chln%2FM2gMlqJqNndFNmAfRLQk00%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;1184&quot; height=&quot;786&quot; data-filename=&quot;카페 결과.png&quot; data-origin-width=&quot;1184&quot; data-origin-height=&quot;786&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;+카페 키오스크 만들기+&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사진 속 코드의 양만 봐도 다소 길고 흐름을 놓친다면 쉽게 오류를 찾지 못하는 형태로 구성해서 개인적인 아쉬움이 남지만 1번 활동과 달리 단순한 템플릿만 사용자에게 프린트하는 것이 아닌 키오스크의 기초적인 역할인 어떤 메뉴를 사용자가 선택했고 몇 개나 주문했는지 총합의 가격은 얼마인지 가격표를 제시하는 기능을 구현하기에 어쩔 수 없이 늘어나는 부분도 있었다고 생각한다. 만약 이 프로그램을 추후에 개선할 수 있다면 반복문과 조건문을 사용하여 보다 더 유지보수가 잘되는 형태로 또 메뉴 주문을 세 가지 보다 더 많이 늘리거나 한 메뉴만 주문할 때의 상황도 대처할 수 있는 형태로 만들어 보고 싶다.&lt;/p&gt;</description>
      <category>JAVA</category>
      <author>pocacola912</author>
      <guid isPermaLink="true">https://pocacola912.tistory.com/1</guid>
      <comments>https://pocacola912.tistory.com/1#entry1comment</comments>
      <pubDate>Sun, 15 Mar 2026 00:48:22 +0900</pubDate>
    </item>
  </channel>
</rss>