<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>백엔드 개발 공부</title>
    <link>https://hanul01.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Sun, 14 Jun 2026 21:34:09 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>Hanul01</managingEditor>
    <item>
      <title>제어문</title>
      <link>https://hanul01.tistory.com/90</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;조건문 -&amp;gt; 특정 조건에 부합하는 경우에 어떤 코드를 실행시키면서 어떤 코드는 실행시키지 않을 수 있다. if와 else if, else, switch를 이해하고 실행. 논리 연산자(&amp;amp;&amp;amp;, ||, ! ...)를 활용하여 간결하게 작성할 수 있다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;반복문 -&amp;gt; 특정한 코드를 반복적으로 실행&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;조건문&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;if문&lt;/b&gt;&lt;/h3&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;boolean값으로 평가될 수 있는 조건식 넣어주고, 중괄호 안의 실행 블록에는 조건식이 참일 때 실행하고자 하는 코드를 적는다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1681209572382&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;if(조건식) { 
   조건식이 참이라면 실행되는 블록
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;if...else문&lt;/b&gt;&lt;/h3&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;조건식의 결과에 따라 실행블록을 선택한다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;true일 경우 해당 블록이 실행되고, false일 경우에는 else if문의 조건식을 검사한다. else if문의 모든 조건식이 false라면, else블록이 실행된다.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1681209810169&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;if(조건식1) {
   // 조건식1이 참이라면, 실행되는 블록
}
else if(조건식2) {
   // 조건식1이 참이 아니면서 조건식2가 참일 때, 실행되는 블록
}else{
   // 조건식1과 2가 모두 참이 아닐 때, 실행되는 블로
   // else문은 생략 가능하다. 
}&lt;/code&gt;&lt;/pre&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;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Switch문&lt;/b&gt;&lt;/h3&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Java</category>
      <author>Hanul01</author>
      <guid isPermaLink="true">https://hanul01.tistory.com/90</guid>
      <comments>https://hanul01.tistory.com/90#entry90comment</comments>
      <pubDate>Wed, 26 Apr 2023 18:12:55 +0900</pubDate>
    </item>
    <item>
      <title>Java 연산자</title>
      <link>https://hanul01.tistory.com/89</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;산술 연산자&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;■ 사직연산에 사용되는 연산자(+, -, *, /)와 나머지 연산자(%)를 포함&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style7&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;증감연산자&lt;/b&gt;&lt;/h3&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;pre id=&quot;code_1680852018323&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;int num1 = 1;
int num2 = 1;

num1 = num1 + l;   // num1 = 2
num2 = num2 - 1;   // num2 = 0&lt;/code&gt;&lt;/pre&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;&amp;darr;&lt;/b&gt;&lt;/h3&gt;
&lt;pre id=&quot;code_1680852284811&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;num1++;  // num1 = num1 + 1; 과 동일  
++num1;  // num1 = num1 + 1; 과 동일

num2--;  // num2 = num2 - 1; 과 동일
--num2;  // num2 = num2 - 1; 과 동일&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;■ 변수의 값을 1씩 증가시키거나 감소시키는 연산자&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;■ 전위형 증감 연산자&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;증감 연산을 먼저 수행한 후, 그 결과값을 적용한다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;■ 후위형 증감 연산자&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존의 값을 먼저 적용한 후에 증감 연산을 수행한다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1680852706837&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;int num1 = 1;
int prefix = ++num1;  // '2'

int num2 = 1;
int postfix = num2++; // '1'&lt;/code&gt;&lt;/pre&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;880&quot; data-origin-height=&quot;315&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/l5QuM/btr8J3N6sJe/xL99pjNxAHTqwkpnW46ku1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/l5QuM/btr8J3N6sJe/xL99pjNxAHTqwkpnW46ku1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/l5QuM/btr8J3N6sJe/xL99pjNxAHTqwkpnW46ku1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fl5QuM%2Fbtr8J3N6sJe%2FxL99pjNxAHTqwkpnW46ku1%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;597&quot; height=&quot;214&quot; data-origin-width=&quot;880&quot; data-origin-height=&quot;315&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;복합 대입 연산자&lt;/b&gt;&lt;/h3&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&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;pre id=&quot;code_1680854112282&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;//num1~num5까지 값이 5인 상태

num1 += 2;  // 5+2 = 7
num2 -= 2;  // 5-2 = 3
num3 *= 2;  // 5*2 = 10
num4 /= 2;  // 5/2 = 2
num5 %= 2;  // 5%2 = 1&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;비교 연산자&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;■ boolean 타입으로 평가될 수 있는 조건식.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;■ 대소 비교 연산자(&amp;gt;, &amp;lt;, &amp;lt;=, &amp;gt;=)와 등가 비교 연산자로 분류(==, !=)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style7&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;대소 비교 연산자&lt;/b&gt;&lt;/h3&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;■ boolean을 제외한 나머지 기본 타입에 모두 사용가능(정수, 실수, 문자)&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;■ 2항 비교만 가능&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;lt;, &amp;gt;, &amp;lt;=, &amp;gt;=&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;등가 비교 연산자&lt;/b&gt;&lt;/h3&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;■ 모든 타입에 사용할 수 있는 연산자.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;■&amp;nbsp;두 항의 값이 동등한지의 여부를 판단&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;■ 기본 타입은 기본 타입끼리, 참조 타입은 참조 타입끼리만 비교할 수 있다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p 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;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;논리 연산자&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style7&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;논리 연산자&lt;/b&gt;&lt;/h3&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;■ AND연산자( &amp;amp;&amp;amp; ), OR연산자( || ), NOT연산자( ! )&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;■ boolean 타입 반환&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;■ AND연산자(&amp;amp;&amp;amp;)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;두 개의 피연산자가 모두 true일 때 true를 반환하며 하나가 false일 경우 false 반환&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;■ OR연산자( || )&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;두 개읜 피연산자 중 하나라도 true일 경우 true를 반환하며 두 개 모두 false일 경우 false 반환&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;612&quot; data-origin-height=&quot;285&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cRQqKK/btr8H2bVjTm/3OjfatNWbPY9aKMUDQsFt0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cRQqKK/btr8H2bVjTm/3OjfatNWbPY9aKMUDQsFt0/img.png&quot; data-alt=&quot;AND연산자, OR연산자&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cRQqKK/btr8H2bVjTm/3OjfatNWbPY9aKMUDQsFt0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcRQqKK%2Fbtr8H2bVjTm%2F3OjfatNWbPY9aKMUDQsFt0%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;425&quot; height=&quot;198&quot; data-origin-width=&quot;612&quot; data-origin-height=&quot;285&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;AND연산자, OR연산자&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;■ NOT연산자( ! )&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;true와 false를 반대로 바꾸는 연산자&lt;/p&gt;
&lt;pre id=&quot;code_1680856568567&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;!true == false  // true
!false == true  // true
!!true == ture  // true&lt;/code&gt;&lt;/pre&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style1&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 style=&quot;text-align: center;&quot; data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;b&gt;연산자 우선순위&lt;/b&gt;&lt;/span&gt;&lt;/h3&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;795&quot; data-origin-height=&quot;429&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/belggd/btr8Lhs1xn8/zWhhTK40akHUJ5cP2hPFM1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/belggd/btr8Lhs1xn8/zWhhTK40akHUJ5cP2hPFM1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/belggd/btr8Lhs1xn8/zWhhTK40akHUJ5cP2hPFM1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbelggd%2Fbtr8Lhs1xn8%2FzWhhTK40akHUJ5cP2hPFM1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;452&quot; height=&quot;244&quot; data-origin-width=&quot;795&quot; data-origin-height=&quot;429&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Java</category>
      <author>Hanul01</author>
      <guid isPermaLink="true">https://hanul01.tistory.com/89</guid>
      <comments>https://hanul01.tistory.com/89#entry89comment</comments>
      <pubDate>Fri, 7 Apr 2023 16:25:06 +0900</pubDate>
    </item>
    <item>
      <title>변수(Variable) - String</title>
      <link>https://hanul01.tistory.com/88</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;참조 타입 - String 타입의 변수 선언과 할당&lt;/b&gt;&lt;/h3&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 큰따옴표(&quot;&quot;)로 감싸진 문자열&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1680421409341&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;1. String name1 = &quot;Hong Gil Dong&quot;;
