<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ Java - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Browse thousands of programming tutorials written by experts. Learn Web Development, Data Science, DevOps, Security, and get developer career advice. ]]>
        </description>
        <link>https://www.freecodecamp.org/korean/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ Java - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/korean/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Tue, 16 Jun 2026 21:15:08 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/korean/news/tag/java/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ Java 연산자 – &, && (AND) || (OR) 논리 연산자 ]]>
                </title>
                <description>
                    <![CDATA[  우리는 대부분의 프로그래밍 언어에서 변수간의 연산을 위해 연산자를 사용합니다 연산자들은 산술 연산자, 대입 연산자, 비교 연산자, 논리 연산자 등의 여러가지 카테고리로 분류할 수 있다. 이 글에서는, 비트 연산자 AND와 논리 연산자 AND(&&) 및 OR(||) 에 대해 설명합니다. 비트 연산자 AND를 사용하는 방법 기호 &는 비트 연산자 AND를 나타냅니다. 이는 ]]>
                </description>
                <link>https://www.freecodecamp.org/korean/news/java-yeonsanja-and-or-nonri-yeonsanja/</link>
                <guid isPermaLink="false">63feb4ff1d2b73063c4cea10</guid>
                
                    <category>
                        <![CDATA[ Java ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ HYOJIN KIM ]]>
                </dc:creator>
                <pubDate>Wed, 01 Mar 2023 07:57:47 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/korean/news/content/images/2023/03/java-operator-and-or-logical-operators.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>기사 원문:</strong> <a href="https://www.freecodecamp.org/news/java-operator-and-or-logical-operators/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">Java Operator – &amp;, &amp;&amp; (AND) || (OR) Logical Operators</a>
      </p><p></p><h4 id="-">우리는 대부분의 프로그래밍 언어에서 변수간의 연산을 위해 연산자를 사용합니다</h4><p>연산자들은 산술 연산자, 대입 연산자, 비교 연산자, 논리 연산자 등의 여러가지 카테고리로 분류할 수 있다.<br>이 글에서는, 비트 연산자 <strong>AND</strong>와 논리 연산자 <strong>AND</strong>(<code>&amp;&amp;</code>) 및 <strong>OR</strong>(<code>||</code>) 에 대해 설명합니다.</p><h3 id="-and-">비트 연산자 <code>AND</code>를 사용하는 방법</h3><p>기호 <code>&amp;</code>는 비트 연산자 <code>AND</code>를 나타냅니다. 이는 주어진 숫자들의 이진값을 계산합니다. 이 숫자들의 이진값은 저희에게 보여질때는 10진법으로 보여지게 되죠.<br><code>&amp;</code> 연산자를 이용해 연산이 될때는, 왼쪽부터 시작하여 두 숫자의 각 자리 값을 연산하게 됩니다.</p><p>좀더 잘 이해할 수 있도록 예시를 보여드리겠습니다:</p><pre><code class="language-java">System.out.println(10 &amp; 12);
