<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>hyejin_dev.log</title>
        <link>https://velog.io/</link>
        <description>hello :)</description>
        <lastBuildDate>Fri, 30 Dec 2022 07:04:32 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>hyejin_dev.log</title>
            <url>https://velog.velcdn.com/images/hyejin_dev/profile/9006ae7a-0ca8-4797-bf11-350317fadde9/image.jpeg</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. hyejin_dev.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/hyejin_dev" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[Integer ArrayList를 int 배열로 변환 방법]]></title>
            <link>https://velog.io/@hyejin_dev/Integer-ArrayList%EB%A5%BC-int-%EB%B0%B0%EC%97%B4%EB%A1%9C-%EB%B3%80%ED%99%98-%EB%B0%A9%EB%B2%95</link>
            <guid>https://velog.io/@hyejin_dev/Integer-ArrayList%EB%A5%BC-int-%EB%B0%B0%EC%97%B4%EB%A1%9C-%EB%B3%80%ED%99%98-%EB%B0%A9%EB%B2%95</guid>
            <pubDate>Fri, 30 Dec 2022 07:04:32 GMT</pubDate>
            <description><![CDATA[<p>String 타입의 List를 배열로 변환할 때는 toArray()를 사용하면 변환할 수 있다.
하지만 <code>int</code>형과 같은 <code>primitive 타입</code>은 <strong>toArray()를 사용할 수 없다.</strong> 
따라서 int형과 같은 primitive 타입은 아래의 방법을 통해 가능하다.</p>
<pre><code class="language-java">public static void main(String args[]) {
    List&lt;Integer&gt; list = new ArrayList&lt;&gt;();
    list.add(1);
    list.add(2);
    list.add(3);

    // 방법 1
    int[] arr1 = new int[list.size()]
    for (int i = 0 ; i &lt; list.size() ; i++) {
        arr1[i] = list.get(i).intValue();
    }

    // 방법 2
    int[] arr2 = list.stream()
                .mapToInt(i -&gt; i)
                .toArray();

    // 방법 3
    int[] arr3 = list.stream()
                .mapToInt(Integer::intValue)
                .toArray();

    // 방법 4
    int[] arr4 = list.stream()
                .filter(i -&gt; i != null)
                .mapToInt(i -&gt; i)
                .toArray();
}</code></pre>
]]></description>
        </item>
        <item>
            <title><![CDATA[int 와 Integer 의 차이점]]></title>
            <link>https://velog.io/@hyejin_dev/int-%EC%99%80-Integer-%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90</link>
            <guid>https://velog.io/@hyejin_dev/int-%EC%99%80-Integer-%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90</guid>
            <pubDate>Fri, 30 Dec 2022 05:45:04 GMT</pubDate>
            <description><![CDATA[<h2 id="int">int</h2>
<p><strong>변수의 타입(data type)이다.</strong></p>
<ul>
<li>변수의 형을 지정해주고 있는 것</li>
<li>변수의 타입(= data type = 자료형) </li>
</ul>
<p><code>자료형</code> : &#39;data의 type에 따라 값이 저장될 공간의 크기와 저장 형식을 정의한 것</p>
<p>자료형은 기본형(primitive type)과 참조형(referece type)으로 나뉘는데,
int 는 이 중 기본형에 속함</p>
<pre><code>기본형
1. 정수 타입 : byte, char, short, int, long
2. 실수 타입 : float, double
3. 논리 타입 : boolean

참조형
1. 배열 타입
2. 열거 타입
3. 클래스
4. 인터페이스</code></pre><p><img src="https://velog.velcdn.com/images/hyejin_dev/post/0c78b8c8-de9b-43ac-b152-f917800639e2/image.png" alt=""></p>
<h2 id="integer">Integer</h2>
<p><strong>Intege</strong>r는 <strong>int</strong>의 <strong>레퍼클레스</strong> 이다</p>
<ul>
<li>매개변수로 객체를 필요로 할 때</li>
<li>기본형 값이 아닌 객체로 저장해야할 때</li>
<li>객체 간 비교가 필요할 때</li>
</ul>
<p><code>래퍼클래스(wrapper class)</code> : 기본형을 객체로 다루기 위해 사용하는 클래스들</p>
<h2 id="최종-정리">최종 정리</h2>
<h3 id="int--자료형primitive-type">int : 자료형(primitive type)</h3>
<ul>
<li>산술 연산 가능함</li>
<li>null로 초기화 불가</li>
</ul>
<h3 id="integer--래퍼-클래스-wrapper-class">Integer : 래퍼 클래스 (Wrapper class)</h3>
<ul>
<li>Unboxing하지 않을 시 산술 연산 불가능함</li>
<li>null값 처리 가능</li>
</ul>
<p><code>boxing</code> : primitive type -&gt; wrapper class 변환 ( int to Integer )
<code>unboxing</code> : wrapper class -&gt; primitive type 변환 ( Integer to int )</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[INTELLIJ 파일만 보이는 버그 해결 방법 (폴더 사라짐)]]></title>
            <link>https://velog.io/@hyejin_dev/INTELLIJ-%ED%8C%8C%EC%9D%BC%EB%A7%8C-%EB%B3%B4%EC%9D%B4%EB%8A%94-%EB%B2%84%EA%B7%B8-%ED%95%B4%EA%B2%B0-%EB%B0%A9%EB%B2%95-%ED%8F%B4%EB%8D%94-%EC%82%AC%EB%9D%BC%EC%A7%90</link>
            <guid>https://velog.io/@hyejin_dev/INTELLIJ-%ED%8C%8C%EC%9D%BC%EB%A7%8C-%EB%B3%B4%EC%9D%B4%EB%8A%94-%EB%B2%84%EA%B7%B8-%ED%95%B4%EA%B2%B0-%EB%B0%A9%EB%B2%95-%ED%8F%B4%EB%8D%94-%EC%82%AC%EB%9D%BC%EC%A7%90</guid>
            <pubDate>Wed, 19 Oct 2022 00:44:01 GMT</pubDate>
            <description><![CDATA[<h3 id="git-pull-이후-폴더가-제대로-보이지-않는다면"><strong>git pull</strong> 이후 폴더가 제대로 보이지 않는다면?!</h3>
<blockquote>
<ol>
<li>File &gt; Project Structure &gt; Modules</li>
<li>+를 눌러 Import Module 선택</li>
<li>자신의 프로젝트 Root 폴더를 선택</li>
<li>next &gt; ok</li>
</ol>
</blockquote>
]]></description>
        </item>
        <item>
            <title><![CDATA[Spring - DAO, DTO, VO 개념 정리]]></title>
            <link>https://velog.io/@hyejin_dev/Spring-DAO-DTO-VO-%EA%B0%9C%EB%85%90-%EC%A0%95%EB%A6%AC</link>
            <guid>https://velog.io/@hyejin_dev/Spring-DAO-DTO-VO-%EA%B0%9C%EB%85%90-%EC%A0%95%EB%A6%AC</guid>
            <pubDate>Tue, 18 Oct 2022 13:00:27 GMT</pubDate>
            <description><![CDATA[<h2 id="dao">DAO</h2>
<ul>
<li>DAO (Data Access Object) 는 <U>데이터베이스의 data에 접근하기 위한 객체</U></li>
<li>Service와 DB를 연결하는 고리의 역할</li>
<li>SQL를 사용해 DB에 접근한 후 적절한 <strong>CRUD</strong> API를 제공</li>
<li>DataBase에 접근 하기 위한 로직 &amp; 비지니스 로직을 분리하기 위해 사용</li>
</ul>
<h2 id="dto">DTO</h2>
<ul>
<li>DTO (Data Transfer Object)</li>
<li><U>계층 간 <strong>데이터 교환</strong>을 하기 위해 <strong>단순 통신</strong> 용도로 오고가는 Data 전달 객체</U> (Java Beans)</li>
<li>로직을 가지지 않는 순수한 데이터 객체(getter &amp; setter 만 가진 클래스)</li>
<li>조금 더 포괄적으로 제한없이 사용할 수 있는 객체</li>
<li>DB에서 데이터를 얻어 Service나 Controller 등으로 보낼 때 사용하는 객체</li>
<li>유저가 입력한 데이터를 DB에 넣는 과정<blockquote>
<ol>
<li>유저가 자신의 브라우저에서 데이터를 입력하여 form에 있는 데이터를 DTO에 넣어서 전송</li>
<li>해당 DTO를 받은 서버가 DAO를 이용하여 데이터베이스로 데이터를 집어넣음</li>
</ol>
</blockquote>
</li>
</ul>
<h2 id="vo">VO</h2>
<ul>
<li>VO(Value Object) </li>
<li>조금 더 특정한 Business Logic의 결과 값을 담는 객체</li>
<li><code>equals</code>, <code>hashCode</code> Method를 구현하여 특정 중요한 Data를 전달할 때 사용</li>
<li>read-Only 특징 (사용하는 도중에 변경 불가능하며 오직 읽기만 가능)을 가짐</li>
<li>DTO와 유사하지만 DTO는 <strong>setter를 가지고 있어</strong> 값이 변할 수 있음</li>
</ul>
]]></description>
        </item>
    </channel>
</rss>