// 문자열 리터럴을 String 타입의 변수 name1에 할당하는 방법

2. String name2 = new String(&quot;Hong Gil Dong&quot;);
//String 클래스의 인스턴스를 생성하는 방법&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 클래스로 인스턴스를 찍어내고자 할 때는 new 연산자를 사용한다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 실제 문자열의 내용을 값으로 가지고 있는 것이 아닌, 문자열이 존재하는 메모리 공간상의 주소값을 저장&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; &amp;nbsp;-&amp;gt; 출력시 주소값x 문자열의 내용이 출력 -&amp;gt; 저장하고 있는 주소값에 위치한 String 인스턴스의 내용을 문자열로 변환&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;String name1 = &quot;Hong Gil Dong&quot;;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- String 타입의 변수에 직접 할당하는 방법&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; -&amp;gt; 문자열의 주소값 동일&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;■ String name2 = new String(&quot;Hong Gil Dong&quot;);&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- String 클래스의 인스턴스를 생성하여 String 타입의 변수에 할당하는 방법&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- String 클래스의 인스턴스를 생성하게 되면 문자열의 내용이 같을지라도, 별개의 인스턴스가 생성&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp; -&amp;gt; 인스턴스의 참조값이 서로 다르다. 서로 다른인스턴스의 주소값 저장&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;String 클래스의 메서드&lt;/b&gt;&lt;/h3&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;■ charAt() 메서드&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;- charAt() 메서드를 이용하여 하나씩 출력&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1680441360403&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;String str = new String(&quot;Name&quot;);
System.out.println(&quot;문자열 : &quot; + str);

System.out.println(str.charAt(0));  // 'N'
System.out.println(str.charAt(1));  // 'a'
System.out.println(str.charAt(2));  // 'm'
System.out.println(str.charAt(3));  // 'e'

System.out.println(&quot;\ncharAt() 메서드 호출 후 문자열 : &quot; + str);&lt;/code&gt;&lt;/pre&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;■ compareTo() 메서드&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;- 대소문자로 비교하고 싶지 않다면 compareToIgnoreCase() 메서드 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 두 문자열이 같으면 0반환&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;pre id=&quot;code_1680442874098&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;String str = new String(&quot;abcd&quot;);

//기준값이 비교대상에 포함되어있는 경우
System.out.println(str.compareTo(&quot;ab&quot;)); // '2' 문자열 길이의 차이값 리턴
System.out.println(str.compareTo(&quot;a&quot;));  // '3' 문자열 길이의 차이값 리턴
System.out.println(str.compareTo(&quot;&quot;));   // '4' 문자열 길이의 차이값 리턴

// 같은 위치의 있는 값 비교
System.out.println(str.compareTo(&quot;c&quot;));  // '-2'  a = 97, c = 99, '99-97 = -2'

System.out.println(str.compareTo(&quot;g&quot;));  // '-6'  a = 97, g = 103, '97 - 103 = -6'

System.out.println(str.compareTo(&quot;A&quot;));  // '32'  a = 97, A = 65, '97 - 65 = 32'