// 8을 반환합니다. 
</code></pre><p>하나씩 살펴봅시다</p><p>10의 이진값은 1010입니다.<br>12의 이진값은 1100입니다.</p><p>다음은 연산 시작 전 염두에 두어야 할 사항입니다:</p><ul><li>1 and 0 =&gt; 0</li><li>0 and 1 =&gt; 0</li><li>1 and 1 =&gt; 1</li><li>0 and 0 =&gt; 0</li></ul><p>자, 이제 연산을 시작해봅시다.</p><p>10의 첫번째 자리의 수는 1이고 12의 첫번째 자리 수 또한 1입니다. 따라서:<br>1 and 1 = 1.</p><p>두번째 자리의 수로 넘어가봅시다. - 10은 0이고 12는 1입니다:<br>1 and 0 = 0.</p><p>세번째 자리의 수에 대해서 - 10은 1이고 12는 0입니다:<br>1 and 0 = 0.</p><p>네번째 자리 수에 대해서 - 10은 0이고 12도 0입니다:<br>0 and 0 = 0.</p><p>자, 이제 계산된 숫자들을 모두 나열해봅시다. 이는 1000이 될것입니다.<br>이진값 1000을 10진법으로 변환한다면 8이 되며 따라서 위 연산의 결과는 8입니다.</p><h3 id="-and--1">논리 연산자 <code>AND</code>를 사용하는 방법</h3><p>논리 연산자는 조건을 연산하기 위해 사용됩니다. 주어진 조건에 따라서 <code>true</code>나 <code>false</code>가 반환됩니다,<br>기호 <code>&amp;&amp;</code>는 <strong>AND</strong> 연산자를 나타냅니다. 이는 두 문(statement)이나 조건문을 연산하고 문/조건문이 둘다 참일때만 true를 반환합니다.</p><p>구문은 다음과 같습니다</p><pre><code>statment1/condition1 &amp;&amp; statemnt2/condition2
</code></pre><p>위에서 볼수 있듯이 연산자에 의해 구분되어지는 두개의 문/조건문이 있습니다. 연산자는 두 문/조건문을 계산하고 결과를 반환합니다 - 결과는 true 이거나 false이죠</p><p>예시는 다음과 같습니다:</p><pre><code class="language-java">System.out.println((10 &gt; 2) &amp;&amp; (8 &gt; 4));
// true
</code></pre><p>두 조건문이 모두 참이기 때문에 이 연산은 <code>true</code>를 반환합니다 - 10은 2보다 큽니다, <strong>그리고</strong> 8은 4보다 큽니다.<br>두 조건 중 하나라도 참이 아니라면 <code>false</code>를 반환받게 됩니다.</p><p><code>&amp;&amp;</code> 연산자에 대해 더 이해하려면, <code>true</code> 값을 얻기 위해선 두 조건이 모두 참이어야 함을 알아야합니다.</p><p>다음은 <code>false</code>를 반환하는 다른 예시입니다:</p><pre><code class="language-java">System.out.println((2 &gt; 10) &amp;&amp; (8 &gt; 4));
// false
</code></pre><p>여기서 2는 10보다 크지 않지만 8은 4보다 큽니다 - 따라서 우리는 <code>false</code>를 반환 받게 됩니다.<br>조건문중 하나가 참이 아니기 때문이죠.</p><ul><li>두 조건문 모두 참 =&gt; <code>true</code></li><li>두 조건문 중 하나가 거짓 =&gt; <code>false</code></li><li>두 조건문 모두 거짓 =&gt; <code>false</code></li></ul><h3 id="-or-">논리 연산자 <code>OR</code>를 사용하는 방법</h3><p>기호 <code>||</code>은 <code>OR</code> 연산자를 나타내기 위해 사용됩니다. 이 연산자는 두 조건문이 모두 거짓인 경우만 <code>false</code>를 반환합니다.<br>즉 두 조건문이 모두 참이면 우리는 true를 반환받고, 둘중 하나의 조건문이라도 <code>true</code>라면 이 경우 또한 <code>true</code>를 반환받게 됩니다.</p><p>관련 구문은 다음과 같습니다</p><pre><code>statment1/condition1 || statemnt2/condition2
</code></pre><p>몇가지 예시를 살펴보겠습니다.</p><pre><code class="language-java">System.out.println((6 &lt; 1) || (4 &gt; 2));  
// true
</code></pre><p>하나의 조건문이 참이기 때문에 <code>true</code>를 반환하게 됩니다.</p><ul><li>두 조건문이 모두 참 =&gt; <code>true</code></li><li>두 조건문 중 하나가 참 =&gt; <code>true</code></li><li>두 조건문 모두 거짓 =&gt; <code>false</code></li></ul><h3 id="--1">결론</h3><p>이 글에서, 우리는 Java에서 어떻게 비트 연산자 &amp;를 사용하고, 이에 따른 결과는 어떤것인지 배웠습니다.<br>또한 Java에서 논리연산자 &amp;&amp;와 || 를 어떻게 사용하는지 배웠습니다.<br>연산에서 사용하는 조건문에 따라 각 연산이 반환하는 값을 배웠습니다.</p><p>즐거운 코딩하세요!</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Java 배우기 - 초보자를 위한 무료 Java 수업 ]]>
                </title>
                <description>
                    <![CDATA[ Java는 25년간 지속되어온 정말 인기있는 언어입니다. 만약 Java를 배우는 것에 관심이 있다면, 선택할 수 있는 많은 무료 온라인 과정들이 있습니다.  * 초보자를 위한 Java 튜토리얼 - Mosh와 함께하는 프로그래밍  * Java 수업 과정 - SoloLearn  * Java 프로그래밍: 소프트웨어로 문제 해결하기 - Coursera  * Java 프로그래밍: ]]>
                </description>
                <link>https://www.freecodecamp.org/korean/news/java-baeugi-cobojareul-wihan-muryo-java-sueob/</link>
                <guid isPermaLink="false">63f613871d2b73063c4ce96d</guid>
                
                    <category>
                        <![CDATA[ Java ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ HYOJIN KIM ]]>
                </dc:creator>
                <pubDate>Thu, 23 Feb 2023 08:34:02 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/korean/news/content/images/2023/02/learn-java-free-java-courses-for-beginners.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>기사 원문:</strong> <a href="https://www.freecodecamp.org/news/learn-java-free-java-courses-for-beginners/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">Learn Java – Free Java Courses for Beginners</a>
      </p><!--kg-card-begin: markdown--><p>Java는 25년간 지속되어온 정말 인기있는 언어입니다. 만약 Java를 배우는 것에 관심이 있다면, 선택할 수 있는 많은 무료 온라인 과정들이 있습니다.</p>
<ul>
<li><a href="#java-tutorial-for-beginners-programming-with-mosh">초보자를 위한 Java 튜토리얼 - Mosh와 함께하는 프로그래밍</a></li>
<li><a href="#java-course-soloLearn">Java 수업 과정 - SoloLearn</a></li>
<li><a href="#java-programming-solving-problems-with-software">Java 프로그래밍: 소프트웨어로 문제 해결하기</a> - Coursera</li>
<li><a href="#java-programming-arrays-lists-and-structured-data">Java 프로그래밍: Array, Lists, 그리고 구조화된 데이터</a> - Coursera</li>
<li><a href="#java-programming-principles-of-software-design">Java 프로그래밍: 소프트웨어 디자인의 원칙</a> - Coursera</li>
<li><a href="#java-programming-basics">Java 프로그래밍 기초</a> - Udacity</li>
<li><a href="#java-programming">Java 프로그래밍</a> - Test Automation University</li>
<li><a href="#intro-to-java-programming-course-for-absolute-beginners">진짜 초보자를 위한 Java 프로그래밍 수업 개요</a> - freeCodeCamp</li>
<li><a href="#learn-functional-programming-in-java">Java에서 함수형 프로그래밍 배우기</a> - freeCodeCamp</li>
<li><a href="#java-virtual-machine-architecture-explained-for-beginners">초보자를 위한 Java 가상 머신 구조(JVM)</a> - freeCodeCamp</li>
</ul>
<h3 id="java-tutorial-for-beginners-programming-with-mosh">초보자를 위한 Java 튜토리얼</h3>
<p><a href="https://www.youtube.com/watch?v=eIrMbAQSU34">Mosh와 함께하는 프로그래밍 유튜브 수업</a> 에서는 문자열, 배열, 조건문, 반복문 등을 배우게 됩니다.<br>
대출 계산기 또한 만들어볼수 있습니다.</p>
<h3 id="java-course-soloLearn">Java 수업 과정</h3>
<p><a href="https://www.sololearn.com/learn/courses/java-introduction">SoloLearn 수업</a> 에서는 배열, 객체, 클래스, 반복문 등을 배우게 됩니다.</p>
<h3 id="java-programming-solving-problems-with-software">Java 프로그래밍: 소프트웨어로 문제 해결하기</h3>
<p><a href="https://www.coursera.org/learn/java-programming?specialization=java-programming">Coursera 수업</a> 에서는 클래스, 조건문, 반복문, 함수 등을 배우게 됩니다.<br>
또한 CSV 파일을 Java에서 어떻게 다루는지를 배우고 간단한 프로젝트도 만들어볼수 있습니다.</p>
<h3 id="java-programming-arrays-lists-and-structured-data">#Java 프로그래밍: Array, Lists, 그리고 구조화된 데이터</h3>
<p><a href="https://www.coursera.org/learn/java-programming-arrays-lists-data?specialization=java-programming">Coursera 수업</a> 에서는<br>
배열, 암호화, HashMap 을 배우게 됩니다. Vigenère 암호화에 대한 간단한 프로젝트도 만들어볼수 있습니다.</p>
<h3 id="java-programming-principles-of-software-design">Java 프로그래밍: 소프트웨어 디자인의 원칙</h3>
<p><a href="https://www.coursera.org/learn/java-programming-design-principles?specialization=java-programming">Coursera 수업</a> 에서는<br>
각기 다른 정렬 알고리즘들과 자동 완성 텍스트의 기초에 대해 배우게 됩니다.</p>
<h3 id="java-programming-basics">Java 프로그래밍 기초</h3>
<p><a href="https://www.udacity.com/course/java-programming-basics--ud282">Udacity 수업</a> 에서는<br>
배열, 객체, 클래스, 반복문, 디버깅 등을 배우게 됩니다.</p>
<p>초보자를 위한 수업들을 완주하고 나면, 중급 난이도의 <a href="https://www.udacity.com/course/object-oriented-programming-in-java--ud283">객체 지향 프로그래밍수업</a> 을 들을 수 있습니다</p>
<h3 id="java-programming">Java 프로그래밍</h3>
<p><a href="https://testautomationu.applitools.com/java-programming-course/">Test Automation University 수업</a> 에서는<br>
클래스, 반복문, switch 문, 조건문, 배열, 문자열, 추상화 등을 배우게 됩니다.</p>
<h3 id="intro-to-java-programming-course-for-absolute-beginners">진짜 초보자를 위한 Java 프로그래밍 수업 개요</h3>
<p><a href="https://www.youtube.com/watch?v=GoXwIVyNvX0">freeCodeCamp 유튜브 수업</a> 에서는<br>
배열, 객체, 클래스, 반복문, 디버깅 등을 배우게 됩니다.</p>
<h3 id="learn-functional-programming-in-java">Java에서 함수형 프로그래밍 배우기</h3>
<p><a href="https://www.youtube.com/watch?v=rPSL1alFIjI">freeCodeCamp 유튜브 수업</a> 에서는<br>
함수형 프로그래밍의 특징과 콜백, 함수형 인터페이스, combinator 패턴(한국에서는 composition 패턴으로 더 많이 알려져있습니다 - 옮긴이), 람다 등을 배우게 됩니다.</p>
<h3 id="java-virtual-machine-architecture-explained-for-beginners">초보자를 위한 Java 가상 머신 구조(JVM)</h3>
<p><a href="https://www.freecodecamp.org/news/jvm-tutorial-java-virtual-machine-architecture-explained-for-beginners/">freeCodeCamp 글</a> 에서는<br>
Java 가상 머신(Java Virtual Machine)와 그 이면의 구조에 대해서 배우게 됩니다.</p>
<!--kg-card-end: markdown--> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ 문자열에서 문자 배열로, Java 튜토리얼 ]]>
                </title>
                <description>
                    <![CDATA[ 이 글에서 저희는 Java에서 문자열(String) 타입의 데이터를 문자 배열(Character Array) 타입으로 어떻게 바꾸는지를 알아볼거에요. 또한 간단히 문자열과, 문자 그리고 배열이 어떤것인지도 설명해드리겠습니다. Java에서 문자란 무엇일까요? 문자에 해당하는 char 타입은 기본형 테이터 타입입니다. char는 하나의 문자로 작은따옴표로 감싸져 있습니다. char 타입은 글자, 숫자, 문장부호, 띄어쓰기 혹은 그 외의 비슷한 무엇인가가 될수도 ]]>
                </description>
                <link>https://www.freecodecamp.org/korean/news/munjayeoleseo-munja-baeyeolro-java-tyutorieol/</link>
                <guid isPermaLink="false">63d785a141a99b065fb5aabd</guid>
                
                    <category>
                        <![CDATA[ Java ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ HYOJIN KIM ]]>
                </dc:creator>
                <pubDate>Wed, 01 Feb 2023 09:23:17 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/korean/news/content/images/2023/01/string-to-char-array-java-tutorial.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>기사 원문:</strong> <a href="https://www.freecodecamp.org/news/string-to-char-array-java-tutorial/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">String to Char Array Java Tutorial</a>
      </p><p>이 글에서 저희는 Java에서 문자열(String) 타입의 데이터를 문자 배열(Character Array) 타입으로 어떻게 바꾸는지를 알아볼거에요. 또한 간단히 문자열과, 문자 그리고 배열이 어떤것인지도 설명해드리겠습니다.</p><h3 id="java-">Java에서 문자란 무엇일까요?</h3><p>문자에 해당하는 char 타입은 기본형 테이터 타입입니다. char는 하나의 문자로 작은따옴표로 감싸져 있습니다. char 타입은 글자, 숫자, 문장부호, 띄어쓰기 혹은 그 외의 비슷한 무엇인가가 될수도 있습니다.<br>다음을 예로 들어볼수 있습니다:</p><pre><code>char firstVowel = 'a';