// 차이가 있는 앞에 것만 비교
System.out.println(str.compareTo(&quot;abfe&quot;) // '-3'  c = 99, f = 102 '99 - 102 = -3'
System.out.println(str.compareTo(&quot;abfh&quot;) // '-3'  c = 99, f = 102 '99 - 102 = -3'&lt;/code&gt;&lt;/pre&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;■ concat() 메서드&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;- 인수로 전달된 문자열의 길이 0 -&amp;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;1309&quot; data-origin-height=&quot;700&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d2VTtu/btr7mtheTfz/kSV3Iuppw4U6Gv5kx0tu7k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d2VTtu/btr7mtheTfz/kSV3Iuppw4U6Gv5kx0tu7k/img.png&quot; data-alt=&quot;concat() 메서드&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d2VTtu/btr7mtheTfz/kSV3Iuppw4U6Gv5kx0tu7k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd2VTtu%2Fbtr7mtheTfz%2FkSV3Iuppw4U6Gv5kx0tu7k%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;632&quot; height=&quot;338&quot; data-origin-width=&quot;1309&quot; data-origin-height=&quot;700&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;concat() 메서드&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;■ indexOf() 메서드&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 반환&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1680443669053&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public class Main {
    public static void main(String[] args) {
        String str = new String(&quot;Oracle Java&quot;);

        System.out.println(str.indexOf(&quot;O&quot;));     // '0'
        System.out.println(str.indexOf(&quot;o&quot;));     // '-1'
        System.out.println(str.indexOf(&quot;a&quot;));     // '2'
        System.out.println(str.indexOf(&quot;Java&quot;));  // '7'
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;■&amp;nbsp;&lt;/b&gt;&lt;b&gt;trim() 메서드&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;pre id=&quot;code_1680443989180&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public class Main {
    public static void main(String[] args) {
        String str = new String( &quot;  name       &quot;);

        System.out.println(str + &quot;: Kim&quot;);          // '  name       : Kim'
        System.out.println(str.trim() + &quot;: Kim&quot;);   // 'name: Kim'
    }
}&lt;/code&gt;&lt;/pre&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;■ toLowerCase()와 toUpperCase() 메서드&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- toLowerCase() : 모든 문자를 소문자로 변환&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- toUpperCase() : 모든 문자를 대문자로 변환&lt;/p&gt;
&lt;pre id=&quot;code_1680444268790&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public class Main {
    public static void main(String[] args) {
        String str = new String(&quot;Good Life&quot;);

        System.out.println(str.toLowerCase()); // 'good life'
        System.out.println(str.toUpperCase()); // 'GOOD LIFE'
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;■ StringTokenizer&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;- 토큰(token) : 쪼개진 문자열&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- java.util.StringTokenizer을 import&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;1005&quot; data-origin-height=&quot;1042&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dEpQqz/btr7Oxb8ghB/NbjTIfG9ygVJxmRF2Woym0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dEpQqz/btr7Oxb8ghB/NbjTIfG9ygVJxmRF2Woym0/img.png&quot; data-alt=&quot;StringTokenizer&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dEpQqz/btr7Oxb8ghB/NbjTIfG9ygVJxmRF2Woym0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdEpQqz%2Fbtr7Oxb8ghB%2FNbjTIfG9ygVJxmRF2Woym0%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;542&quot; height=&quot;562&quot; data-origin-width=&quot;1005&quot; data-origin-height=&quot;1042&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;StringTokenizer&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- &lt;b&gt;int countTokens()&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;: 남아있는 token의 개수 반환.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- &lt;b&gt;boolean hasMoreElements(), boolean hasMoreTokens()&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;: 동일한 값 반환. 현재 위치 뒤에 있는 문자열에서 하나 이상의 토큰을 사용할 수 있는 경우true 반환. 없으면 false 반환&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- &lt;b&gt;Object nextElement(), String nextToken()&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;: 다음 토큰 반환. nextElement()는 Object, nextToken()은 String 반환&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;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;StringBuilder&lt;/b&gt;&lt;/h3&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;■ &lt;/b&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;- 자바에서 String 객체는 변경 불가하기에 하나의 문자열을 다른 문자열과 연결하면 새 문자열이 생셩되고 이전 문자열은 Garbage 컬렉터로 들어간다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 변경 가능한 문자열을 만들어주어 String을 합치는 작업 시 효율적인 작업이 될 수 있다.&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;1107&quot; data-origin-height=&quot;550&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/wtZYH/btr7Su6CetX/YRJrWN3CYAMLiN6TGImZkK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/wtZYH/btr7Su6CetX/YRJrWN3CYAMLiN6TGImZkK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/wtZYH/btr7Su6CetX/YRJrWN3CYAMLiN6TGImZkK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwtZYH%2Fbtr7Su6CetX%2FYRJrWN3CYAMLiN6TGImZkK%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;634&quot; height=&quot;315&quot; data-origin-width=&quot;1107&quot; data-origin-height=&quot;550&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;StringBuffer&lt;/b&gt;&lt;/h3&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- String 클래스의 인스턴스는 한 번 생성되면 읽기만 가능하고 변경 불가하다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- StringBuffer 클래스의 인스턴스는 변경과 추가가 가능하다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 버퍼(buffer)라는 독립적인 공간을 가진다. 16개의 문자를 저장할 수 있는 크기이며, 생성자를 크기 설정이 가능하다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. append()&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;- concat() 메서드와 같은 결과를 반환 -&amp;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;1279&quot; data-origin-height=&quot;664&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d3nk3L/btr7OwYTlL8/dKko0YCQRhaUjT8rSOsu1k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d3nk3L/btr7OwYTlL8/dKko0YCQRhaUjT8rSOsu1k/img.png&quot; data-alt=&quot;concat() 메서드&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d3nk3L/btr7OwYTlL8/dKko0YCQRhaUjT8rSOsu1k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd3nk3L%2Fbtr7OwYTlL8%2FdKko0YCQRhaUjT8rSOsu1k%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;667&quot; height=&quot;346&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;664&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;concat() 메서드&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&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;664&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nDaGM/btr7CUfwqDD/pgiLM85oTPOy7KqW9KqDPK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nDaGM/btr7CUfwqDD/pgiLM85oTPOy7KqW9KqDPK/img.png&quot; data-alt=&quot;append() 메서드&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nDaGM/btr7CUfwqDD/pgiLM85oTPOy7KqW9KqDPK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FnDaGM%2Fbtr7CUfwqDD%2FpgiLM85oTPOy7KqW9KqDPK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;663&quot; height=&quot;344&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;664&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;append() 메서드&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;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. capacity()&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- StringBuffer 인스턴스의 현재 버퍼 크기를 반환&lt;/p&gt;
&lt;pre id=&quot;code_1680588641379&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public class Main {
    public static void main(String[] args) {
        StringBuffer str01 = new StringBuffer();
        StringBuffer str02 = new StringBuffer(&quot;Capacity Test&quot;);
        
        System.out.println(str01.capacity());  // '16' 기본적으로 생성되는 여유 버퍼 크기
        System.out.println(str02.capacity());  // '29' 
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3. delete()&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- delete() : 전달된 인덱스에 해당하는 부분 문자열 제거&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- deleteCharAt() : 특정 위치의 문자 한 개만 제거&lt;/p&gt;
&lt;pre id=&quot;code_1680591448906&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public class Main {
    public static void main(String[] args) {
        StringBuffer str = new StringBuffer(&quot;Java Delete Method&quot;); 
        
        System.out.println(&quot;문자열 : &quot; + str);     // '문자열 : Java Delete Method'
        System.out.println(str.delete(4, 11));     // 'Java Method' (4~11 / ' Delete' 삭제)
        System.out.println(str.deleteCharAt(4));   // 'JavaMethod'
        System.out.println(&quot;deleteCharAt() 메소드 호출 후 문자열 : &quot; + str); 
        // 'deleteCharAt() 메소드 호출 후 문자열 : JavaMethod'
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4. insert()&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;- 전달된 인덱스와 해당 문자열의 길이가 같으면 append() 메서드와 같은 결과 반환(마지막에 추가)&lt;/p&gt;
&lt;pre id=&quot;code_1680593235938&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;public class Main {
    public static void main(String[] args) {
        StringBuffer str = new StringBuffer(&quot;Java StringBuffer&quot;);
        
        System.out.println(&quot;문자열 : &quot; + str);                 // '문자열 : Java StringBuffer'
        System.out.println(str.insert(17, &quot; insert() Test&quot;));  // 'Java StringBuffer insert() Test' 
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Java</category>
      <author>Hanul01</author>
      <guid isPermaLink="true">https://hanul01.tistory.com/88</guid>
      <comments>https://hanul01.tistory.com/88#entry88comment</comments>
      <pubDate>Tue, 4 Apr 2023 17:17:01 +0900</pubDate>
    </item>
    <item>
      <title>Docker 컨테이너 방식의 장점</title>
      <link>https://hanul01.tistory.com/87</link>
      <description>&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;컨테이너&amp;nbsp;&lt;/b&gt;&lt;/h2&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size16&quot;&gt;OS나 디렉토리, IP 주소 등과 같은 시스템 자원을 각 애플리케이션이 점유하고 있는 것처럼 보일 수 있다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;컨테이너 방식 장점&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;1. 의존성 충돌 문제 해결&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;2. 개발과 배포 환경의 일치&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;3. 쉬운 수평 확장&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot; data-ke-size=&quot;size18&quot;&gt;4. 각 서버에 새로운 내용을 배포하기 쉬움&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style7&quot; /&gt;
&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;의존성 충돌 문제 해결&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;프로그램(A) 실행에 다른 프로그램(B)이 반드시 필요한 경우&amp;nbsp; -&amp;gt;&amp;nbsp; &quot;프로그램 A는 프로그램 B에 의존 관계를 가지고 있다&quot;&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;A프로그램이 B라는 프로그램에 대해 의존 관계를 가질 때, 특정 B 버전의 프로그램을 요구하는 경우가 생길 수 있다. 그러나 B프로그램을 반드시 필요로 하는 C프로그램을 실행시켜야 하는데 다른 버전의 B프로그램을 필요할 경우 A와 C프로그램을 동시에 실행시킬 수 없다.&amp;nbsp; -&amp;gt;&amp;nbsp; &quot;&lt;b&gt;의존성 충돌&lt;/b&gt;&quot;&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;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;h4 style=&quot;text-align: left;&quot; data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&amp;lt; 컨테이너 격리 &amp;gt;&amp;nbsp;&lt;/b&gt;&lt;b&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. 프로세스&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 특정 컨테이너에서 작동하는 프로세스는 기본적으로 해당 컨테이너 내에서만 액세스 가능하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 컨테이너 내에서 실행되는 프로세스는 다른 컨테이너의 프로세스에 영향을 줄 수 없다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;**프로세스: 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. 네트워크&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 기본으로 컨테이너 하나에 하나의 IP주소가 할당&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;**IP주소: 인터넷상에 있는 컴퓨터의 고유한 주소&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3. 파일 시스템&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 컨테이너 안에서 사용되는 파일 시스템은 구획화 되어 있다. 그래서 해당 컨테이너에서의 명령이나 파일 등의 액세스를 제한할 수 있다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style7&quot; /&gt;
&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;개발과 배포 환경의 일치&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&amp;lt; 개발 &amp;gt;&amp;nbsp;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;웹서비스 개발의 경우 여러 개발자가 하나의 애플리케이션을 만들기 위해 비슷한 개발 환경을 구축하고자 한다. 개발 환경의 경우 배포판에 따라 전혀 다른 애플리케이션 설치 과정이 진행된다. 이 과정 중에 발생하는 사소한 실수나 사전 설치 항목의 부재는 이후 문제 해결에 많은 시간을 소모하게 된다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-&amp;gt; 애플리케이션 구성 자체가 컨테이너화되면 YAML 파일 하나 + 명령어 하나로 모든 애플리케이션 실행 환경 구성이 완료&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;docker-compose up&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- OS에 상관없이 애플리케이션 실행 환경을 만들 수 있다.&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;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&amp;lt; 배포 &amp;gt;&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;웹 서비스 배포: 어떤 애플리케이션이 특정 런타임 환경 위에서 실행되고, 사용자에게 이를 제공한다. 컨테이너에 담긴 애플리케이션을 실행하는 방식으로 서비스 제공&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-&amp;gt; Amazon Web Service의 EC2 상에 도커를 설치하거나, 또는 도커 컨테이너를 EC2 서버에서 실행할 수 있게 하는 서비스인 ECS를 이용하여 보다 쉽게 애플리케이션을 배포할 수 있다.&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style7&quot; /&gt;
&lt;h2 style=&quot;text-align: center;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;쉬운 수평 확장&amp;nbsp; |&amp;nbsp; 각 서버에 새로운 내용을 배포하기 쉬움&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;트래픽 분사를 위해 프록시 서버는 여러 대의 동일한 검색 서버 중 한 군데를 이용할 수 있도록 돕는다. 이러한 서버를 로드 밸런서라고 부른다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;실행 환경의 일치&lt;/b&gt;: 동일한 애플리케이션 구성(이미지)을 바탕으로 새로운 서버에 해당 애플리케이션을 컨테이너로 실행하고, 로드 밸런서에 이 서버를 추가&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Docker</category>
      <author>Hanul01</author>
      <guid isPermaLink="true">https://hanul01.tistory.com/87</guid>
      <comments>https://hanul01.tistory.com/87#entry87comment</comments>
      <pubDate>Fri, 31 Mar 2023 16:00:11 +0900</pubDate>
    </item>
    <item>
      <title>JAVA의 매서드</title>
      <link>https://hanul01.tistory.com/85</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;739&quot; data-origin-height=&quot;228&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xGAOp/btr6BB0kumL/Uqa4fHT6XKKxasVmE85N21/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xGAOp/btr6BB0kumL/Uqa4fHT6XKKxasVmE85N21/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xGAOp/btr6BB0kumL/Uqa4fHT6XKKxasVmE85N21/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxGAOp%2Fbtr6BB0kumL%2FUqa4fHT6XKKxasVmE85N21%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;551&quot; height=&quot;170&quot; data-origin-width=&quot;739&quot; data-origin-height=&quot;228&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;span style=&quot;background-color: #dddddd;&quot;&gt;&amp;nbsp;public class Main {...}&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;접근 허용 범위가 public인 Main이라는 이름의 클래스를 정의&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&amp;nbsp;void main(String[ ] args) {...}&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;A main( B C ) { D }&amp;nbsp; -&amp;gt;&amp;nbsp; 메서드를 정의하는 문법&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;메서드: 어떠한 기능을 수행(데이터를 입력받아 해당 데이터에 일련의 처리를 가함으로써 만들어낸 결과값을 반환하는 것)하기 위한 일련의 코드들의 집합체&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;A main(B C) {
    D
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;반환_타입 메서드_이름(매개변수_타입 매개변수_이름){
    메서드_바디
}&lt;/code&gt;&lt;/pre&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;■ A&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 반환값이 없는 경우 반환타입으로 'void'를 적어야한다. (void, 아무것도 없음)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Ex. int, double, boolean, char, String 등&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;■ B&amp;nbsp; 매개변수의 타입&amp;nbsp; &amp;nbsp;||&amp;nbsp; &amp;nbsp;C&amp;nbsp; 매개변수 이름&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 메서드는 외부에서 값을 내부로 전달받아서 사용할 수 있는데 이때의 값은 저장 후에 사용가능하다. 이때 '변수'에 값을 저장한다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 매개변수는 메서드 외부에서 내부로 전달한 값을 할당받아 저장함으로써, 메서드 내부에서 사용할 수 있도록 한다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 매개변수 타입과 매개변수 이름은 공백으로 구분하여 작성&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 매개변수 타입: 어떤 유형의 값을 메서드가 입력받을 것인가&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 매개변수 이름: 입력받은 값에 어떤 이름을 붙여서 사용할 것인가&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;&amp;there4;&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;■ D&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;- return 키워드를 사용해 값 반환(void는 반환값x)&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;1143&quot; data-origin-height=&quot;367&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bNfD64/btr6qrrAYPY/zjh3fRZvdyX55AnbnfALVK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bNfD64/btr6qrrAYPY/zjh3fRZvdyX55AnbnfALVK/img.png&quot; data-alt=&quot;메서드 동작&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bNfD64/btr6qrrAYPY/zjh3fRZvdyX55AnbnfALVK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbNfD64%2Fbtr6qrrAYPY%2Fzjh3fRZvdyX55AnbnfALVK%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;686&quot; height=&quot;220&quot; data-origin-width=&quot;1143&quot; data-origin-height=&quot;367&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;메서드 동작&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Java</category>
      <author>Hanul01</author>
      <guid isPermaLink="true">https://hanul01.tistory.com/85</guid>
      <comments>https://hanul01.tistory.com/85#entry85comment</comments>
      <pubDate>Tue, 28 Mar 2023 15:29:13 +0900</pubDate>
    </item>
    <item>
      <title>git 영역</title>
      <link>https://hanul01.tistory.com/83</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Git 영역&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;온라인 : remote repository (원격 저장소)&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;로컬 : work space (작업 공간), staging area (스테이징 영역), local repository (지역 저장소)&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;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Staging area&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Work space에 있던 파일을 git add하면 Staging area로 이동.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Commit하기 전에 내용을 기록하는 장소&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Staging area에 있는 파일은 commit이 가능하다.&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;Staging area에 있는 상태에서 파일을 수정했다면?&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Staged이면서 modified인 상태가 된다. 이 상태에서 commit을 하면 add 명령을 실행해서 staged 된 파일만 commit이 된다. commit을 하기 위해서는 git add 명령을 다시 실행하여 최신 버전으로 만들어야 한다.&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;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Local repository&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. Untracked area&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Git이 관리하고 있지 않은 영역&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. Tracked area&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Git의 관리하고 있는 영역. 3가지 상태&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- Unmodified : 기존에 Commit했던 파일을 수정하지 않은 상태&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- Modified : 기존에 Commit했던 파일을 수정한 상태&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- Staged : Commit이 가능한 상태.&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;</description>
      <category>Git</category>
      <author>Hanul01</author>
      <guid isPermaLink="true">https://hanul01.tistory.com/83</guid>
      <comments>https://hanul01.tistory.com/83#entry83comment</comments>
      <pubDate>Mon, 27 Mar 2023 20:45:34 +0900</pubDate>
    </item>
    <item>
      <title>Git 명령어</title>
      <link>https://hanul01.tistory.com/82</link>
      <description>&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Git 영역&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;온라인 : remote repository (원격 저장소)&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;로컬 : work space (작업 공간), staging area (스테이징 영역), local repository (지역 저장소)&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;1. Git으로 파일 관리 시작(Git 초기화)&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;(1) git init&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;git init 를 입력한 위치의 모든 파일들이 git의 관리를 받음&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;(2) 기본 브랜치 이름 변경&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 57px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 57px;&quot;&gt;
&lt;td style=&quot;width: 100%; height: 57px;&quot;&gt;&lt;span&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;git config --global init.defaultBranch main&lt;/b&gt;&amp;nbsp;&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;-&amp;gt; 앞으로 git init를 입력하면 설정되는 기본 브랜치 명을 변경하는 작업&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;git branch -m main&lt;/b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;-&amp;gt; 현재 위치한 브랜치의 이름을 변경하는 작업&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;초반에는 master로 설정이 되어있는데 최근에 master이라는 표현이 인종차별적 뉘앙스를 가지고 있다고 여겨 기본 브랜치명을 main으로 많이 사용한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음은 앞으로 git init를 입력하면 설정되는 기본 브랜치 명을 변경. 두번째는 현재 위치한 브랜치 이름을 변경.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;(3) git 디렉토리는 숨김 처리가 되어있기 때문에 ls를 입력해도 폴더를 볼 수 없다. &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;숨김처리는 언제??? 파일 이름 맨 앞에 .이 붙으면 해당 디렉토리는 숨김처리가 된다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;ls -al&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;size18&quot;&gt;&lt;b&gt;(4) Work space(Working tree, Work tree)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- git 영역 중 로컬의 작업 공간&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- git은 자동으로 해당 공간을 스캔 -&amp;gt; 변경된 사항, 적절한 명령어 및 동작을 알려줌&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- git init를 입력한 직후 다른 git명령어를 입력하지 않은 상태의 파일들이 존재하는 영역&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;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;2. git status : 파일들 상태 확인&lt;/b&gt;&lt;/h3&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;1178&quot; data-origin-height=&quot;306&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/9aVgC/btr53EXrZ5s/OkANtoT8vAiYK7kkzjR9AK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/9aVgC/btr53EXrZ5s/OkANtoT8vAiYK7kkzjR9AK/img.png&quot; data-alt=&quot;git status 입력&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/9aVgC/btr53EXrZ5s/OkANtoT8vAiYK7kkzjR9AK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F9aVgC%2Fbtr53EXrZ5s%2FOkANtoT8vAiYK7kkzjR9AK%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;802&quot; height=&quot;208&quot; data-origin-width=&quot;1178&quot; data-origin-height=&quot;306&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git status 입력&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&amp;nbsp;on branch main&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;현재 브랜치는 main&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&amp;nbsp;No commits yet&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아직 커밋하지 않은 상태&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;nbsp;Untracked&lt;/span&gt;&lt;/b&gt; files: ~&amp;nbsp;&lt;/span&gt; &amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Gti의 관리하에 있는 &lt;span style=&quot;color: #0593d3;&quot;&gt;파일이 가질 수 있는 상태 중 하나&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&amp;nbsp;(use &quot;git add &amp;lt;file&amp;gt;...&quot; to include in &lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;what will be committed&lt;/span&gt;&lt;/b&gt;)&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;git add 파일_이름을 입력하면 커밋될 것들에 해당 파일을 포함시킬 수 있다&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #0593d3;&quot;&gt;Git의 영역 중 로컬의 Staging area&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&amp;nbsp;nothing added to commit but untracked files present (&lt;b&gt;&lt;span style=&quot;color: #000000;&quot;&gt;use &quot;git add&quot; to track&lt;/span&gt;&lt;/b&gt;)&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;아직 add된 파일이 없고 untracked된 상태의 파일이 존재하니 &lt;span style=&quot;color: #0593d3;&quot;&gt;git add 명령어를 사용&lt;/span&gt;하라.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;(1) 파일 상태&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Untracked&lt;/b&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;Git에 의해 파일의 상태가 축적되고 있지 않은 상태&amp;nbsp;-&amp;gt; 파일을 수정하더라도 Git이 변경 내용을 감지x&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #0593d3;&quot;&gt;&amp;darr;&amp;nbsp; Commit&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Tracked (Unmodified, Modified, Staged)&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;GIt에 의해 파일의 상태가 축적되고 있는 상태 -&amp;gt; 파일이 수정될 경우 Git이 변경 내용을 감지&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;Unmodified : 파일 수정이 Git에 감지되지 않은 상태&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;Modified : 파일 수정이 Git에 감지된 상태&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot; data-ke-size=&quot;size16&quot;&gt;Staged : 파일이 Staging area에 존재하는 상태&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;(2) Staging area&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Local repository에 저장할 파일들이 임시로 대기하는 영역&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 34px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 34px;&quot;&gt;
&lt;td style=&quot;width: 100%; height: 34px;&quot;&gt;Work space&amp;nbsp; &amp;nbsp;-------&amp;gt;&amp;nbsp; &amp;nbsp;Staging area&amp;nbsp; &amp;nbsp;-------&amp;gt;&amp;nbsp; &amp;nbsp;Local repository&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #ee2323;&quot;&gt;&amp;nbsp;git add&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;3. git add : Staging area로 파일 이동&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;파일을 스테이징 한다.&quot;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;git add 파일이름 : 파일 하나를 스테이징 할 경우&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;git add . : 디렉토리 내 모든 파일을 스테이징&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;1108&quot; data-origin-height=&quot;336&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bTSSrU/btr5ZkSyLGU/avjhpbUdmaMhjKy1Pn6K2k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bTSSrU/btr5ZkSyLGU/avjhpbUdmaMhjKy1Pn6K2k/img.png&quot; data-alt=&quot;git add . 명령어 실행&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bTSSrU/btr5ZkSyLGU/avjhpbUdmaMhjKy1Pn6K2k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbTSSrU%2Fbtr5ZkSyLGU%2FavjhpbUdmaMhjKy1Pn6K2k%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;708&quot; height=&quot;215&quot; data-origin-width=&quot;1108&quot; data-origin-height=&quot;336&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git add . 명령어 실행&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&amp;nbsp;Changes to bo committed: ~&amp;nbsp;&lt;/span&gt; &amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;변화가 감지되었으며, 파일들을 Commit 할 수 있다. 해당 파일이 Staging area에 존재.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&amp;nbsp;(use &quot;get rm --cached &amp;lt;file&amp;gt;...&quot; to unstage)&amp;nbsp;&lt;/span&gt; &amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;..&quot;명령어를 입력하면 새롭게 스테이징한 파일을 Work space로 백업 가능.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 124px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 124px;&quot;&gt;
&lt;td style=&quot;width: 100%; height: 124px;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;git rm --cached 파일명&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;git status&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;git add .&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;git status&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&amp;nbsp;new file: 파일명&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Git이 새로운 파일을 감지.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아직 Untracked 상태이지만 Commit을 할 수 있는 단계&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;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;4. git commit : Local repository에 파일 저장 후 버전 기록&lt;/b&gt;&lt;/h3&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;Commit &lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Local repository에 파일을 저장하는 행위를 말하며 저장과 동시에 파일의 버전 기록.&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;table style=&quot;border-collapse: collapse; width: 100%; height: 20px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 100%; height: 20px;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;git commit -m &quot;커밋 메시지&quot;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1368&quot; data-origin-height=&quot;174&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lcWDB/btr5O96dzZV/SQYauuUlMTm5FPJuMk98b0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lcWDB/btr5O96dzZV/SQYauuUlMTm5FPJuMk98b0/img.png&quot; data-alt=&quot;git commit -m &amp;quot;커밋 메시지&amp;quot;&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lcWDB/btr5O96dzZV/SQYauuUlMTm5FPJuMk98b0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlcWDB%2Fbtr5O96dzZV%2FSQYauuUlMTm5FPJuMk98b0%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;789&quot; height=&quot;100&quot; data-origin-width=&quot;1368&quot; data-origin-height=&quot;174&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git commit -m &quot;커밋 메시지&quot;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&amp;nbsp;[main (root-commit) 9363449] First commit&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;커밋 실시한 브랜치(main), 커밋 해시의 앞 부분(9363449, 커밋마다 부여되는 고유ID), 커밋 메시지(First commit)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&amp;nbsp;1 file changed, 1 insertion(+)&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;변경된 내용 출력 -&amp;gt; 파일이 Trached 상태로 변화됨.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 34px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Work space&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;----------------------&amp;gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Staging area&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;-----------------------&amp;gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Local repository&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #ee2323;&quot;&gt;&amp;nbsp;git add .&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; git commit -m &quot;메시지&quot;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;(1) git log :&amp;nbsp; Commit 내역 확인&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;git log&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1060&quot; data-origin-height=&quot;184&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/djRI8c/btr5ZkkKFJg/dDt6XOI13SGziKmkCIDpYK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/djRI8c/btr5ZkkKFJg/dDt6XOI13SGziKmkCIDpYK/img.png&quot; data-alt=&quot;git log&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/djRI8c/btr5ZkkKFJg/dDt6XOI13SGziKmkCIDpYK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdjRI8c%2Fbtr5ZkkKFJg%2FdDt6XOI13SGziKmkCIDpYK%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;745&quot; height=&quot;129&quot; data-origin-width=&quot;1060&quot; data-origin-height=&quot;184&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git log&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&amp;nbsp;commit 9363449139531f327b98e755397d1fee1cadf14b&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;각 버전마다 부여되는 고유 번호인 커밋 해시&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;커밋 해시를 통해 버전을 식별할 수 있다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&amp;nbsp;HEAD -&amp;gt; main&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;main : 해당 Commit 내역이 main 브랜치 내에서 최신 Commit임을 나타냄.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;HEAD : 여러 브랜치 중 현재 작업 중인 브랜치를 나타냄.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;커밋 해시가 가리키는 Commit이 main 브랜치의 최신 Commit이며, 현재 위치한 브랜치가 main브랜치이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&amp;nbsp;First commit&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;커밋 메시지&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;(2) git status : 파일 상태&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 17px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 100%; height: 17px;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;git status&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1098&quot; data-origin-height=&quot;102&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/DOsxd/btr5PcvfeWX/SRaFeNm6YYmfdj9QKJRGpk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/DOsxd/btr5PcvfeWX/SRaFeNm6YYmfdj9QKJRGpk/img.png&quot; data-alt=&quot;commit 후 git status&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/DOsxd/btr5PcvfeWX/SRaFeNm6YYmfdj9QKJRGpk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDOsxd%2Fbtr5PcvfeWX%2FSRaFeNm6YYmfdj9QKJRGpk%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;774&quot; height=&quot;72&quot; data-origin-width=&quot;1098&quot; data-origin-height=&quot;102&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;commit 후 git status&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;- Work space 내의 파일들의 상태가 모두 Unmodified(파일 수정이 Git에 감지되지 않은 상태)일 때 나타나는 메시지&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- Commit한 파일이 Local repository에 저장되어있고, Local repository에 저장된 버전과 Work space 내의 파일 간에 차이가 없어 새롭게 Commit 할 것이 없으므로 파일 상태가 Unmodified로 변경된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- Unmodified : Tracked 상태 -&amp;gt; Git이 파일의 변경 내용을 지속적으로 추척한다.&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;gt; 내용 수정을 하면?? 수정 후 git status 상태&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;1096&quot; data-origin-height=&quot;244&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cyA3ec/btr53ClBMqE/6pKXinUWfEeB8zxwgrtwf0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cyA3ec/btr53ClBMqE/6pKXinUWfEeB8zxwgrtwf0/img.png&quot; data-alt=&quot;파일 수정 후 git add&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cyA3ec/btr53ClBMqE/6pKXinUWfEeB8zxwgrtwf0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcyA3ec%2Fbtr53ClBMqE%2F6pKXinUWfEeB8zxwgrtwf0%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;712&quot; height=&quot;159&quot; data-origin-width=&quot;1096&quot; data-origin-height=&quot;244&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;파일 수정 후 git add&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&amp;nbsp;Changes not staged for commit&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Local Repository의 최신버전과 Work space의 파일 간에 변화가 발견되었지만 스테이징(git add) 되지 않았다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&amp;nbsp;modified : 파일명&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;변화가 감지된 파일(빨간색으로 표시)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&amp;nbsp;(user &quot;git add &amp;lt;file&amp;gt;...&quot; to update what will be committed)&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;git add를 사용하여 스테이징 할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&amp;nbsp;(use &quot;git restore &amp;lt;file&amp;gt;...&quot; to discard changes in working directory)&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;git restore를 사용하여 변경한 내용을 다시 되돌릴 수 있다.&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;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;1102&quot; data-origin-height=&quot;150&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d8P5ng/btr53G2wXl0/VvvMhxPhBkcqsynJQrS9Lk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d8P5ng/btr53G2wXl0/VvvMhxPhBkcqsynJQrS9Lk/img.png&quot; data-alt=&quot;git add . 후 상태&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d8P5ng/btr53G2wXl0/VvvMhxPhBkcqsynJQrS9Lk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd8P5ng%2Fbtr53G2wXl0%2FVvvMhxPhBkcqsynJQrS9Lk%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;713&quot; height=&quot;97&quot; data-origin-width=&quot;1102&quot; data-origin-height=&quot;150&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git add . 후 상태&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&amp;nbsp;Changes to be committed:&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Local Repository의 최신버전과 Work space의 파일 간에 변화가 발견되었고 Commit이 가능한 상태&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&amp;nbsp;modified: 파일명&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;변화가 감지된 파일. 스테이징 된 파일(초록색으로 표시)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&amp;nbsp;(use &quot;git restore --staged &amp;lt;file&amp;gt;...&quot; to unstage)&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;git restore --staged &amp;lt;file&amp;gt;을 사용하여 스테이징을 취소할 수 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-&amp;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;1105&quot; data-origin-height=&quot;452&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/EyY0h/btr6bugme60/0zCAat0D49f9iPxvpmMK61/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/EyY0h/btr6bugme60/0zCAat0D49f9iPxvpmMK61/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/EyY0h/btr6bugme60/0zCAat0D49f9iPxvpmMK61/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEyY0h%2Fbtr6bugme60%2F0zCAat0D49f9iPxvpmMK61%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;640&quot; height=&quot;262&quot; data-origin-width=&quot;1105&quot; data-origin-height=&quot;452&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;5. git push : 작업물을 Remote repository(온라인 원격 저장소)로 업로드&amp;nbsp;&lt;/b&gt;&lt;/h3&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;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;Remote repository 만들기&amp;nbsp; &amp;nbsp;-&amp;gt;&amp;nbsp; &amp;nbsp;Remote repository와 Local repository 연결&amp;nbsp; &amp;nbsp;-&amp;gt;&amp;nbsp; &amp;nbsp;업로드&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;(1) Remote repository 만들기&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;온라인에 Remote repository 만들어야 한다. 가장 많이 GitHub의 Remote repository를 가장 많이 사용한다.&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;1450&quot; data-origin-height=&quot;1210&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dODlcp/btr5PRSczID/ZbEuJVxwPDJ7NEFJ8pTQOK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dODlcp/btr5PRSczID/ZbEuJVxwPDJ7NEFJ8pTQOK/img.png&quot; data-alt=&quot;원격 저장소 생성 완료&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dODlcp/btr5PRSczID/ZbEuJVxwPDJ7NEFJ8pTQOK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdODlcp%2Fbtr5PRSczID%2FZbEuJVxwPDJ7NEFJ8pTQOK%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;555&quot; height=&quot;463&quot; data-origin-width=&quot;1450&quot; data-origin-height=&quot;1210&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;원격 저장소 생성 완료&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;size18&quot;&gt;&lt;b&gt;(2) Git remote : Remote repository와 Local repository 연결&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;&lt;span style=&quot;color: #006dd7;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;git remote -v&lt;/b&gt;&lt;/span&gt;&amp;nbsp;&lt;/span&gt; &amp;nbsp;&amp;nbsp;-&amp;gt; 연결된 Remote repository가 있는지 확인하는 명령어&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-&amp;gt; Remote repository와 Local repository 연결&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;1450&quot; data-origin-height=&quot;1210&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/RIbqn/btr6eTG1Z3P/9Sv66MEvBZ3J8PaATMbJLK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/RIbqn/btr6eTG1Z3P/9Sv66MEvBZ3J8PaATMbJLK/img.png&quot; data-alt=&quot;url 복사&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/RIbqn/btr6eTG1Z3P/9Sv66MEvBZ3J8PaATMbJLK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRIbqn%2Fbtr6eTG1Z3P%2F9Sv66MEvBZ3J8PaATMbJLK%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;603&quot; height=&quot;503&quot; data-origin-width=&quot;1450&quot; data-origin-height=&quot;1210&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;url 복사&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 20px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 100%; height: 20px;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;git remote add 원격저장소별칭 원격저장소URL&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원격저장소별칭 : Remote repository를 어떤 이름으로 로컬에서 사용할 것인지 정하는 것. origin을 관례로 많이 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;원격저장소URL : 복사한 URL 붙여넣기&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;1812&quot; data-origin-height=&quot;124&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cKty49/btr5O87IKze/KgVvDtg9hEQ2eNfKDmQTV0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cKty49/btr5O87IKze/KgVvDtg9hEQ2eNfKDmQTV0/img.png&quot; data-alt=&quot;연결 완료&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cKty49/btr5O87IKze/KgVvDtg9hEQ2eNfKDmQTV0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcKty49%2Fbtr5O87IKze%2FKgVvDtg9hEQ2eNfKDmQTV0%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;1812&quot; height=&quot;124&quot; data-origin-width=&quot;1812&quot; data-origin-height=&quot;124&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;연결 완료&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;git remote rm 원격_저장소_별칭&lt;/b&gt;&lt;/span&gt;&amp;nbsp; -&amp;gt; 연결했던 Remote repository를 연결 해제할 경우&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;(3) git push : 작업물 업로드&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 17px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 100%; height: 17px;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;git push origin main&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1261&quot; data-origin-height=&quot;271&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ca2blJ/btr5RR4WW9Z/U98JK2AKsbOwKJC72k1yPk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ca2blJ/btr5RR4WW9Z/U98JK2AKsbOwKJC72k1yPk/img.png&quot; data-alt=&quot;git push&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ca2blJ/btr5RR4WW9Z/U98JK2AKsbOwKJC72k1yPk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fca2blJ%2Fbtr5RR4WW9Z%2FU98JK2AKsbOwKJC72k1yPk%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;665&quot; height=&quot;143&quot; data-origin-width=&quot;1261&quot; data-origin-height=&quot;271&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;git push&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;-&amp;gt; 홈페이지 새로고침&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&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;1636&quot; data-origin-height=&quot;838&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/chV06A/btr5YVeEWzG/AdNkvKOXyNOue5kH9SW9fK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/chV06A/btr5YVeEWzG/AdNkvKOXyNOue5kH9SW9fK/img.png&quot; data-alt=&quot;새로고침. 선택&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/chV06A/btr5YVeEWzG/AdNkvKOXyNOue5kH9SW9fK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FchV06A%2Fbtr5YVeEWzG%2FAdNkvKOXyNOue5kH9SW9fK%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;618&quot; height=&quot;317&quot; data-origin-width=&quot;1636&quot; data-origin-height=&quot;838&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;새로고침. 선택&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1327&quot; data-origin-height=&quot;714&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bwdD6x/btr5PaxFMRD/JYZu8lq9dSrRkKWabaqFY0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bwdD6x/btr5PaxFMRD/JYZu8lq9dSrRkKWabaqFY0/img.png&quot; data-alt=&quot;작성했던 내용들&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bwdD6x/btr5PaxFMRD/JYZu8lq9dSrRkKWabaqFY0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbwdD6x%2Fbtr5PaxFMRD%2FJYZu8lq9dSrRkKWabaqFY0%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;605&quot; height=&quot;326&quot; data-origin-width=&quot;1327&quot; data-origin-height=&quot;714&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;작성했던 내용들&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;6. git clone : Remote Repository의 코드를 로컬로 복사&lt;/b&gt;&lt;/h3&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;1375&quot; data-origin-height=&quot;886&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bmDAzr/btr5ZkS6Vg3/xEV94CQxmEOpbj1RQuVgvK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bmDAzr/btr5ZkS6Vg3/xEV94CQxmEOpbj1RQuVgvK/img.png&quot; data-alt=&quot;Remote Repository의 URL 복사&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bmDAzr/btr5ZkS6Vg3/xEV94CQxmEOpbj1RQuVgvK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbmDAzr%2Fbtr5ZkS6Vg3%2FxEV94CQxmEOpbj1RQuVgvK%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;501&quot; height=&quot;323&quot; data-origin-width=&quot;1375&quot; data-origin-height=&quot;886&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;Remote Repository의 URL 복사&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 20px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 20px;&quot;&gt;
&lt;td style=&quot;width: 100%; height: 20px;&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;&lt;b&gt;git clone 복사한URL&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Git</category>
      <author>Hanul01</author>
      <guid isPermaLink="true">https://hanul01.tistory.com/82</guid>
      <comments>https://hanul01.tistory.com/82#entry82comment</comments>
      <pubDate>Sat, 25 Mar 2023 14:38:49 +0900</pubDate>
    </item>
    <item>
      <title>버전 관리</title>
      <link>https://hanul01.tistory.com/81</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;버전 관리&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 변경된 이력들을 저장하는 작업&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 이전에 변경된 이력들이 기록되어있어 되돌아갈 수 있다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 변경 사항 저장 시 변경된 사항 코멘트를 작성해야한다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. Git 으로 관리되는 파일은 Github, GitLab, Bitucket 등의 여러 가지 원격 저장소를 이용해서 백업과 협업을 할 수 있다.&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;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Git&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 분산형 버전 관리 시스템&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 리누스 토르발즈가 만든 일종의 프로젝트&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 파일을 관리해주는 프로그램 (버전 관리, 파일 백업, 파일 공유)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- commit : 스냅샷(특정 시점에 생성된 백업 복사본)을 만들어 주는 작업 -&amp;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;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Github&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- Git Repository 관리할 수 있는 클라우드 기반 서비스&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 개발자의 SNS&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 코드 리뷰를 통해 협업이 가능하고, 오븐 소스 프로젝트들이 호스팅 되어있어 누구든 자유롭게 기여할 수 있음.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;Git과 Github&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Git : 로컬에서 버전을 관리해주는 프로그램&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Github : 원격 저장소 기능을 제공해주는 서비스. Git을 클라우드 방식으로 구현한 서비스.&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;add, commit, push : 온라인 원격 저장소에 업로드하는 과정&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;fork. clone : 협업자의 작업물을 나의 로컬에 다운로드 받는 과정&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;pull request : 협업자에게 자신의 작업 완성물을 취합해달라고 요청하는 과정&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;merge : 상대방의 작업물과 자신의 작업물을 취합하는 과정&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Git</category>
      <author>Hanul01</author>
      <guid isPermaLink="true">https://hanul01.tistory.com/81</guid>
      <comments>https://hanul01.tistory.com/81#entry81comment</comments>
      <pubDate>Fri, 24 Mar 2023 13:15:20 +0900</pubDate>
    </item>
    <item>
      <title>사용 권한</title>
      <link>https://hanul01.tistory.com/80</link>
      <description>&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #8a3db6;&quot;&gt;&lt;b&gt;Read, Write, Execute 권한&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;폴더와 파일 확인&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ls -l : 폴더나 파일의 포맷을 전부 표현 (폴더인지 파일여부, 생성날짜, 생성자 등)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1047&quot; data-origin-height=&quot;336&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cueBdT/btr40RR3hEZ/aG4bmgWPTMJ05zf1YeVKyk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cueBdT/btr40RR3hEZ/aG4bmgWPTMJ05zf1YeVKyk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cueBdT/btr40RR3hEZ/aG4bmgWPTMJ05zf1YeVKyk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcueBdT%2Fbtr40RR3hEZ%2FaG4bmgWPTMJ05zf1YeVKyk%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;658&quot; height=&quot;211&quot; data-origin-width=&quot;1047&quot; data-origin-height=&quot;336&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파일 : -rw-r--r--&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;폴더 : drwxr-xr-x&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #8a3db6;&quot;&gt;&lt;b&gt;d&amp;nbsp; /&amp;nbsp; rwx&amp;nbsp; /&amp;nbsp; rwx&amp;nbsp; /&amp;nbsp; rwx&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;color: #8a3db6;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;owner&amp;nbsp; &amp;nbsp; group&amp;nbsp; &amp;nbsp; &amp;nbsp;other&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;d, r, w, x&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;d : directory (폴더)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;r : read permission (읽기 권한)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;w : write permission (쓰기 권한)&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;x : exeute permission (실행 권한)&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;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;owner, group, other&lt;/b&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;owner(user)&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;group&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여러 user이 포함. 그룹에 속한 모든 user은 파일에 대한 동일한 group 액세스 권한을 갖는다.&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;other&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파일에 대한 액세스 권한이 있는 다른 user -&amp;gt; 파일을 만들지 않은 모든 user&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #8a3db6;&quot;&gt;&lt;b&gt;chmod&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;권한 변경 명령어&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. Symbolic method&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;더하기( + ), 빼기( - ), 할당( = )과 액세서(accessor)유형을 표기해서 변경&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 56.3954%; height: 85px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 12.5005%; height: 17px; text-align: center;&quot;&gt;&lt;b&gt;Access class&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 3.42342%; height: 17px; text-align: center;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 17.4564%; height: 17px; text-align: center;&quot;&gt;&lt;b&gt;Operator&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 3.78593%; height: 17px; text-align: center;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 11.7689%; height: 17px; text-align: center;&quot;&gt;&lt;b&gt;Access Type&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 12.5005%; height: 17px; text-align: left;&quot;&gt;u (user)&lt;/td&gt;
&lt;td style=&quot;width: 3.42342%; height: 17px; text-align: left;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 17.4564%; height: 17px; text-align: left;&quot;&gt;+ (add access)&lt;/td&gt;
&lt;td style=&quot;width: 3.78593%; height: 17px; text-align: left;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 11.7689%; height: 17px; text-align: left;&quot;&gt;r (read)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 12.5005%; height: 17px; text-align: left;&quot;&gt;g (group)&lt;/td&gt;
&lt;td style=&quot;width: 3.42342%; height: 17px; text-align: left;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 17.4564%; height: 17px; text-align: left;&quot;&gt;- (remove access)&lt;/td&gt;
&lt;td style=&quot;width: 3.78593%; height: 17px; text-align: left;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 11.7689%; height: 17px; text-align: left;&quot;&gt;w (write)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 12.5005%; height: 17px; text-align: left;&quot;&gt;o (other)&lt;/td&gt;
&lt;td style=&quot;width: 3.42342%; height: 17px; text-align: left;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 17.4564%; height: 17px; text-align: left;&quot;&gt;= (set exact access)&lt;/td&gt;
&lt;td style=&quot;width: 3.78593%; height: 17px; text-align: left;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 11.7689%; height: 17px; text-align: left;&quot;&gt;x (execute)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 12.5005%; height: 17px; text-align: left;&quot;&gt;a (all)&lt;/td&gt;
&lt;td style=&quot;width: 3.42342%; height: 17px; text-align: left;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 17.4564%; height: 17px; text-align: left;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 3.78593%; height: 17px; text-align: left;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 11.7689%; height: 17px; text-align: left;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. Absolute form&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;rwx를 3bit로 해석하여 숫자 3자리로 권한을 표기해서 변경&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 29.1858%; height: 138px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 12.5005%; height: 17px;&quot;&gt;&lt;b&gt;Permission&lt;/b&gt;&lt;/td&gt;
&lt;td style=&quot;width: 3.42342%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 9.84708%; height: 17px;&quot;&gt;&lt;b&gt;Number&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 12.5005%; height: 17px;&quot;&gt;Read (r)&lt;/td&gt;
&lt;td style=&quot;width: 3.42342%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 9.84708%; height: 17px;&quot;&gt;4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 12.5005%; height: 17px;&quot;&gt;Write (w)&lt;/td&gt;
&lt;td style=&quot;width: 3.42342%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 9.84708%; height: 17px;&quot;&gt;2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 12.5005%; height: 17px;&quot;&gt;Execute (x)&lt;/td&gt;
&lt;td style=&quot;width: 3.42342%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;td style=&quot;width: 9.84708%; height: 17px;&quot;&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;Ex&lt;/b&gt;. user -&amp;gt; rwx / group, other -&amp;gt; r-- 권한 변경&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;chmod 744 hello.java&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>리눅스</category>
      <author>Hanul01</author>
      <guid isPermaLink="true">https://hanul01.tistory.com/80</guid>
      <comments>https://hanul01.tistory.com/80#entry80comment</comments>
      <pubDate>Tue, 21 Mar 2023 12:37:15 +0900</pubDate>
    </item>
    <item>
      <title>패키지와 패키지 매니저</title>
      <link>https://hanul01.tistory.com/79</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;리눅스 패키지&lt;/b&gt;&lt;/h4&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;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;패키지 매니저를 사용하지 않고 프로그램을 독립적으로 설치?&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 독립적으로 설치하기 위해서는 프로그램이 저장된 위치를 모두 알아야 함&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 업데이트 여부를 확인하기 위해 주기적으로 저장소를 방문하여 확인해야 함&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 프로그램이 많아질 수록 관리하기 힘들어 진다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;-&amp;gt; 보안하기 위한 도구 '패키지 매니저'&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;패키지 매니저&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 패키지의 설치, 변경, 삭제 등 관리를 편리하게 해주는 도구&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 모든 패키지의 저장소 위치를 저장&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 설치된 모든 프로그램의 업데이트를 확인하거나 제거하는데 사용&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;apt&lt;/span&gt; 패키지 매니저의 주요 명령어&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #dddddd; font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;&amp;nbsp;apt update&lt;/span&gt;&amp;nbsp;: 패키지 목록 갱신 (관리자 권한 필요)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&lt;span style=&quot;font-family: 'Noto Sans Demilight', 'Noto Sans KR';&quot;&gt;&amp;nbsp;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;apt list --upgradable&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; : 업그레이드 가능한 패키지 목록 출력&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #dddddd; font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;&amp;nbsp;apt upgrade&amp;nbsp;&lt;/span&gt; : 전체 패키지 업그레이드, 버전 업 (관리자 권한 필요)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #dddddd; font-family: AppleSDGothicNeo-Regular, 'Malgun Gothic', '맑은 고딕', dotum, 돋움, sans-serif;&quot;&gt;&amp;nbsp;apt --only-upgrade install 패키지 이름&amp;nbsp;&lt;/span&gt; : 특정 패키지만 업그레이드, 버전 업 (관리자 권한 필요)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&amp;nbsp;apt install 패키지 이름&amp;nbsp;&lt;/span&gt; : 패키지 설치 (관리자 권한 필요)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&amp;nbsp;apt list --installed&amp;nbsp;&lt;/span&gt; : 설치된 패키지 보기&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&amp;nbsp;apt search 검색어&amp;nbsp;&lt;/span&gt; : 패키지 검색&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&amp;nbsp;apt show 패키지 이름&amp;nbsp;&lt;/span&gt; : 패키지 정보 확인&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&amp;nbsp;apt remove 패키지 이름&amp;nbsp;&lt;/span&gt; : 패키지 삭제 (관리자 권한 필요)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;관리자 권한 필요 -&amp;gt; sudo 명령어를 사용하여 관리자 권한 획득 (ex. sudo apt update)&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;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style3&quot; /&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #8a3db6;&quot;&gt;&lt;b&gt;neofetch?&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- Bash에서 개발 된 도구&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;- 사용자 정의가 가능하다. (50개 이상의 구성 옵션)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 설치 :&amp;nbsp;&lt;span style=&quot;background-color: #dddddd;&quot;&gt; sudo apt install neofetch&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 실행 :&amp;nbsp;&lt;span style=&quot;background-color: #dddddd;&quot;&gt; neofetch&amp;nbsp;&lt;/span&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;1476&quot; data-origin-height=&quot;659&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/r9Tog/btr42yRzF9S/2gZ3zIhN0hnZcVWMzTJPQ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/r9Tog/btr42yRzF9S/2gZ3zIhN0hnZcVWMzTJPQ0/img.png&quot; data-alt=&quot;neofetch 실행&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/r9Tog/btr42yRzF9S/2gZ3zIhN0hnZcVWMzTJPQ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fr9Tog%2Fbtr42yRzF9S%2F2gZ3zIhN0hnZcVWMzTJPQ0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;777&quot; height=&quot;347&quot; data-origin-width=&quot;1476&quot; data-origin-height=&quot;659&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;neofetch 실행&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>리눅스</category>
      <author>Hanul01</author>
      <guid isPermaLink="true">https://hanul01.tistory.com/79</guid>
      <comments>https://hanul01.tistory.com/79#entry79comment</comments>
      <pubDate>Mon, 20 Mar 2023 13:02:03 +0900</pubDate>
    </item>
  </channel>
</rss>