</code></pre><h3 id="java--1">Java에서 문자열이란 무엇일까요?</h3><p>문자열에 해당하는 String 타입은 객체(참조형 타입)입니다. String은 문자열로 이루어져 있습니다. 큰따옴표로 감싸져 있다면 무엇이든 상관없습니다.<br>다음을 예로 들어볼수 있습니다:</p><pre><code>String vowels = "aeiou";
</code></pre><h3 id="java--2">Java에서 배열이란 무엇일까요?</h3><p>배열(Array)는 같은 타입의 요소들을 정해진 갯수만큼 저장할수 있는 Java의 기본적인 데이터 구조입니다.<br>예시로 문자들의 배열을 정의해볼수 있습니다:</p><pre><code>char[] vowelArray = {'a', 'e', 'i', 'o', 'u'};
</code></pre><p>이제 저희는 문자열, 문자 그리고 배열이 무엇인지에 대한 기본적인 이해를 갖추었습니다.</p><h3 id="-">문자열을 문자 배열로 변환해봅시다</h3><h4 id="1-tochararray-instance-">1. toCharArray() instance 메소드를 사용하기</h4><p><code>toCharArray()</code>는 <code>String</code> 클래스의 instance 메소드입니다. 이는 현재 string 객체에 기반하여 새로운 문자 배열을 반환합니다.</p><p>예시를 함께 살펴봅시다:</p><pre><code>// 문자열 정의하기 
String vowels = "aeiou";
// 문자 배열 생성하기
char[] vowelArray = vowels.toCharArray();
// vowelArray 출력하기
System.out.println(Arrays.toString(vowelArray));
</code></pre><p>출력 결과: <code>[a, e, i, o, u]</code></p><p>문자열을 문자 배열로 변환할때, 길이는 동일하게 유지됩니다. <code>vowels</code>과 <code>vowelArray</code>의 길이를 비교해봅시다:</p><pre><code>System.out.println("Length of \'vowels\' is " + vowels.length());
System.out.println("Length of \'vowelArray\' is " + vowelArray.length);
</code></pre><p>출력 결과:</p><pre><code>Length of 'vowels' is 5
Length of 'vowelArray' is 5
</code></pre><p>배열을 출력하는데는 여러 방법을 사용할수 있지만, 저는 Arrays utility 클래스의 <code>toString()</code>이라는 static 메소드를 사용하였습니다.<br><code>toCharArray()</code> instance 메소드에 대한 더 많은 정보는 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#toCharArray--">Java 문서</a> 에서 확인할 수 있습니다</p><h4 id="2-charat-instance-">2. charAt() instance 메소드를 사용하기</h4><p><code>charAt()</code>은 String 클래스의 instance 메소드입니다. 이는 현재 문자열에서 특정 인덱스에 위치한 문자를 반환합니다.</p><p><strong>참고</strong>: 문자열은 배열과 유사하게 인덱스가 0부터 시작합니다.</p><p>이제 <code>charAt()</code>을 이용하여 문자열을 문자로 변환하는 방법을 알아봅시다:</p><pre><code>// 문자열 정의하기 
String vowels = "aeiou";
// 문자 배열 생성하기. 배열의 길이는 vowels의 길이만큼이다. 
char[] vowelArray = new char[vowels.length()];
// 'vowels' 문자열의 각 문자를 순회하는 루프
for (int i = 0; i &lt; vowels.length(); i++) {
    // add each character to the character array
    vowelArray[i] = vowels.charAt(i);
}
// 배열 출력하기
System.out.println(Arrays.toString(vowelArray));
</code></pre><p>출력 결과: <code>[a, e, i, o, u]</code></p><p><code>charAt()</code> instance 메소드에 대한 더 많은 정보는 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#charAt-int-">Java 문서</a> 에서 확인할 수 있습니다</p><p>문자열을 문자 배열로 변환하는 다른 방법을 알려드리긴했지만, 루프를 생성하고 이를 순회하는 방법대신 <code>toCharArray()</code> 메소드를 이용하여 더 쉽게 변환할수 있습니다.</p><p>혹시 제안이나 질문이 있다면 언제든지 말씀 부탁드립니다.</p><p>사진은 <a href="https://www.freecodecamp.org/news/s/photos/happy?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a> 의 <a href="https://unsplash.com/ko/@a2_foto?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Alex Alvarez</a> 의 사진입니다.</p><p><strong><a href="https://www.freecodecamp.org/news/building-a-data-science-curriculum-with-advanced-math-and-machine-learning/">데이터 사이언스 커리큘럼 펀딩</a> 을 통해 freeCodeCamp를 응원해주세요</strong></p><p>제게 연락하고 싶다면 <a href="https://mvthanoshan.medium.com/">Medium</a> 을 통해 연락주시면 됩니다</p><p>감사합니다 😇</p><p>즐거운 코딩 되세요 ❤️</p><h4 id="java--3">Java 프로그래밍에 관한 추가정보</h4><ol><li><a href="https://www.freecodecamp.org/news/java-object-oriented-programming-system-principles-oops-concepts-for-beginners/">Java의 객체 지향 프로그래밍의 원칙: 초보자를 위한 객체 지향 프로그래밍의 개념</a></li><li><a href="https://www.freecodecamp.org/news/java-array-methods-how-to-print-an-array-in-java/">Java 배열 메소드 - 자바에서 배열을 출력하는 방법</a></li><li><a href="https://www.freecodecamp.org/news/java-string-to-int-how-to-convert-a-string-to-an-integer/">Java String부터 Int까지 - 문자열 타입에서 정수형 타입으로 변환하는 방법</a></li><li><a href="https://www.freecodecamp.org/news/generate-random-numbers-java/">Java 난수 생성기 – Math Random을 사용하여 난수 생성하는 방법</a></li></ol> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ 자바에서 문자열을 int로 바꾸기 - 문자열(string)을 정수(integer)로 바꾸는 법 ]]>
                </title>
                <description>
                    <![CDATA[ 문자열 객체(object)들은 문자들의 열로 표현된다. 스윙(Java Swing)을 써 본 사람이라면, 거기에 있는 그래픽 사용자 인터페이스에서 입력 값을 가져오기 위해 JTextField나 JTextArea같은 컴포넌트가 쓰이는 것을 봤을 것이다. 이런 컴포넌트들은 우리가 필요한 입력 값을 문자열 형태로 가져온다. 스윙을 이용해서 간단한 계산기를 만든다고 하자. 그럼 문자열(string)을 정수(integer)로 바꾸는 법을 알아야한다. 그러면 물음표가 떠오른다 ]]>
                </description>
                <link>https://www.freecodecamp.org/korean/news/java-string-to-int-how-to-convert-a-string-to-an-integer/</link>
                <guid isPermaLink="false">62d27e8fb9e7840586028f82</guid>
                
                    <category>
                        <![CDATA[ Java ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Alison Yoon ]]>
                </dc:creator>
                <pubDate>Sat, 16 Jul 2022 09:03:57 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/korean/news/content/images/2022/07/Untitled-design.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>기사 원문:</strong> <a href="https://www.freecodecamp.org/news/java-string-to-int-how-to-convert-a-string-to-an-integer/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">Java String to Int – How to Convert a String to an Integer</a>
      </p><!--kg-card-begin: markdown--><h3 id="object">문자열 객체(object)들은 문자들의 열로 표현된다.</h3>
<p>스윙(Java Swing)을 써 본 사람이라면, 거기에 있는 그래픽 사용자 인터페이스에서 입력 값을 가져오기 위해 JTextField나 JTextArea같은 컴포넌트가 쓰이는 것을 봤을 것이다. 이런 컴포넌트들은 우리가 필요한 입력 값을 문자열 형태로 가져온다.</p>
<p>스윙을 이용해서 간단한 계산기를 만든다고 하자. 그럼 문자열(string)을 정수(integer)로 바꾸는 법을 알아야한다. 그러면 물음표가 떠오른다 - 문자열(string)을 정수(integer)로 어떻게 변환할까?</p>
<p>자바에서 문자열을 정수로 변환하기 위해서는 두가지 방법, <code>Interger.valueOf()</code> 과 <code>Integer.parseInt()</code> 이 있다.</p>
<h2 id="1integerparseint">1. Integer.parseInt() 를 사용하는 법</h2>
<p>이 메소드는 문자열을 기본형 정수 (primitive type int)로 리턴한다. 문자열이 유효한 숫자를 포함하지 않는다면 <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/NumberFormatException.html">NumberFormatException</a>이 쓰로우 된다.</p>
<p>그렇기 때문에 문자열을 int로 바꿀때에는 항상 try-catch문으로 코드를 감싸서 이 익셉션을 처리해야 한다.</p>
<p><code>Integer.parseInt()</code> 를 써서 문자열을 int로 바꾸는 이 예시를 보자.</p>
<pre><code>  String str = "25";
        try{
            int number = Integer.parseInt(str);
            System.out.println(number); // output = 25
        }
        catch (NumberFormatException ex){
            ex.printStackTrace();
        }
</code></pre>
<p>이제 입력값에 유효하지 않은 정수를 대입해 본다.</p>
<pre><code>    	String str = "25T";
        try{
            int number = Integer.parseInt(str);
            System.out.println(number);
        }
        catch (NumberFormatException ex){
            ex.printStackTrace();
        }
</code></pre>
<p>위에 있는 코드에서는 <code>25T</code> 를 정수로 변환하려고 한다. 이는 유효한 입력값이 아니다. 그렇기 때문에 NumberFormatException을 쓰로우하게 된다.</p>
<p>위에 있는 코드의 결과값은 이렇다:</p>
<pre><code>java.lang.NumberFormatException: For input string: "25T"
	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
	at java.lang.Integer.parseInt(Integer.java:580)
	at java.lang.Integer.parseInt(Integer.java:615)
	at OOP.StringTest.main(StringTest.java:51)
</code></pre>
<p>다음으로는 <code>Integer.valueOf()</code> 를 사용해서 문자열을 정수로 바꾸는 법을 살펴보자.</p>
<h2 id="2intergervalueof">2. Interger.valueOf() 를 사용하는 법</h2>
<p>이 방법은 문자열을 정수 객체(integer object)로 리턴한다. 자바 도큐멘테이션을 보면 <code>Integer.valueOf()</code> 는 정수 객체를 리턴한다고 나온다. <code>new Interger(Integer.parseInt(s))</code> 와 동일한 셈이다.</p>
<p><code>Integer.valueOf()</code> 메소드를  try-catch문과 함께 사용하는 코드 예시를 보자.</p>
<pre><code>        String str = "25";
        try{
            Integer number = Integer.valueOf(str);
            System.out.println(number); // output = 25
        }
        catch (NumberFormatException ex){
            ex.printStackTrace();
        }
</code></pre>
<p>이번에는 입력값에 유효하지 않은 정수를 넣어보자.</p>
<pre><code>     String str = "25TA";
        try{
            Integer number = Integer.valueOf(str);
            System.out.println(number);
        }
        catch (NumberFormatException ex){
            ex.printStackTrace();
        }
</code></pre>
<p>앞서 봤던 예시와 마찬가지로 이 코드도 익셉션을 쓰로우 할 것이다.</p>
<p>위에 있는 코드의 결과 값은 이렇다.</p>
<pre><code>java.lang.NumberFormatException: For input string: "25TA"
	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
	at java.lang.Integer.parseInt(Integer.java:580)
	at java.lang.Integer.valueOf(Integer.java:766)
	at OOP.StringTest.main(StringTest.java:42)
</code></pre>
<p>위에서 본 메소드들을 쓰기 전에 먼저 입력된 문자열이 숫자인지 아닌지 확인하는 메소드를 만들어서 쓸 수도 있다.</p>
<p>입력된 문자열이 숫자인지 아닌지 확인하는 간단한 메소드를 만들어보았다.</p>
<pre><code>public class StringTest {
    public static void main(String[] args) {
        String str = "25";
        String str1 = "25.06";
        System.out.println(isNumeric(str));
        System.out.println(isNumeric(str1));
    }

    private static boolean isNumeric(String str){
        return str != null &amp;&amp; str.matches("[0-9.]+");
    }
}
</code></pre>
<p>결과값은 이렇다:</p>
<pre><code>true
true
</code></pre>
<p><code>isNumeric()</code> 메소드는 전달인자(argument)로 문자열을 받는다. 그리고 전달인자가 <code>null</code> 인지 아닌지를 확인한다. 그 다음에는 0부터 9사이에 있는 숫자들이나 소수점이 있는지 <code>matches()</code> 메소드를 써서 확인한다.</p>
<p>위의 방법은 문자열에서 숫자값을 확인하기 위한 간단한 예시이고, 유스케이스에 따라서 또 다른 방법으로는 정규표현식(regular expression)을 쓸 수도 있는데 (이 포스트에서는 다루지 않겠지만) 구글 검색을 추천한다.</p>
<p>입력된 문자열이 숫자인지 아닌지 먼저 체크를 한 후에 그 문자열을 숫자로 변환하는 것이 정석이다.</p>
<p>Thank you for reading.</p>
<p>Post image by&nbsp;<a href="https://unsplash.com/@itfeelslikefilm?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">🇸🇮 Janko Ferlič</a>&nbsp;on&nbsp;<a href="https://unsplash.com/collections/139346/soul-care?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></p>
<p>You can connect with me on&nbsp;<a href="https://mvthanoshan.medium.com/">Medium</a>.</p>
<p><strong>Happy Coding!</strong></p>
<!--kg-card-end: markdown--> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
