<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>da_weuny.log</title>
        <link>https://velog.io/</link>
        <description>매일매일 최선을 다하는 개발자</description>
        <lastBuildDate>Sun, 23 Jan 2022 08:20:48 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>da_weuny.log</title>
            <url>https://images.velog.io/images/da_weuny/profile/3cc0e24d-a07e-4080-b3da-5a86dfb6bd85/social.png</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. da_weuny.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/da_weuny" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[[JAVA] charAt(), substring() 차이]]></title>
            <link>https://velog.io/@da_weuny/JAVA-charAt-substring-%EC%B0%A8%EC%9D%B4</link>
            <guid>https://velog.io/@da_weuny/JAVA-charAt-substring-%EC%B0%A8%EC%9D%B4</guid>
            <pubDate>Sun, 23 Jan 2022 08:20:48 GMT</pubDate>
            <description><![CDATA[<br>

<h4 id="💡-오늘의-호기심">💡 오늘의 호기심</h4>
<ul>
<li><strong>백준 문제풀이를 진행하다 charAt()과 substring()의 차이에 대해 궁금해져서 알아보았다.</strong></li>
</ul>
<hr>
<br>


<h2 id="span-stylecolorgray1-charatspan"><span style="color:gray">1. charAt()</span></h2>
<h4 id="❓-인수번째의-문자를-읽음">❓ 인수번째의 문자를 읽음.</h4>
<h4 id="ex">ex)</h4>
<pre><code>java
String str = &quot;abcde&quot;;
str.charAt(1);
System.out.println(str.charAt(1)); // &#39;b&#39;</code></pre><h4 id="chatati--i-인덱스에-해당하는-문자가-나옴">chatAt(i) : i 인덱스에 해당하는 문자가 나옴.</h4>
<br>

<hr>
<h2 id="span-stylecolorgray2-substringspan"><span style="color:gray">2. substring()</span></h2>
<h4 id="❓-문자열을-읽을-수-있음">❓ 문자열을 읽을 수 있음.</h4>
<h4 id="ex-1">ex)</h4>
<pre><code>java
String str = &quot;abcde&quot;;
str.substring(1,4);
System.out.println(str.substring(1,4)); // bcd</code></pre><br>

<h4 id="strsubstring시작-위치-종료위치"><strong>str.substring(시작 위치, 종료위치)</strong></h4>
<h4 id="str-substring14--1번-인덱스의-값부터-4번-인덱스의-직전값까지-읽어라"><strong>str .substring(1,4) : 1번 인덱스의 값부터 4번 인덱스의 직전값까지 읽어라.</strong></h4>
<br>

<hr>
]]></description>
        </item>
        <item>
            <title><![CDATA[[JAVA] Arrays.sort()와 Collections.sort() 차이]]></title>
            <link>https://velog.io/@da_weuny/JAVA-Arrays.sort%EC%99%80-Collections.sort-%EC%B0%A8%EC%9D%B4</link>
            <guid>https://velog.io/@da_weuny/JAVA-Arrays.sort%EC%99%80-Collections.sort-%EC%B0%A8%EC%9D%B4</guid>
            <pubDate>Mon, 17 Jan 2022 06:58:58 GMT</pubDate>
            <description><![CDATA[<br>

<h4 id="💡-백준-문제를-풀다가-arrayssort로-문제를-풀었는데-시간-초과가-나서-인터넷-검색을-하다-collectionssort로-풀면-된다는-해결책을-얻었다">💡 백준 문제를 풀다가 Arrays.sort로 문제를 풀었는데 시간 초과가 나서, 인터넷 검색을 하다 Collections.sort()로 풀면 된다는 해결책을 얻었다.</h4>
<br>

<h3 id="❓-과연-무슨-차이가-있을까">❓ 과연 무슨 차이가 있을까?</h3>
<blockquote>
<p>** 보편적으로 배열을 정렬할 땐 Arrays.sort(), 컬렉션(List, Set...)을 정렬할 땐 Collections.sort()를 사용한다!**</p>
</blockquote>
<h2 id="♠-arrayssort">♠ Arrays.sort()</h2>
<ul>
<li>정렬방식 : DualPivotQuickSort</li>
<li>시간복잡도<pre><code>       평균 : O(nlong(n)) / 최악 : O(n^2)</code></pre></li>
</ul>
<br>

<h2 id="♠-collectionssort">♠ Collections.sort()</h2>
<ul>
<li>정렬방식 : TimeSort(삽입정렬과 합병정렬을 결합한 정렬)</li>
<li>시간복잡도 <pre><code>       평균,최악 : O(nlog(n))</code></pre></li>
</ul>
<hr>
<h3 id="👍-하나만-쓰기보다는-특정한-상황에-맞춰-쓰는-것이-좋은-것-같다">👍 하나만 쓰기보다는 특정한 상황에 맞춰 쓰는 것이 좋은 것 같다.</h3>
]]></description>
        </item>
        <item>
            <title><![CDATA[[Vue.js] label과 span의 차이]]></title>
            <link>https://velog.io/@da_weuny/Vue.js-label%EA%B3%BC-span%EC%9D%98-%EC%B0%A8%EC%9D%B4</link>
            <guid>https://velog.io/@da_weuny/Vue.js-label%EA%B3%BC-span%EC%9D%98-%EC%B0%A8%EC%9D%B4</guid>
            <pubDate>Mon, 11 Oct 2021 17:10:57 GMT</pubDate>
            <description><![CDATA[<h4 id="vuejs를-공부하던-도중-label-태그가-나오길래-언제-라벨-태그를-사용할까하고-고민하다가-span-태그와-어떤-차이점이-있을까-하는-의문이-들었다">vue.js를 공부하던 도중 label 태그가 나오길래 &#39;언제 라벨 태그를 사용할까..&#39;하고 고민하다가 span 태그와 어떤 차이점이 있을까 하는 의문이 들었다.</h4>
<br>

<h3 id="⭐-결론부터-말하자면-label을-더-자주-사용할-것-같다">⭐ 결론부터 말하자면 label을 더 자주 사용할 것 같다.</h3>
<br>

<hr>
<h2 id="👍-label-태그">👍 label 태그</h2>
<h3 id="체크박스-옆의-글자를-클릭해도-체크박스가-활성화되게-할-수-있음">체크박스 옆의 글자를 클릭해도 체크박스가 활성화되게 할 수 있음!</h3>
<br>

<h2 id="👍-span-태그">👍 span 태그</h2>
<h3 id="inline-속성으로-크기-지정이-안됨">inline 속성으로 크기 지정이 안됨.</h3>
<h3 id="margin은-좌우만-적용되며-겹치지-않음">margin은 좌우만 적용되며 겹치지 않음.</h3>
<h3 id="텍스트에서-사용-권장함">텍스트에서 사용 권장함.</h3>
<hr>
<br>


<h2 id="📌-결론">📌 결론</h2>
<h3 id="체크박스-속성에는-label-쓰자">체크박스 속성에는 label 쓰자!</h3>
<br>

<h5 id="참고한-블로그">참고한 블로그</h5>
<ul>
<li><a href="https://m.blog.naver.com/zozokjs/221919004380">https://m.blog.naver.com/zozokjs/221919004380</a></li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[[Java] 유용한 클래스]]></title>
            <link>https://velog.io/@da_weuny/Java-%EC%9C%A0%EC%9A%A9%ED%95%9C-%ED%81%B4%EB%9E%98%EC%8A%A4</link>
            <guid>https://velog.io/@da_weuny/Java-%EC%9C%A0%EC%9A%A9%ED%95%9C-%ED%81%B4%EB%9E%98%EC%8A%A4</guid>
            <pubDate>Fri, 01 Oct 2021 08:50:49 GMT</pubDate>
            <description><![CDATA[<h2 id="👍-object-클래스">👍 Object 클래스</h2>
<ul>
<li><h3 id="public-string-tostring">public String toString()</h3>
<h4 id="-객체-자신의-정보를-문자열로-반환">: 객체 자신의 정보를 문자열로 반환</h4>
</li>
<li><h3 id="public-void-notify">public void notify()</h3>
<h4 id="-객체-자신을-사용하려고-기다리는-쓰레드를-하나만-깨움">: 객체 자신을 사용하려고 기다리는 쓰레드를 하나만 깨움.</h4>
</li>
</ul>
<br>

<hr>
<h2 id="💡-hashcode">💡 hashCode()</h2>
<ul>
<li><h3 id="해싱--데이터관리기법-중의-하나로-다량의-데이터를-저장하고-검색하는-데-유용하다">해싱 : 데이터관리기법 중의 하나로 다량의 데이터를 저장하고 검색하는 데 유용하다.</h3>
</li>
</ul>
<br>

<ul>
<li><h2 id="해시함수">해시함수</h2>
<h4 id="찾고자하는-값을-입력하면-그-값이-저장된-위치를-알려주는-해시코드hash-code를-반환함">찾고자하는 값을 입력하면, 그 값이 저장된 위치를 알려주는 해시코드(hash code)를 반환함.</h4>
</li>
</ul>
<br>

<pre><code>java
public class Ex9_3 {
    public static void main(String[] args) {
        String str1 = new String(&quot;abc&quot;);
        String str2 = new String(&quot;abc&quot;);

        System.out.println(str1.equals(str2));
        System.out.println(str1.hashCode());
        System.out.println(str2.hashCode());
        System.out.println(System.identityHashCode(str1));
        System.out.println(System.identityHashCode(str2));
    }
}
</code></pre><br>

<h3 id="📌-코드설명">📌 코드설명</h3>
<h4 id="string-클래스는-문자열의-내용이-같으면-동일한-해시코드를-반환하도록-hashcode메서드-오버라이딩되어-있으므로-문자열의-내용이-같은-str1과-str2에-대해-hashcode를-호출하면-항상-동일한-해시코드-값을-얻음">String 클래스는 문자열의 내용이 같으면, 동일한 해시코드를 반환하도록 hashCode메서드 오버라이딩되어 있으므로, 문자열의 내용이 같은 str1과 str2에 대해 hashCode()를 호출하면 항상 동일한 해시코드 값을 얻음.</h4>
<h4 id="반면-systemidentityhashcodeobject-x는-object클래스의-hashcode메서드처럼-객체의-주소값으로-해시코드를-생성하기-때문에-모든-객체에-대해-항상-다른-해시코드-값을-반환">반면, System.identityHashCode(Object x)는 Object클래스의 hashCode메서드처럼 객체의 주소값으로 해시코드를 생성하기 때문에 모든 객체에 대해 항상 다른 해시코드 값을 반환</h4>
]]></description>
        </item>
        <item>
            <title><![CDATA[[Java] 예외 되던지기(exception re-throwing)]]></title>
            <link>https://velog.io/@da_weuny/Java-%EC%98%88%EC%99%B8-%EB%90%98%EB%8D%98%EC%A7%80%EA%B8%B0exception-re-throwing</link>
            <guid>https://velog.io/@da_weuny/Java-%EC%98%88%EC%99%B8-%EB%90%98%EB%8D%98%EC%A7%80%EA%B8%B0exception-re-throwing</guid>
            <pubDate>Fri, 01 Oct 2021 07:48:26 GMT</pubDate>
            <description><![CDATA[<h2 id="👍-예외-되던지기exception-re-throwing">👍 예외 되던지기(exception re-throwing)</h2>
<br>

<h3 id="한-메서드에서-발생할-수-있는-예외가-여럿일-때-몇-개는-try-catch문을-통해서-메서드내에서-자체적으로-처리하고-그-나머지는-선언부에-지정하여-호출한-메서드에서-처리하도록-함">한 메서드에서 발생할 수 있는 예외가 여럿일 때, 몇 개는 try-catch문을 통해서 메서드내에서 자체적으로 처리하고, 그 나머지는 선언부에 지정하여 호출한 메서드에서 처리하도록 함.</h3>
<br>

<hr>
<h2 id="즉-예외처리란">즉, 예외처리란?</h2>
<h3 id="💡-예외를-처리한-후에-인위적으로-다시-발생시키는-방법">💡 예외를 처리한 후에 인위적으로 다시 발생시키는 방법!</h3>
<br>

<h2 id="❓-언제-사용하나">❓ 언제 사용하나?</h2>
<h3 id="하나의-예외에-대해서-예외가-발생한-메서드와-이를-호출한-메서드-양쪽-모두에서-처리해줘야-할-작업이-있을-때-사용">하나의 예외에 대해서 예외가 발생한 메서드와 이를 호출한 메서드 양쪽 모두에서 처리해줘야 할 작업이 있을 때 사용</h3>
<br>

<hr>
<h2 id="🚫-주의할-점">🚫 주의할 점</h2>
<h3 id="예외가-발생할-메서드에서는-try-catch문을-사용해서-예외처리를-해줌과-동시에-메서드의-선언부에-발생할-예외를-throws에-지정해줘야-함">예외가 발생할 메서드에서는 try-catch문을 사용해서 예외처리를 해줌과 동시에 메서드의 선언부에 발생할 예외를 throws에 지정해줘야 함.</h3>
<br>

<h4 id="✔-참고">✔ 참고</h4>
<blockquote>
<p>자바의 정석 ch8 참고 </p>
</blockquote>
]]></description>
        </item>
        <item>
            <title><![CDATA[[JAVA] 예외처리]]></title>
            <link>https://velog.io/@da_weuny/JAVA-%EC%98%88%EC%99%B8%EC%B2%98%EB%A6%AC</link>
            <guid>https://velog.io/@da_weuny/JAVA-%EC%98%88%EC%99%B8%EC%B2%98%EB%A6%AC</guid>
            <pubDate>Thu, 30 Sep 2021 11:39:20 GMT</pubDate>
            <description><![CDATA[<h2 id="👉예외">👉예외</h2>
<h4 id="예외를-그-자리에서-처리하는-방법--try-catch-블록-사용">예외를 그 자리에서 처리하는 방법 : try-catch 블록 사용</h4>
<h4 id="메소드가-예외를-발생시킨다고-기술하는-방법--throws를-사요하여-다른-메소드한테-예외-처리를-맡김">메소드가 예외를 발생시킨다고 기술하는 방법 : throws를 사요하여, 다른 메소드한테 예외 처리를 맡김.</h4>
<br>

<hr>
<h2 id="👉-예외-처리-메서드">👉 예외 처리 메서드</h2>
<h3 id="printstacktrace-메서드">printStackTrace() 메서드</h3>
<h4 id="-현재의-호출-스택의-내용을-화면에-보여주는-메서드">: 현재의 호출 스택의 내용을 화면에 보여주는 메서드</h4>
<h4 id="-예외발생-당시의-호출스택call-stack에-있었던-메서드의-정보와-예외-메시지를-화면에-출력">: 예외발생 당시의 호출스택(Call Stack)에 있었던 메서드의 정보와 예외 메시지를 화면에 출력</h4>
<h3 id="getmessage-메서드">getMessage() 메서드</h3>
<h4 id="-발생한-예외클래스의-인스턴스에-저장된-메시지를-얻을-수-있음">: 발생한 예외클래스의 인스턴스에 저장된 메시지를 얻을 수 있음.</h4>
<br>

<hr>
<h2 id="👉-exceiption과-runtimeexception">👉 Exceiption과 RuntimeException</h2>
<h4 id="runtimeexceiption클래스와-그-자손-클래스--runtimeexception-클래스들이라-하고">RuntimeExceiption클래스와 그 자손 클래스 : RuntimeException 클래스들이라 하고,</h4>
<h4 id="runtimeexception클래스들을-제외한-나머지-클래스들--exception클래스들이라-칭함">RuntimeException클래스들을 제외한 나머지 클래스들 : Exception클래스들이라 칭함.</h4>
<br>


<h3 id="⭐-exception-클래스들--사용자의-실수와-같은-외적인-요인에-의해-발생하는-예외">⭐ Exception 클래스들 : 사용자의 실수와 같은 외적인 요인에 의해 발생하는 예외</h3>
<h3 id="⭐-runtimeexception-클래스들--프로그래머의-실수로-발생하는-예외">⭐ RuntimeException 클래스들 : 프로그래머의 실수로 발생하는 예외</h3>
<br>

<hr>
<h2 id="👉-예외처리의-정의와-목적">👉 예외처리의 정의와 목적</h2>
<h3 id="✔-정의">✔ 정의</h3>
<h4 id="프로그램-실행-시-발생할-수-있는-예외의-발생에-대비한-코드를-작성하는-것">프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드를 작성하는 것</h4>
<h3 id="✔-목적">✔ 목적</h3>
<h4 id="프로그램의-비정상-종료를-막고-정상적인-실행상태를-유지하는-것">프로그램의 비정상 종료를 막고, 정상적인 실행상태를 유지하는 것</h4>
<br>

<hr>
<h2 id="👉-try-catch문에서의-흐름">👉 try-catch문에서의 흐름</h2>
<h3 id="✔-try블럭-내에서-예외가-발생한-경우">✔ try블럭 내에서 예외가 발생한 경우</h3>
<h4 id="1-발생한-예외와-일치하는-catch블럭이-있는지-확인">1. 발생한 예외와 일치하는 catch블럭이 있는지 확인</h4>
<h4 id="2-일치하는-catch-블럭을-찾으면-그-catch-블럭-내의-문장들을-수행하고-전체-try-catch문을-빠져나가서-그-다음-문장을-계속해서-수행">2. 일치하는 catch 블럭을 찾으면, 그 catch 블럭 내의 문장들을 수행하고 전체 try-catch문을 빠져나가서 그 다음 문장을 계속해서 수행</h4>
<h3 id="✔-try-블럭-내에서-예외가-발생하지-않은-경우">✔ try 블럭 내에서 예외가 발생하지 않은 경우</h3>
<h4 id="1-catch-블럭을-거치지-않고-전체-try-catch문을-빠져나가서-수행-계속함">1. catch 블럭을 거치지 않고 전체 try-catch문을 빠져나가서 수행 계속함.</h4>
<br>

<hr>
<h2 id="❗-오류">❗ 오류</h2>
<h3 id="1-컴파일-에러">1. 컴파일 에러</h3>
<h3 id="2-런타임-에러">2. 런타임 에러</h3>
<h3 id="error와-exception으로-나뉨">Error와 Exception으로 나뉨.</h3>
<br>

<h3 id="exception">&lt; Exception &gt;</h3>
<h4 id="✔--exception과-자손--checked-예외----try-catch-필수">✔  Exception과 자손 : checked 예외 --&gt; try-catch 필수!</h4>
<h4 id="✔--runtimeexception과-자손--unchecked-예외----try-catch-해도되고-안해도됨">✔  RuntimeException과 자손 : Unchecked 예외 --&gt; try-catch 해도되고 안해도됨.</h4>
<h3 id="3-논리적-에러">3. 논리적 에러</h3>
<br>

<hr>
<h2 id="👉-연결된-예외chained-exception">👉 연결된 예외(Chained exception)</h2>
<h3 id="throwable-initcasethrowable-cause--지정한-예외를-원인-예외로-등록">Throwable initCase(Throwable cause) : 지정한 예외를 원인 예외로 등록</h3>
<h3 id="throwable-getcause--원인-예외를-반환">Throwable getCause() : 원인 예외를 반환</h3>
<br>

<h2 id="❓-여기서-질문">❓ 여기서 질문!</h2>
<h3 id="발생한-예외를-그냥-처리하면-되지-왜-굳이-원인-예외로-등록해서-다시-예외를-발생시키나">발생한 예외를 그냥 처리하면 되지, 왜 굳이 원인 예외로 등록해서 다시 예외를 발생시키나?</h3>
<br>

<h2 id="⭐-여러가지-예외를-하나의-큰-분류의-예외로-묶어서-다루기-위해">⭐ 여러가지 예외를 하나의 큰 분류의 예외로 묶어서 다루기 위해!</h2>
<br>

<h2 id="👉-연결된-예외-사용이유">👉 연결된 예외 사용이유</h2>
<h3 id="✔-checked-예외를-unchecked-예외로-변경할-때-사용">✔ Checked 예외를 Unchecked 예외로 변경할 때 사용</h3>
<h3 id="즉-필수처리-예외를-선택처리-예외로-바꾸고-싶을-때-사용">즉, 필수처리 예외를 선택처리 예외로 바꾸고 싶을 때 사용!</h3>
<br>

<hr>
<h4 id="참고한-내용">참고한 내용</h4>
<blockquote>
<p>자바의 정석 chapter8 참고</p>
</blockquote>
]]></description>
        </item>
        <item>
            <title><![CDATA[[SQLD] 1과목 요점정리(모델링~엔터티)]]></title>
            <link>https://velog.io/@da_weuny/SQLD-1%EA%B3%BC%EB%AA%A9-%EC%9A%94%EC%A0%90%EC%A0%95%EB%A6%AC</link>
            <guid>https://velog.io/@da_weuny/SQLD-1%EA%B3%BC%EB%AA%A9-%EC%9A%94%EC%A0%90%EC%A0%95%EB%A6%AC</guid>
            <pubDate>Wed, 18 Aug 2021 07:12:53 GMT</pubDate>
            <description><![CDATA[<h2 id="👉--모델링의-특징">👉  모델링의 특징</h2>
<ul>
<li><h4 id="추상화--현실세계를-일정한-형식에-맞추어-표현">추상화 : 현실세계를 일정한 형식에 맞추어 표현</h4>
</li>
<li><h4 id="단순화--복잡한-현실세계를-약속된-규약에-의해-제한된-표기법이나-언어로-표현하여-쉽게-이해할-수-있도록-하는-것">단순화 : 복잡한 현실세계를 약속된 규약에 의해 제한된 표기법이나 언어로 표현하여 쉽게 이해할 수 있도록 하는 것</h4>
</li>
<li><h4 id="명확화--정확하게-현상을-기술하는-것">명확화 : 정확하게 현상을 기술하는 것</h4>
</li>
</ul>
<p><img src="https://images.velog.io/images/da_weuny/post/4c23f688-b826-49b4-8792-5051f8f10e03/image.png" alt=""></p>
<hr>
<h2 id="👉--데이터-모델링-단계">👉  데이터 모델링 단계</h2>
<br>

<h3 id="1-개념적-데이터-모델링">1. 개념적 데이터 모델링</h3>
<ul>
<li><h4 id="추상화-수준이-높고-업무-중심적이고-포괄적인-수준의-모델링">추상화 수준이 높고 업무 중심적이고 포괄적인 수준의 모델링</h4>
</li>
<li><h4 id="고객의-비즈니스-프로세스를-분석하고-업무-전체에-대해서-데이터-모델링-수행">고객의 비즈니스 프로세스를 분석하고 업무 전체에 대해서 데이터 모델링 수행</h4>
</li>
<li><h4 id="복잡하게-표현하지-않고-중요한-부분을-위주로-모델링">복잡하게 표현하지 않고 중요한 부분을 위주로 모델링</h4>
</li>
<li><h4 id="업무적-관점에서-모델링--기술적인-용어-사용x">업무적 관점에서 모델링 / 기술적인 용어 사용x</h4>
</li>
<li><h4 id="엔터티entity와-속성attribute을-도출하고-개념적-erdentity-relationship-diagram-작성">엔터티(Entity)와 속성(Attribute)을 도출하고 개념적 ERD(Entity Relationship Diagram) 작성</h4>
<br>

</li>
</ul>
<h3 id="2-논리적-데이터-모델링">2. 논리적 데이터 모델링</h3>
<ul>
<li><h4 id="식별자를-도출하고-필요한-모든-릴레이션을-정의">식별자를 도출하고 필요한 모든 릴레이션을 정의</h4>
</li>
<li><h4 id="정규화를-수행해서-데이터-모델의-독립성-확보">정규화를 수행해서 데이터 모델의 독립성 확보</h4>
<br>

</li>
</ul>
<h3 id="3-물리적-데이터-모델링">3. 물리적 데이터 모델링</h3>
<ul>
<li><h4 id="데이터베이스를-실제-구축함">데이터베이스를 실제 구축함.</h4>
</li>
<li><h4 id="테이블-인덱스-함수-등-생성함">테이블, 인덱스, 함수 등 생성함.</h4>
</li>
</ul>
<p><img src="https://images.velog.io/images/da_weuny/post/3bcf13c1-74cb-4e7d-af07-4b641f2ad004/image.png" alt=""></p>
<hr>
<h2 id="👉-데이터-모델링-관점">👉 데이터 모델링 관점</h2>
<p><img src="https://images.velog.io/images/da_weuny/post/3440e4ae-9b9d-43cf-86d0-d59c9447502e/image.png" alt=""></p>
<hr>
<h2 id="👉--3중-스키마-구조">👉  3중 스키마 구조</h2>
<p><img src="https://images.velog.io/images/da_weuny/post/017b80bb-52fb-4360-9139-823cfc966540/image.png" alt=""></p>
<hr>
<h2 id="👉-좋은-데이터-모델의-요소">👉 좋은 데이터 모델의 요소</h2>
<ul>
<li><h3 id="완전성completeness">완전성(Completeness)</h3>
</li>
<li><h3 id="중복배제non-redundancy">중복배제(Non-Redundancy)</h3>
</li>
<li><h3 id="업무규칙business-rules">업무규칙(Business Rules)</h3>
</li>
<li><h3 id="데이터-재사용data-retusability">데이터 재사용(Data Retusability)</h3>
</li>
<li><h3 id="의사소통communication">의사소통(Communication)</h3>
</li>
<li><h3 id="통합성integration">통합성(Integration)</h3>
</li>
</ul>
<hr>
<h2 id="👉----엔터티entity">👉    엔터티(Entity)</h2>
<h4 id="업무에-필요하고-유용한-정보를-저장하고-관리하기-위한-집합적인-것thing">업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것(Thing)</h4>
<br>

<h3 id="엔터티와-인스턴스에-대한-표기법">엔터티와 인스턴스에 대한 표기법</h3>
<p><img src="https://images.velog.io/images/da_weuny/post/b12b3132-fad7-45fa-8282-39e0f8ac1de5/image.png" alt=""></p>
<br>

<hr>
<h2 id="👉----엔터티의-속성">👉    엔터티의 속성</h2>
<ul>
<li><h4 id="식별자--엔터티는-유일한-식별자가-있고-식별-가능해야-함">식별자 : 엔터티는 유일한 식별자가 있고, 식별 가능해야 함.</h4>
<ul>
<li><h4 id="ex-id-계좌번호">Ex. ID, 계좌번호</h4>
</li>
</ul>
</li>
<li><h4 id="인스턴스-집합">인스턴스 집합</h4>
<ul>
<li><h4 id="두-개-이상의-인스턴스가-있어야-한다">두 개 이상의 인스턴스가 있어야 한다.</h4>
</li>
<li><h4 id="고객정보는-2명-이상-있어야-한다">고객정보는 2명 이상 있어야 한다.</h4>
</li>
</ul>
</li>
<li><h4 id="속성">속성</h4>
<ul>
<li><h4 id="엔터티는-반드시-속성을-가지고-있어야-한다">엔터티는 반드시 속성을 가지고 있어야 한다.</h4>
</li>
<li><h4 id="ex-고객-엔터티에-회원id-패스워드-이름-주소-전화번호">Ex. 고객 엔터티에 회원ID, 패스워드, 이름, 주소, 전화번호</h4>
</li>
</ul>
</li>
<li><h4 id="관계">관계</h4>
<ul>
<li><h4 id="엔터티는-다른-엔터티와-최소한-한-개-이상의-관계가-있어야-한다">엔터티는 다른 엔터티와 최소한 한 개 이상의 관계가 있어야 한다.</h4>
</li>
<li><h4 id="ex-고객은-계좌-개설">Ex. 고객은 계좌 개설</h4>
</li>
</ul>
</li>
<li><h4 id="업무">업무</h4>
<ul>
<li><h4 id="엔터티는-업무에서-필요하고-관리되어야-하는-집합이다">엔터티는 업무에서 필요하고 관리되어야 하는 집합이다.</h4>
</li>
<li><h4 id="ex-고객-계좌">Ex. 고객, 계좌</h4>
</li>
</ul>
</li>
</ul>
<br>

<hr>
<h2 id="👉-엔터티의-종류">👉 엔터티의 종류</h2>
<br>

<h3 id="유무형에-따른-분류">유무형에 따른 분류</h3>
<ul>
<li><h3 id="유형-엔터티">유형 엔터티</h3>
<ul>
<li><h4 id="업무에서-도출되며-지속적으로-사용되는-엔터티">업무에서 도출되며 지속적으로 사용되는 엔터티</h4>
</li>
<li><h4 id="물리적-형태-있고-안정적">물리적 형태 있고, 안정적</h4>
</li>
<li><h4 id="ex-고객-강사-사원">Ex. 고객, 강사, 사원</h4>
<br>
</li>
</ul>
</li>
<li><h3 id="개념-엔터티">개념 엔터티</h3>
<ul>
<li><h4 id="물리적-형태-없음">물리적 형태 없음.</h4>
</li>
<li><h4 id="개념적으로-사용되는-엔터티">개념적으로 사용되는 엔터티</h4>
</li>
<li><h4 id="ex-거래소-종목-코스닥-종목-생명보험-상품">Ex. 거래소 종목, 코스닥 종목, 생명보험 상품</h4>
<br>
</li>
</ul>
</li>
<li><h3 id="사건-엔터티">사건 엔터티</h3>
<ul>
<li><h4 id="비즈니스-프로새스를-실행하면서-생성되는-엔터티">비즈니스 프로새스를 실행하면서 생성되는 엔터티</h4>
</li>
<li><h4 id="ex-주문-체결-취소주문-수수료-청구">Ex. 주문, 체결, 취소주문, 수수료 청구</h4>
<br>
<br>
<br>
###    발생시점에 따른 엔터티 종류</li>
</ul>
</li>
<li><h3 id="기본-엔터티">기본 엔터티</h3>
<ul>
<li><h4 id="키-엔터티라고도-함">키 엔터티라고도 함.</h4>
</li>
<li><h4 id="다른-엔터티로부터-영향-받지-않고관계에-의해-생성x-독립적으로-생성되는-엔터티">다른 엔터티로부터 영향 받지 않고(관계에 의해 생성x) 독립적으로 생성되는 엔터티</h4>
</li>
<li><h4 id="타-엔터티-부모-역할">타 엔터티 부모 역할</h4>
</li>
<li><h4 id="자신의-고유한-주식별자를-가짐">자신의 고유한 주식별자를 가짐.</h4>
</li>
<li><h4 id="ex-사원부서고객상품자재-등">Ex. 사원,부서,고객,상품,자재 등</h4>
<br>
</li>
</ul>
</li>
<li><h3 id="중심-엔터티">중심 엔터티</h3>
<ul>
<li><h4 id="기본-엔터티와-행위-엔터티-간의-중간에-있는-것">기본 엔터티와 행위 엔터티 간의 중간에 있는 것</h4>
</li>
<li><h4 id="기본-엔터티로부터-발생되고-행위-엔터티를-생성하는-것">기본 엔터티로부터 발생되고 행위 엔터티를 생성하는 것</h4>
</li>
<li><h4 id="업무에-있어-중심역할">업무에 있어 중심역할</h4>
</li>
<li><h4 id="ex-계좌-주문-취소-체결">Ex. 계좌, 주문, 취소, 체결</h4>
<br>
</li>
</ul>
</li>
<li><h3 id="행위-엔터티">행위 엔터티</h3>
<ul>
<li><h4 id="2개-이상의-엔터티로부터-발생됨">2개 이상의 엔터티로부터 발생됨.</h4>
</li>
<li><h4 id="내용-자주-바뀜">내용 자주 바뀜.</h4>
</li>
<li><h4 id="ex-주문-이력-체결-이력">Ex. 주문 이력, 체결 이력</h4>
<br>

</li>
</ul>
</li>
</ul>
<hr>
<h2 id="👉-엔터티의-명명">👉 엔터티의 명명</h2>
<br>

<ul>
<li><h4 id="가능한-현업-업무에서-사용하는-용어-사용">가능한 현업 업무에서 사용하는 용어 사용</h4>
</li>
<li><h4 id="가능하면-약어-사용-x">가능하면 약어 사용 X</h4>
</li>
<li><h4 id="단수명사-사용">단수명사 사용</h4>
</li>
<li><h4 id="모든-엔티티에서-유일한-이름-부여">모든 엔티티에서 유일한 이름 부여</h4>
</li>
<li><h4 id="생성-의미대로-이름-부여">생성 의미대로 이름 부여</h4>
</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[[JavaScript] 게임 만들기에 필요한 개념]]></title>
            <link>https://velog.io/@da_weuny/JavaScript-%EA%B2%8C%EC%9E%84-%EB%A7%8C%EB%93%A4%EA%B8%B0%EC%97%90-%ED%95%84%EC%9A%94%ED%95%9C-%EA%B0%9C%EB%85%90</link>
            <guid>https://velog.io/@da_weuny/JavaScript-%EA%B2%8C%EC%9E%84-%EB%A7%8C%EB%93%A4%EA%B8%B0%EC%97%90-%ED%95%84%EC%9A%94%ED%95%9C-%EA%B0%9C%EB%85%90</guid>
            <pubDate>Tue, 17 Aug 2021 01:54:31 GMT</pubDate>
            <description><![CDATA[<h2 id="👉----태그textcontent">👉    태그.textContent</h2>
<h4 id="태그-내부의-문자열-가져옴">태그 내부의 문자열 가져옴.</h4>
<hr>
<br>

<h2 id="👉----입력태그focus">👉    입력태그.focus()</h2>
<h4 id="입력창을-하이라이트">입력창을 하이라이트</h4>
<h4 id="focus-입력-태그-내부에-커서를-위치하게-해서-다음-사용자가-입력하기-편하게-함">Focus 입력 태그 내부에 커서를 위치하게 해서 다음 사용자가 입력하기 편하게 함.</h4>
<hr>
<br>

<h2 id="⭐👉----span-stylecolorpurple고차함수higher-order-functionspan">⭐👉    <span style="color:purple">고차함수(Higher-Order Function)</span></h2>
<h4 id="함수를-인자로-받거나-또는-함수를-반환함으로써-작동하는-함수">함수를 인자로 받거나 또는 함수를 반환함으로써 작동하는 함수</h4>
<h4 id="간단히-말해-함수를-인자로-받거나-함수를-출력으로-반환하는-함수">간단히 말해, 함수를 인자로 받거나 함수를 출력으로 반환하는 함수</h4>
<hr>
<h2 id="👉-여러-개의-값을-모아-둘-때는-배열이나-객체를-사용">👉 여러 개의 값을 모아 둘 때는 배열이나 객체를 사용</h2>
<h4 id="📌-언제-배열">📌 언제 배열?</h4>
<h4 id="-단순한-값들의-나열일-때">=&gt; 단순한 값들의 나열일 때!</h4>
<h4 id="📌-언제-객체">📌 언제 객체?</h4>
<h4 id="----값에-이름이-붙을-때">=&gt;    값에 이름이 붙을 때</h4>
<hr>
<br>

<h2 id="👉----eventpreventdefault">👉    Event.preventDefault()</h2>
<h4 id="폼-태그의-기본-동작을-취소하는-코드">폼 태그의 기본 동작을 취소하는 코드</h4>
<h3 id="폼-태그--submit-이벤트가-발생할-때-기본으로-브라우저를-새로고침함">폼 태그 : submit 이벤트가 발생할 때 기본으로 브라우저를 새로고침함.</h3>
<hr>
<br>

<h2 id="👉-set">👉 Set</h2>
<h4 id="중복을-허용하지-않는-특수한-배열">중복을 허용하지 않는 특수한 배열</h4>
<hr>
<br>

<h4 id="게임-만들기에-추가로-필요한-개념이-있으면-2탄으로-찾아오겠음">게임 만들기에 추가로 필요한 개념이 있으면 2탄으로 찾아오겠음!!</h4>
<br>
---

<h4 id="출처">출처</h4>
<blockquote>
<p>Let&#39;s Get It! 자바스크립트 프로그래밍 책 참고</p>
</blockquote>
]]></description>
        </item>
        <item>
            <title><![CDATA[[JavaScript] 가위바위보 게임만들기]]></title>
            <link>https://velog.io/@da_weuny/JavaScript-%EA%B0%80%EC%9C%84%EB%B0%94%EC%9C%84%EB%B3%B4-%EA%B2%8C%EC%9E%84%EB%A7%8C%EB%93%A4%EA%B8%B0</link>
            <guid>https://velog.io/@da_weuny/JavaScript-%EA%B0%80%EC%9C%84%EB%B0%94%EC%9C%84%EB%B3%B4-%EA%B2%8C%EC%9E%84%EB%A7%8C%EB%93%A4%EA%B8%B0</guid>
            <pubDate>Tue, 17 Aug 2021 01:29:19 GMT</pubDate>
            <description><![CDATA[<h2 id="👉-가위바위보-게임-만들기-순서도">👉 가위바위보 게임 만들기 순서도</h2>
<p><img src="https://images.velog.io/images/da_weuny/post/cba0ec57-8b01-4601-b54f-4ff563dabf5f/1.png" alt=""></p>
<hr>
<h4 id="❓-가위바위보-로직-생각해보기">❓ 가위바위보 로직 생각해보기</h4>
<h4 id="✔-내가-낼-수-있는-것--가위-바위-보">✔ 내가 낼 수 있는 것 : 가위, 바위, 보</h4>
<h4 id="✔-컴퓨터가-낼-수-있는-것--가위-바위-보">✔ 컴퓨터가 낼 수 있는 것 : 가위, 바위, 보</h4>
<h4 id="때문에-모든-경우의-수를-표시하고-가위바위보를-숫자로-표현해-내가-낸-것---컴퓨터가-낸-것-을-계산해보면-로직이-보인다">때문에 모든 경우의 수를 표시하고 &#39;가위&#39;,&#39;바위&#39;,&#39;보&#39;를 숫자로 표현해 &#39;내가 낸 것 - 컴퓨터가 낸 것&#39; 을 계산해보면 로직이 보인다!</h4>
<p><img src="https://images.velog.io/images/da_weuny/post/f04fa0a5-03eb-4375-b6ec-bec7c59b9f50/1.png" alt=""></p>
<h4 id="⭕-내가-이겼을-때--두-값의-차이-1-또는--2">⭕ 내가 이겼을 때 : 두 값의 차이 1 또는 -2</h4>
<h4 id="❌-내가-졌을-때--두-값의-차이--1-또는-2">❌ 내가 졌을 때 : 두 값의 차이 -1 또는 2</h4>
<h4 id="☑-비겼을-때--두-값의-차이-0">☑ 비겼을 때 : 두 값의 차이 0</h4>
<hr>
<h3 id="이렇게-완성된-최종-코드">이렇게 완성된 최종 코드</h3>
<p><img src="https://images.velog.io/images/da_weuny/post/4ffd7878-18a6-457e-a23e-ae4e08fe2f99/1.png" alt=""></p>
<p><img src="https://images.velog.io/images/da_weuny/post/bb69283f-8878-4534-886c-5a900700cd83/1.png" alt=""></p>
<p><img src="https://images.velog.io/images/da_weuny/post/14b43868-346f-4d88-aafd-c11e629f3636/image.png" alt=""></p>
<h4 id="코드는-이전-게시글-참고">코드는 이전 게시글 참고</h4>
<h4 id="링크--javascript-게임만들기-가위바위보-코드">링크 : <a href="https://velog.io/@da_weuny/JavaScript-%EA%B0%80%EC%9C%84%EB%B0%94%EC%9C%84%EB%B3%B4-%EA%B2%8C%EC%9E%84-%EB%A7%8C%EB%93%A4%EA%B8%B0">JavaScript 게임만들기 가위바위보 코드</a></h4>
<hr>
<br>

<h4 id="✔-출처">✔ 출처</h4>
<blockquote>
<h4 id="lets-get-it-자바스크립트-프로그래밍-책-실습">Let&#39;s Get it! 자바스크립트 프로그래밍 책 실습</h4>
</blockquote>
]]></description>
        </item>
        <item>
            <title><![CDATA[[배경지식] 프레임워크와 라이브러리의 차이란?]]></title>
            <link>https://velog.io/@da_weuny/%EB%B0%B0%EA%B2%BD%EC%A7%80%EC%8B%9D-%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC%EC%99%80-%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC%EC%9D%98-%EC%B0%A8%EC%9D%B4%EB%9E%80</link>
            <guid>https://velog.io/@da_weuny/%EB%B0%B0%EA%B2%BD%EC%A7%80%EC%8B%9D-%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC%EC%99%80-%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC%EC%9D%98-%EC%B0%A8%EC%9D%B4%EB%9E%80</guid>
            <pubDate>Fri, 13 Aug 2021 06:17:22 GMT</pubDate>
            <description><![CDATA[<h2 id="👉-프레임워크와-라이브러리의-차이란">👉 프레임워크와 라이브러리의 차이란?</h2>
<h2 id="⭐-가장-중요한-것-⭐">⭐ 가장 중요한 것 ⭐</h2>
<h3 id="span-stylecolororange누가-누구를-컨트롤-하는지-알아야함span"><span style="color:orange">누가 누구를 컨트롤 하는지 알아야함!</span></h3>
<br>

<hr>
<h2 id="👉-라이브러리란">👉 라이브러리란?</h2>
<h4 id="라이브러리의-대표적-예시--jquery">라이브러리의 대표적 예시 : jQuery</h4>
<h3 id="제이쿼리는">제이쿼리는?</h3>
<h4 id="웹사이트에-interactive한-요소를-넣을-수-있는데">웹사이트에 interactive한 요소를 넣을 수 있는데,</h4>
<h4 id="내가-필요한-때-jquery를-소환함">&#39;내가&#39; 필요한 때 jQuery를 소환함.</h4>
<h4 id="코딩을-하다가-필요할-때-내가-jquery를-부름">코딩을 하다가 필요할 때 &#39;내가&#39; jQuery를 부름!</h4>
<h3 id="주체--나자신">주체 : 나자신!</h3>
<br>

<hr>
<h2 id="👉-그럼-프레임워크는">👉 그럼 프레임워크는?</h2>
<h4 id="내가-프레임워크를-부르는-것이-아니라">내가 프레임워크를 부르는 것이 아니라,</h4>
<h4 id="프레임워크가-나를-부름">프레임워크가 &#39;나&#39;를 부름!</h4>
<h3 id="주체--프레임워크">주체 : 프레임워크</h3>
<br>

<hr>
<h2 id="👉-한줄요약">👉 한줄요약</h2>
<h3 id="span-stylecolorred내가-라이브러리를-부르고-프레임워크가-나를-부름span"><span style="color:red">내가 라이브러리를 부르고, 프레임워크가 나를 부름</span></h3>
]]></description>
        </item>
        <item>
            <title><![CDATA[[Java] 인터페이스(Interface)]]></title>
            <link>https://velog.io/@da_weuny/Java-%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4Interface</link>
            <guid>https://velog.io/@da_weuny/Java-%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4Interface</guid>
            <pubDate>Thu, 12 Aug 2021 01:00:03 GMT</pubDate>
            <description><![CDATA[<h2 id="👉-인터페이스의-장점">👉 인터페이스의 장점</h2>
<h3 id="1-개발시간을-단축-가능">1. 개발시간을 단축 가능</h3>
<h4 id="✔-인터페이스가-작성되면-이를-사용해서-프로그램-작성이-가능함">✔ 인터페이스가 작성되면, 이를 사용해서 프로그램 작성이 가능함.</h4>
<h3 id="❓-why">❓ why?</h3>
<h4 id="✔-메서드를-호출하는-쪽에서-메서드의-내용에-관계없이-선언부만-알면-되기-때문">✔ 메서드를 호출하는 쪽에서 메서드의 내용에 관계없이 선언부만 알면 되기 때문!</h4>
<h4 id="✔-동시에-다른-한-쪽에서는-인터페이스를-구현하는-클래스를-작성하게-하면-인터페이스를-구현하는-클래스가-작성될-때까지-기다리지-않고도-양쪽에서-동시에-개발-진행-가능">✔ 동시에 다른 한 쪽에서는 인터페이스를 구현하는 클래스를 작성하게 하면, 인터페이스를 구현하는 클래스가 작성될 때까지 기다리지 않고도 양쪽에서 동시에 개발 진행 가능</h4>
<hr>
<h3 id="2----표준화-가능">2.    표준화 가능</h3>
<h4 id="프로젝트에-사용되는-기본-틀을-인터페이스로-작성한-후-개발자들에게-인터페이스를-구현하여-프로그램을-작성하도록-함으로써-보다-일관되고-정형화된-프로그램-개발-가능">프로젝트에 사용되는 기본 틀을 인터페이스로 작성한 후, 개발자들에게 인터페이스를 구현하여 프로그램을 작성하도록 함으로써 보다 일관되고 정형화된 프로그램 개발 가능</h4>
<hr>
<h3 id="3-서로-관계없는-클래스들에게-관계를-맺어줄-수-있음">3. 서로 관계없는 클래스들에게 관계를 맺어줄 수 있음.</h3>
<h4 id="서로-상속관계에-있지-않고-같은-조상클래스를-가지고-있지-않은-서로-아무런-관계도-없는-클래스들에게-하나의-인터페이스를-공통적으로-구현하도록-함으러써-관계를-맺어줄-수-있음">서로 상속관계에 있지 않고, 같은 조상클래스를 가지고 있지 않은 서로 아무런 관계도 없는 클래스들에게 하나의 인터페이스를 공통적으로 구현하도록 함으러써 관계를 맺어줄 수 있음.</h4>
<hr>
<h3 id="4-독립적인-프로그래밍-가능">4. 독립적인 프로그래밍 가능</h3>
<h4 id="클래스-선언과-구현을-분리시킬-수-있기-때문에-실제구현에-독립적인-프로그램을-작성하는-것이-가능">클래스 선언과 구현을 분리시킬 수 있기 때문에 실제구현에 독립적인 프로그램을 작성하는 것이 가능</h4>
<h4 id="클래스와-클래스간의-직접적인-관계를-인터페이스를-이용해-간접적인-관계로-변경하면-한-클래스의-변경이-관련된-다른-클래스에-영향을-미치지-않는-독립적인-프로그래밍이-가능함">클래스와 클래스간의 직접적인 관계를 인터페이스를 이용해 간접적인 관계로 변경하면, 한 클래스의 변경이 관련된 다른 클래스에 영향을 미치지 않는 독립적인 프로그래밍이 가능함.</h4>
<hr>
<h2 id="👉----내부-클래스innter-class">👉    내부 클래스(innter class)</h2>
<h4 id="클래스-내에-선언된-클래스">클래스 내에 선언된 클래스</h4>
<h3 id="❓-사용이유">❓ 사용이유</h3>
<h4 id="✔----두-클래스가-서로-긴밀한-관계이기-때문">✔    두 클래스가 서로 긴밀한 관계이기 때문</h4>
<h3 id="⭕----장점">⭕    장점</h3>
<h4 id="두-클래스의-멤버들-간에-서로-쉽게-접근할-수-있음">두 클래스의 멤버들 간에 서로 쉽게 접근할 수 있음.</h4>
<h4 id="외부에는-불필요한-클래스를-감춤으로써-코드의-복잡성을-줄일-수-있음">외부에는 불필요한 클래스를 감춤으로써 코드의 복잡성을 줄일 수 있음.</h4>
<hr>
<h2 id="⭐-내부-클래스의-종류와-특징">⭐ 내부 클래스의 종류와 특징</h2>
<p><img src="https://images.velog.io/images/da_weuny/post/1f1c7eef-f90c-460d-a8d3-173bfd1682fd/%EB%82%B4%EB%B6%80%20%ED%81%B4%EB%9E%98%EC%8A%A4.png" alt=""></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[Java] 캡슐화, 접근 제어자 사용 이유, get,set, 다형성, 참조변수의 형변환]]></title>
            <link>https://velog.io/@da_weuny/Java-%EC%BA%A1%EC%8A%90%ED%99%94-%EC%A0%91%EA%B7%BC-%EC%A0%9C%EC%96%B4%EC%9E%90-%EC%82%AC%EC%9A%A9-%EC%9D%B4%EC%9C%A0-getset-%EB%8B%A4%ED%98%95%EC%84%B1-%EC%B0%B8%EC%A1%B0%EB%B3%80%EC%88%98%EC%9D%98-%ED%98%95%EB%B3%80%ED%99%98</link>
            <guid>https://velog.io/@da_weuny/Java-%EC%BA%A1%EC%8A%90%ED%99%94-%EC%A0%91%EA%B7%BC-%EC%A0%9C%EC%96%B4%EC%9E%90-%EC%82%AC%EC%9A%A9-%EC%9D%B4%EC%9C%A0-getset-%EB%8B%A4%ED%98%95%EC%84%B1-%EC%B0%B8%EC%A1%B0%EB%B3%80%EC%88%98%EC%9D%98-%ED%98%95%EB%B3%80%ED%99%98</guid>
            <pubDate>Wed, 11 Aug 2021 00:42:05 GMT</pubDate>
            <description><![CDATA[<h2 id="👉----캡슐화">👉    캡슐화</h2>
<h4 id="클래스의-내부에-선언된-데이터를-보호하기-위해-사용함">클래스의 내부에 선언된 데이터를 보호하기 위해 사용함.</h4>
<h4 id="데이터가-유효한-값을-유지하도록-또는-비밀번호와-같은-데이터를-외부에서-함부로-변경하지-못하도록-하기-위해서-외부로부터의-접근을-제한하는-것이-필요">데이터가 유효한 값을 유지하도록, 또는 비밀번호와 같은 데이터를 외부에서 함부로 변경하지 못하도록 하기 위해서 외부로부터의 접근을 제한하는 것이 필요</h4>
<h3 id="-데이터-감추기data-hiding">=&gt; 데이터 감추기(data hiding)</h3>
<hr>
<h2 id="👉-접근-제어자를-사용하는-이유">👉 접근 제어자를 사용하는 이유</h2>
<h4 id="외부로부터-데이터를-보호하기-위해서">외부로부터 데이터를 보호하기 위해서</h4>
<h4 id="외부에는-불필요한-내부적으로만-사용되는-부분을-감추기-위해서">외부에는 불필요한, 내부적으로만 사용되는, 부분을 감추기 위해서</h4>
<hr>
<h2 id="👉-getset">👉 get,set</h2>
<h4 id="get으로-시작하는-메서드--단순히-멤버변수의-값을-반환">get으로 시작하는 메서드 : 단순히 멤버변수의 값을 반환</h4>
<h4 id="set으로-시작하는-메서드--매개변수에-지정된-값을-검사하여-조건에-맞는-값일-때만-멤버변수의-값을-변경">set으로 시작하는 메서드 : 매개변수에 지정된 값을 검사하여 조건에 맞는 값일 때만 멤버변수의 값을 변경</h4>
<h4 id="if-상속을-통해-확장될-것이-예상되는-클래스---멤버에-접근-제한을-주되-자손클래스에서-접근하는-것이-가능하도록-protected-사용">if 상속을 통해 확장될 것이 예상되는 클래스 -&gt; 멤버에 접근 제한을 주되 자손클래스에서 접근하는 것이 가능하도록 protected 사용!!</h4>
<hr>
<h2 id="👉-다형성polymorphism">👉 다형성(polymorphism)</h2>
<h4 id="여러-가지-형태를-가질-수-있는-능력">여러 가지 형태를 가질 수 있는 능력</h4>
<h4 id="한-타입의-참조변수로-여러-타입의-객체를-참조할-수-있도록-함으로써-다형성을-프로그램적으로-구현">한 타입의 참조변수로 여러 타입의 객체를 참조할 수 있도록 함으로써 다형성을 프로그램적으로 구현</h4>
<h4 id="조상클래스-타입의-참조변수로-자손클래스의-인스턴스를-참조할-수-있도록-하는-것">조상클래스 타입의 참조변수로 자손클래스의 인스턴스를 참조할 수 있도록 하는 것</h4>
<h4 id="조상타입의-참조변수로-자손타입의-인스턴스를-참조할-수-있다">조상타입의 참조변수로 자손타입의 인스턴스를 참조할 수 있다.</h4>
<h4 id="반대로-자손타입의-참조변수로-조상타입의-인스턴스를-참조할-수는-없다">반대로 자손타입의 참조변수로 조상타입의 인스턴스를 참조할 수는 없다.</h4>
<hr>
<h2 id="👉-참조변수의-형변환">👉 참조변수의 형변환</h2>
<h4 id="서로-상속관계에-있는-타입간의-형변환은-양방향으로-자유롭게-수행될-수-있음">서로 상속관계에 있는 타입간의 형변환은 양방향으로 자유롭게 수행될 수 있음.</h4>
<h4 id="but-참조변수가-가리키는-인스턴스의-자손타입으로-형변환은-허용되지-않음">But, 참조변수가 가리키는 인스턴스의 자손타입으로 형변환은 허용되지 않음.</h4>
<h4 id="so-참조변수가-가리키는-인스턴스의-타입이-무엇인지-확인하는-것이-중요">So, 참조변수가 가리키는 인스턴스의 타입이 무엇인지 확인하는 것이 중요!</h4>
]]></description>
        </item>
        <item>
            <title><![CDATA[[JavaScript] 가위바위보 게임 만들기]]></title>
            <link>https://velog.io/@da_weuny/JavaScript-%EA%B0%80%EC%9C%84%EB%B0%94%EC%9C%84%EB%B3%B4-%EA%B2%8C%EC%9E%84-%EB%A7%8C%EB%93%A4%EA%B8%B0</link>
            <guid>https://velog.io/@da_weuny/JavaScript-%EA%B0%80%EC%9C%84%EB%B0%94%EC%9C%84%EB%B3%B4-%EA%B2%8C%EC%9E%84-%EB%A7%8C%EB%93%A4%EA%B8%B0</guid>
            <pubDate>Tue, 10 Aug 2021 00:01:38 GMT</pubDate>
            <description><![CDATA[<pre><code>html
&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
    &lt;head&gt;
        &lt;meta charset=&quot;UTF-8&quot; /&gt;
        &lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=edge&quot; /&gt;
        &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot; /&gt;
        &lt;title&gt;RockScissorPaper&lt;/title&gt;
        &lt;style&gt;
            #computer {
                width: 142px;
                height: 200px;
            }
        &lt;/style&gt;
    &lt;/head&gt;
    &lt;body&gt;
        &lt;div id=&quot;computer&quot;&gt;&lt;/div&gt;
        &lt;!--가위바위보 들어가는 컴퓨터 이미지 들어가는 자리--&gt;
        &lt;div&gt;
            &lt;button id=&quot;scissors&quot; class=&quot;btn&quot;&gt;가위&lt;/button&gt;
            &lt;button id=&quot;rock&quot; class=&quot;btn&quot;&gt;바위&lt;/button&gt;
            &lt;button id=&quot;paper&quot; class=&quot;btn&quot;&gt;보&lt;/button&gt;
        &lt;/div&gt;
        &lt;div id=&quot;score&quot;&gt;0&lt;/div&gt;
        &lt;script&gt;
            const $computer = document.querySelector(&#39;#computer&#39;);
            const $score = document.querySelector(&#39;#score&#39;);
            const $rock = document.querySelector(&#39;#rock&#39;);
            const $scissors = document.querySelector(&#39;#scissors&#39;);
            const $paper = document.querySelector(&#39;#paper&#39;);
            const img_URL = &#39;./rsp.png&#39;; //상대 경로  //절대경로 : 항상 c드라이브부터 시작
            $computer.style.background = `url(${img_URL}) 0 0`; //가로위치 세로위치 //가위
            $computer.style.background = `url(${img_URL}) -220 0`; //가로위치 세로위치 //바위
            // $computer.style.background = `url(${img_URL}) -440 0`; //가로위치 세로위치 //보
            $computer.style.backgroundSize = &#39;auto 200px&#39;; //사이즈 맞추기 //가로너비 세로너비

            const rspX = {
                scissors: &#39;0&#39;, //가위
                rock: &#39;-220px&#39;, //바위
                paper: &#39;-440px&#39;, //보
            };

            let ComputerChoice = &#39;scissors&#39;;
            const changeComputerHand = () =&gt; {
                if (ComputerChoice === &#39;scissors&#39;) {
                    //가위면
                    ComputerChoice = &#39;rock&#39;;
                } else if (ComputerChoice === &#39;rock&#39;) {
                    //바위
                    ComputerChoice = &#39;paper&#39;;
                } else {
                    //보
                    ComputerChoice = &#39;scissors&#39;;
                }
                $computer.style.background = `url(${img_URL}) ${rspX[ComputerChoice]} 0`;
                $computer.style.backgroundSize = &#39;auto 200px&#39;;
            };
            let intervalId = setInterval(changeComputerHand, 50);

            //백그라운드 바꿀때는 백그라운드 사이즈도 한번 더 적어줘야 문제 발생하지 않음.!!
            //왜냐? 백그라운드 사이즈 리셋된다
            //가로는 auto, 세로는 200px, 가로세로의 비율 유지하면서 세로 길이가 200px 될때까지 이미지 줄임.
            //이렇게 설정하면 되는데 이게 중복되잖아
            //공통점이 뭘까? 좌표지
            //객체로 묶을 수 있어. 그룹화 : 여러 개의 변수 하나로 묶어줌.

            //다음
            //0.05초마다 가위바위보 그림 바꿔볼게.
            //이미지의 x좌표만 바꿔서 #computer 태그의 background에 넣으면 되겠지?

            const scoreTable = {
                rock: 0,
                scissors: 1,
                paper: -1,
            };

            let clickable = true;
            let score = 0;

            const clickButton = () =&gt; {
                if (clickable) {
                    clearInterval(intervalId);
                    clickable = false;
                    const myChoice =
                        event.target.textContent === &#39;바위&#39;
                            ? &#39;rock&#39;
                            : event.target.textContent === &#39;가위&#39;
                            ? &#39;scissors&#39;
                            : &#39;paper&#39;;
                    const myScore = scoreTable[myChoice];
                    const computerScore = scoreTable[ComputerChoice];
                    const diff = myScore - computerScore;
                    let message;
                    if (diff === 2 || diff === -1) {
                        score += 1;
                        message = &#39;승리&#39;;
                    } else if (diff === -2 || diff === 1) {
                        score -= 1;
                        message = &#39;패배&#39;;
                    } else {
                        message = &#39;무승부&#39;;
                    }
                    console.log(score);
                    $score.textContent = `${message} 총 : ${score}점`;

                    //점수 계산 및 화면 표시
                    setTimeout(() =&gt; {
                        clickable = true;
                        intervalId = setInterval(changeComputerHand, 50);
                    }, 1000);
                }
            };
            $rock.addEventListener(&#39;click&#39;, clickButton);
            $scissors.addEventListener(&#39;click&#39;, clickButton);
            $paper.addEventListener(&#39;click&#39;, clickButton);

            //여기까지 하고 실행
        &lt;/script&gt;
    &lt;/body&gt;
&lt;/html&gt;
</code></pre><hr>
<p>제로초 Let&#39;s Get IT 자바스크립트 프로그래밍 책의 가위바위보 게임만들기를 실습해 보았다.
딱이 어려운 점이 없었기에 이만 포스팅을 마친다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[JavaScript] 함수]]></title>
            <link>https://velog.io/@da_weuny/JavaScript-%ED%95%A8%EC%88%98</link>
            <guid>https://velog.io/@da_weuny/JavaScript-%ED%95%A8%EC%88%98</guid>
            <pubDate>Mon, 09 Aug 2021 23:58:03 GMT</pubDate>
            <description><![CDATA[<h3 id="👉return">👉return</h3>
<hr>
<pre><code class="language-javascript">function a() {
  if (false) {
    return;
  }
  console.log(&#39;실행됩니다.&#39;);
}
a();
</code></pre>
<hr>
<p> ⭐ 
 return문 아래의 코드는 실행되지 않는다고 착각할 수 있음!
근데 실행됨!
=&gt; return문의 존재가 중요한 것이 아니라 return문이 실행되는 것이 중요함.
=&gt; 예제에서 return 문이 위치한 if문의 실행문이 실행되지 않기 때문에 return 문도 실행 X
=&gt; So, 아래의 console.log가 정상 호출됨.</p>
<hr>
]]></description>
        </item>
        <item>
            <title><![CDATA[[Java] Return, Overloading, Overriding]]></title>
            <link>https://velog.io/@da_weuny/Java-Return-Overloading-Overriding</link>
            <guid>https://velog.io/@da_weuny/Java-Return-Overloading-Overriding</guid>
            <pubDate>Mon, 09 Aug 2021 23:57:43 GMT</pubDate>
            <description><![CDATA[<h2 id="👉-return문">👉 Return문</h2>
<h4 id="현재-실행중인-메서드를-종료하고-호출한-메서드로-되돌아감">현재 실행중인 메서드를 종료하고 호출한 메서드로 되돌아감.</h4>
<h4 id="⭐-반환값이-무조건-있어야함">⭐ 반환값이 무조건 있어야함.</h4>
<h4 id="❓-반환값이-없어도-컴파일-되던데">❓ 반환값이 없어도 컴파일 되던데?</h4>
<h4 id="❕-void-타입에서-컴파일러가-자동으로-추가해줘서-그럼">❕ void 타입에서 컴파일러가 자동으로 추가해줘서 그럼.</h4>
<h4 id="반환값이-void-타입이-아니면-return문-없을-때-컴파일-오류남">반환값이 void 타입이 아니면 return문 없을 때 컴파일 오류남.</h4>
<hr>
<h2 id="👉-오버로딩">👉 오버로딩</h2>
<h4 id="한-클래스-내에-같은-이름의-메서드를-여러-개-정의하는-것">한 클래스 내에 같은 이름의 메서드를 여러 개 정의하는 것</h4>
<h4 id="⭐-조건">⭐ 조건</h4>
<h4 id="✔-메서드-이름이-같아야-한다">✔ 메서드 이름이 같아야 한다.</h4>
<h4 id="✔-매개변수와-개수-또는-타입이-달라야-한다">✔ 매개변수와 개수 또는 타입이 달라야 한다.</h4>
<h4 id="✔-반환-타입은-관계없다">✔ 반환 타입은 관계없다.</h4>
<hr>
<h2 id="👉-생성자">👉 생성자</h2>
<h4 id="인스턴스가-생성될-때-호출되는-인스턴스-초기화-메서드">인스턴스가 생성될 때 호출되는 ‘인스턴스 초기화 메서드’</h4>
<h4 id="✔-리턴값이-없음">✔ 리턴값이 없음.</h4>
<h4 id="✔-근데-void--사용하지-않음">✔ 근데 Void  사용하지 않음.</h4>
<h4 id="✔----모든-클래스는-반드시-생성자-가져야함">✔    모든 클래스는 반드시 생성자 가져야함.</h4>
<hr>
<h3 id="생성자-특징">생성자 특징</h3>
<h4 id="✔----생성자의-이름은-클래스의-이름과-같아야-함">✔    생성자의 이름은 클래스의 이름과 같아야 함.</h4>
<h4 id="✔-⭐----생성자는-리턴-값-없음">✔ ⭐    생성자는 리턴 값 없음.</h4>
<hr>
<h2 id="👉----객체-자신을-가리키는-참조변수--this">👉    객체 자신을 가리키는 참조변수 – this</h2>
<h4 id="인스턴스-자신을-가리키는-참조변수">인스턴스 자신을 가리키는 참조변수</h4>
<h4 id="인스턴스-메서드-생성자-포함에서-생성가능">인스턴스 메서드 (생성자 포함)에서 생성가능</h4>
<h4 id="지역변수와-인스턴스-변수-구분할-때-사용">지역변수와 인스턴스 변수 구분할 때 사용</h4>
<h3 id="변수의-초기화">변수의 초기화</h3>
<h4 id="멤버변수클래스-변수와-인스턴스-변수와-배열의-초기화는-선택이지만-지역변수의-초기화는-필수이다">멤버변수(클래스 변수와 인스턴스 변수)와 배열의 초기화는 선택이지만, 지역변수의 초기화는 필수이다.</h4>
<hr>
<h2 id="👉----메서드-오버라이딩">👉    메서드 오버라이딩</h2>
<h4 id="덮어쓴다는-의미">덮어쓴다는 의미</h4>
<h4 id="메서드-재정의">메서드 재정의</h4>
<h4 id="조상-클래스로부터-상속받은-메서드의-내용을-변경하는-것">조상 클래스로부터 상속받은 메서드의 내용을 변경하는 것</h4>
<h3 id="조건">조건</h3>
<h4 id="접근-제어자는-조상-클래스의-메서드보다-좁은-범위로-변경할-수-없다">접근 제어자는 조상 클래스의 메서드보다 좁은 범위로 변경할 수 없다.</h4>
<h4 id="✔-조상-클래스의-메서드보다-많은-수의-예외를-선언할-수-없다">✔ 조상 클래스의 메서드보다 많은 수의 예외를 선언할 수 없다.</h4>
<h4 id="✔-선언부가-조상-클래스의-메서드와-일치해야-한다">✔ 선언부가 조상 클래스의 메서드와 일치해야 한다.</h4>
<h4 id="✔-반환타입-메서드이름-매개변수-목록">✔ 반환타입, 메서드이름, 매개변수 목록</h4>
<hr>
<h2 id="👉----오버로딩-vs-오버라이딩">👉    오버로딩 vs 오버라이딩??</h2>
<h3 id="🌝-오버로딩overloadin">🌝 오버로딩(overloadin)</h3>
<h4 id="기존에-없는-새로운-메서드-정의new의-개념">기존에 없는 새로운 메서드 정의(new의 개념)</h4>
<h3 id="🌝-오버라이딩overriding">🌝 오버라이딩(overriding)</h3>
<h4 id="상속받은-메서드의-내용을-변경하는-것changemodify의-의미">상속받은 메서드의 내용을 변경하는 것(change,modify)의 의미</h4>
<h4 id="⭐-재정의라고-생각하면-쉬움">⭐ 재정의라고 생각하면 쉬움.</h4>
]]></description>
        </item>
        <item>
            <title><![CDATA[[Java] 인터페이스]]></title>
            <link>https://velog.io/@da_weuny/Java-%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4</link>
            <guid>https://velog.io/@da_weuny/Java-%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4</guid>
            <pubDate>Mon, 09 Aug 2021 11:10:52 GMT</pubDate>
            <description><![CDATA[<h3 id="✍-interface-키워드를-통해-선언할-수-있음">✍ Interface 키워드를 통해 선언할 수 있음.</h3>
<h4 id="jdk-8-이후로-상수-추상메소드에서-디폴트메소드-정적-메소드까지-추가-가능">JDK 8 이후로 상수, 추상메소드에서 디폴트메소드, 정적 메소드까지 추가 가능</h4>
<hr>
<h3 id="✔-상수">✔ 상수</h3>
<h4 id="인터페이스에서-값-지정">인터페이스에서 값 지정</h4>
<h4 id="함부로-바꾸지-말고-제공해주는-값-참조해라절대적">함부로 바꾸지 말고 제공해주는 값 참조해라.(절대적)</h4>
<h3 id="✔-추상메소드">✔ 추상메소드</h3>
<h4 id="가이드만-줄-테니-추상메소드를-오버라이팅해서-재구현해라강제적">가이드만 줄 테니 추상메소드를 오버라이팅해서 재구현해라.(강제적)</h4>
<h3 id="✔-디폴트-메소드">✔ 디폴트 메소드</h3>
<h4 id="인터페이스에서-기본저으로-제공해주지만-맘에-안들면-각자-구현해서-써라선택적">인터페이스에서 기본저으로 제공해주지만, 맘에 안들면 각자 구현해서 써라.(선택적)</h4>
<h3 id="✔-정적-메소드">✔ 정적 메소드</h3>
<h4 id="인터페이스에서-제공해주는-거-무조건-써라절대적">인터페이스에서 제공해주는 거 무조건 써라.(절대적)</h4>
<hr>
<h3 id="❓-여기서-절대적-강제적의-의미란">❓ 여기서 절대적, 강제적의 의미란?</h3>
<h4 id="절대적--정말-아무것도-손댈-수-없음">절대적 : 정말 아무것도 손댈 수 없음.</h4>
<h4 id="강제적--그래도-인터페이스-implements하지-않으면-피할-수는-있음">강제적 : 그래도 인터페이스 implements하지 않으면 피할 수는 있음.</h4>
<hr>
<h4 id="추상-메소드를-인터페이스에서-추가하면-implements한-모든-클래스에서-강제적으로-추상메소드-구현해야함-안하면-에러남">추상 메소드를 인터페이스에서 추가하면, implements한 모든 클래스에서 강제적으로 추상메소드 구현해야함. 안하면 에러남.</h4>
<h4 id="쉽게-말해-이미-운영되고-있는-시스템에서-추가-요건으로-인해-불가피하게-반영해야할-때-디폴트메소드-쓰면-효과적">쉽게 말해, 이미 운영되고 있는 시스템에서 추가 요건으로 인해 불가피하게 반영해야할 때 디폴트메소드 쓰면 효과적</h4>
<hr>
<h3 id="❓-여기서-한가지-의문점">❓ 여기서 한가지 의문점</h3>
<h4 id="추상클래스와-인터페이스의-차이점을-무엇일까">추상클래스와 인터페이스의 차이점을 무엇일까?</h4>
<h3 id="우선-추상클래스는">우선 추상클래스는?</h3>
<h4 id="✔-상속-통해-자손-클래스에서-완성하도록-유도하는-클래스">✔ 상속 통해 자손 클래스에서 완성하도록 유도하는 클래스</h4>
<h4 id="✔-미완성-설계도">✔ 미완성 설계도</h4>
<h4 id="✔-상속을-위한-클래스이므로-따로-객체-설정-불가">✔ 상속을 위한 클래스이므로 따로 객체 설정 불가</h4>
<h4 id="✔-is--a--이다">✔ IS – A : “~이다”</h4>
<hr>
<h3 id="인터페이스란">인터페이스란?</h3>
<h4 id="✔-추상-클래스처럼-다르-클래스를-작성하는데-도움을-주는-목적으로-작성">✔ 추상 클래스처럼 다르 클래스를 작성하는데 도움을 주는 목적으로 작성</h4>
<h4 id="✔-다중상속구현-가능">✔ 다중상속(구현) 가능</h4>
<h4 id="✔-기본-설계도">✔ 기본 설계도</h4>
<h4 id="✔-has--a--을-할-수-있는">✔ HAS – A : “~을 할 수 있는”</h4>
<hr>
<h3 id="❓-왜-분리되는가차이점">❓ 왜 분리되는가?(차이점)</h3>
<h4 id="❗-다중-상속의-가능-여부-때문에">❗ 다중 상속의 가능 여부 때문에</h4>
<h4 id="한-개의-클래스만-상속이-가능하여-해당-클래스의-구분을-추상클래스-상속을-통해-해결하고-할-수-있는-기능을-인터페이스로-구현">한 개의 클래스만 상속이 가능하여 해당 클래스의 구분을 추상클래스 상속을 통해 해결하고, 할 수 있는 기능을 인터페이스로 구현</h4>
<hr>
<h2 id="💡-----최종-정리">💡     최종 정리</h2>
<h4 id="✔-추상클래스-사용-시기--상속-관계를-타고-올라갔을-때-같은-조상클래스를-상속하는데-기능까지-완벽히-똑-같은-기능이-필요한-경우">✔ 추상클래스 사용 시기 : 상속 관계를 타고 올라갔을 때 같은 조상클래스를 상속하는데 기능까지 완벽히 똑 같은 기능이 필요한 경우</h4>
<h4 id="✔-인터페이스-사용-시기--상속-관계를-쭉-타고-올라갔을-때-다른-조상클래스를-상속하는데-같은-기능이-필요한-경우">✔ 인터페이스 사용 시기 : 상속 관계를 쭉 타고 올라갔을 때 다른 조상클래스를 상속하는데 같은 기능이 필요한 경우</h4>
<hr>
<h2 id="➕----또-하나-새롭게-알게된-사실">➕    또 하나 새롭게 알게된 사실</h2>
<h4 id="인터페이스는-몸체에서-선언된-것이-무조건-바디에서-지정되어야-한다는-단점이-있었지만-java-8-이후로-인터페이스에-default-기능이-추가되어서-인터페이스로-구현할-수-있다고-한다">인터페이스는 몸체에서 선언된 것이 무조건 바디에서 지정되어야 한다는 단점이 있었지만, JAVA 8 이후로 인터페이스에 default 기능이 추가되어서 인터페이스로 구현할 수 있다고 한다!!</h4>
<hr>
<h4 id="위-내용은-구글을-참조하여-작성됨">위 내용은 구글을 참조하여 작성됨.</h4>
]]></description>
        </item>
        <item>
            <title><![CDATA[[Java] 오늘의 에러 해결 및 추상클래스]]></title>
            <link>https://velog.io/@da_weuny/Java-%EC%98%A4%EB%8A%98%EC%9D%98-%EC%97%90%EB%9F%AC-%ED%95%B4%EA%B2%B0-%EB%B0%8F-%EC%B6%94%EC%83%81%ED%81%B4%EB%9E%98%EC%8A%A4</link>
            <guid>https://velog.io/@da_weuny/Java-%EC%98%A4%EB%8A%98%EC%9D%98-%EC%97%90%EB%9F%AC-%ED%95%B4%EA%B2%B0-%EB%B0%8F-%EC%B6%94%EC%83%81%ED%81%B4%EB%9E%98%EC%8A%A4</guid>
            <pubDate>Mon, 09 Aug 2021 10:54:17 GMT</pubDate>
            <description><![CDATA[<h1 id="🔓----오늘의-에러-해결">🔓    오늘의 에러 해결</h1>
<hr>
<h2 id="car에서-자식클래스로-현대-스포츠카를-생성하고-main에서-호출하였으나-car에서-에러-발생🙉">Car에서 자식클래스로 현대, 스포츠카를 생성하고 main에서 호출하였으나 Car에서 에러 발생🙉</h2>
<h3 id="✍-원인분석">✍ 원인분석</h3>
<p><img src="https://images.velog.io/images/da_weuny/post/fbd17397-6b3e-4a89-a13e-4c1758b19fdf/1.png" alt=""></p>
<h3 id="car-클래스를-abstract-추상-클래스로-선언해놔서-그랬던-것이다">Car 클래스를 abstract 추상 클래스로 선언해놔서 그랬던 것이다.</h3>
<hr>
<h4 id="☝----문득-추상-클래스로-부모-자식-관계로-상속을-만들면-어떻게-될까-싶어-한번-해봄">☝    문득, 추상 클래스로 부모-자식 관계로 상속을 만들면 어떻게 될까 싶어 한번 해봄.</h4>
<h4 id="자식-클래스를-다음과-같이-생성하고">자식 클래스를 다음과 같이 생성하고</h4>
<p><img src="https://images.velog.io/images/da_weuny/post/0f8dd490-63ee-4318-b74a-9a4daead9e4d/2.png" alt="">
 </p>
<h4 id="main-실행부에서-다음과-같이-하면-된다">Main 실행부에서 다음과 같이 하면 된다.</h4>
<p><img src="https://images.velog.io/images/da_weuny/post/5ef60afa-fe86-4362-a720-516aa326847d/3.png" alt="">     </p>
<h4 id="추상-클래스의-어렴풋한-정의만-알고-있었는데-많은-시행착오를-통해-직접-실습할-수-있어서-뿌듯하다">추상 클래스의 어렴풋한 정의만 알고 있었는데, 많은 시행착오를 통해 직접 실습할 수 있어서 뿌듯하다.</h4>
<hr>
<h3 id="❗-이-문제를-해결하면서-좀-더-자세히-알아야-했던-개념--추상-클래스">❗ 이 문제를 해결하면서 좀 더 자세히 알아야 했던 개념 : “추상 클래스”</h3>
<h4 id="추상-메소드--자식-클래스에서-반드시-오버라이딩해야만-사용할-수-있는-메소드">추상 메소드 : 자식 클래스에서 반드시 오버라이딩해야만 사용할 수 있는 메소드</h4>
<h4 id="💡-사용-목적--추상-메소드가-포함된-클래스는-상속받는-자식-클래스가-반드시-추상-메소드를-구현하기-위해서">💡 사용 목적 : 추상 메소드가 포함된 클래스는 상속받는 자식 클래스가 반드시 추상 메소드를 구현하기 위해서</h4>
<h4 id="쉽게-말해-모듈-같은-공통-부분은-미리-만들어진-것-사용하면서-받아-사용할-때-필요한-것만-재정의해서-사용">쉽게 말해 모듈 같은 공통 부분은 미리 만들어진 것 사용하면서 받아 사용할 때 필요한 것만 재정의해서 사용</h4>
<h3 id="✔-특징--선언부만-존재-구현부는-x">✔ 특징 : 선언부만 존재, 구현부는 x</h3>
<h4 id="이-구현부를-재정의해서-사용함">이 구현부를 재정의해서 사용함.</h4>
<hr>
<h3 id="❗-추상-클래스--하나-이상의-추상-메소드를-포함하는-클래스">❗ 추상 클래스 : 하나 이상의 추상 메소드를 포함하는 클래스</h3>
<h4 id="💡-특징--동작이-정의되어-있지-않은-추상-메소드를-포함">💡 특징 : 동작이 정의되어 있지 않은 추상 메소드를 포함</h4>
<h4 id="✔-so-인스턴스-생성-불가">✔ So, 인스턴스 생성 불가</h4>
<h4 id="✔-상속을-통해-자식-클래스-made">✔ 상속을 통해 자식 클래스 made</h4>
<h4 id="✔-만든-자식-클래스에서-추상-클래스의-모든-추상-메소드-오버라이드-하고나서-자식-클래스-인스턴스-생성할-수-있음">✔ 만든 자식 클래스에서 추상 클래스의 모든 추상 메소드 오버라이드 하고나서 자식 클래스 인스턴스 생성할 수 있음.</h4>
<hr>
<h3 id="🙋♀----추상-클래스-사용-목적-정리">🙋‍♀    추상 클래스 사용 목적 정리</h3>
<h4 id="1-추상-메소드가-포함된-클래스를-상속받는-자식-클래스가-반드시-추상-메소드를-구현하도록-하기-위해">1. 추상 메소드가 포함된 클래스를 상속받는 자식 클래스가 반드시 추상 메소드를 구현하도록 하기 위해</h4>
<h4 id="2-추상-메소드가-포함된-추상-클래스를-상속받는-모든-자식-클래스는-추상-메서드를-구현해야만-인스턴스를-생성할-수-있으므로-반드시-구현해야함">2. 추상 메소드가 포함된 추상 클래스를 상속받는 모든 자식 클래스는 추상 메서드를 구현해야만 인스턴스를 생성할 수 있으므로, 반드시 구현해야함.</h4>
]]></description>
        </item>
        <item>
            <title><![CDATA[[Java] 추상클래스]]></title>
            <link>https://velog.io/@da_weuny/Java-%EC%B6%94%EC%83%81%ED%81%B4%EB%9E%98%EC%8A%A4</link>
            <guid>https://velog.io/@da_weuny/Java-%EC%B6%94%EC%83%81%ED%81%B4%EB%9E%98%EC%8A%A4</guid>
            <pubDate>Mon, 09 Aug 2021 10:44:10 GMT</pubDate>
            <description><![CDATA[<h2 id="👉----추상-클래스">👉    추상 클래스</h2>
<h3 id="abstract-제어자-붙여서-표현">Abstract 제어자 붙여서 표현</h3>
<h3 id="❓-추상-클래스란">❓ 추상 클래스란?</h3>
<h4 id="클래스를-설계도에-비유하면-추상-클래스는-미완성-설계도에-해당">클래스를 설계도에 비유하면 추상 클래스는 미완성 설계도에 해당!!</h4>
<h4 id="추상-메서드-즉-미완성-메서드-포함한다는-의미">추상 메서드 즉, 미완성 메서드 포함한다는 의미</h4>
<hr>
<h2 id="👉----추상메서드abstract-mathod">👉    추상메서드(abstract Mathod)</h2>
<h4 id="✔-메서드--선언부-구현부로-구성">✔ 메서드 : 선언부, 구현부로 구성</h4>
<h4 id="✔-only-선언부">✔ Only 선언부</h4>
<h4 id="✔-구현부x">✔ 구현부x</h4>
<h4 id="✔-실제-내용은-상속받는-클래스에서-구현하도록-비워둔-것">✔ 실제 내용은 상속받는 클래스에서 구현하도록 비워둔 것</h4>
<h3 id="❓-왜-추상클래스를-사용하는가">❓ 왜 추상클래스를 사용하는가?</h3>
<h4 id="자손-클래스에서-추상메서드를-반드시-구현하도록-강요하기-위해서">자손 클래스에서 추상메서드를 반드시 구현하도록 강요하기 위해서</h4>
<h4 id="상속받는-자손클래스에서는-메서드들이-완전히-구현된-것으로-인식">상속받는 자손클래스에서는 메서드들이 완전히 구현된 것으로 인식</h4>
<h4 id="⭐-오버라이딩-x">⭐ 오버라이딩 x</h4>
<hr>
]]></description>
        </item>
        <item>
            <title><![CDATA[[Java] 선언위치에 따른 변수 종류]]></title>
            <link>https://velog.io/@da_weuny/Java-%EC%84%A0%EC%96%B8%EC%9C%84%EC%B9%98%EC%97%90-%EB%94%B0%EB%A5%B8-%EB%B3%80%EC%88%98-%EC%A2%85%EB%A5%98</link>
            <guid>https://velog.io/@da_weuny/Java-%EC%84%A0%EC%96%B8%EC%9C%84%EC%B9%98%EC%97%90-%EB%94%B0%EB%A5%B8-%EB%B3%80%EC%88%98-%EC%A2%85%EB%A5%98</guid>
            <pubDate>Mon, 09 Aug 2021 10:21:53 GMT</pubDate>
            <description><![CDATA[<h1 id="✍-선언위치에-따른-변수-종류">✍ 선언위치에 따른 변수 종류</h1>
<h2 id="👉인스턴스-변수instance-variable">👉인스턴스 변수(instance variable)</h2>
<h4 id="클래스-영역에-선언">클래스 영역에 선언</h4>
<h3 id="when-인스턴스-생성시-made">When? 인스턴스 생성시 made!!</h3>
<h4 id="인스턴스마다-별도의-저장공간을-가지므로-서로-다른-값-가질-수-있음">인스턴스마다 별도의 저장공간을 가지므로 서로 다른 값 가질 수 있음.</h4>
<h4 id="인스턴스마다-고유한-상태를-유지해야하는-경우-사용">인스턴스마다 고유한 상태를 유지해야하는 경우 사용</h4>
<hr>
<h2 id="👉클래스-변수class-variable">👉클래스 변수(class variable)</h2>
<h3 id="모든-인스턴스가-공통된-저장공간변수을-공유">모든 인스턴스가 공통된 저장공간(변수)을 공유</h3>
<h4 id="한-클래스의-모든-인스턴스들이-공통적인-값을-유지해야하는-속성일-때-사용">한 클래스의 모든 인스턴스들이 공통적인 값을 유지해야하는 속성일 때 사용!</h4>
<hr>
<h2 id="👉지역변수local-variable">👉지역변수(local variable)</h2>
<h4 id="메서드-내에-선언">메서드 내에 선언</h4>
<h4 id="메서드-내에서만-사용가능">메서드 내에서만 사용가능</h4>
<h4 id="메서드-종료---반드시-소멸되어-사용-x">메서드 종료 -&gt; 반드시 소멸되어 사용 x</h4>
<h4 id="블록-벗어나면-사용-불가">블록{} 벗어나면 사용 불가</h4>
<hr>
<p><img src="https://images.velog.io/images/da_weuny/post/9ecbccbd-21c4-4ce7-96d2-fc2e2a6ef329/%EB%B3%80%EC%88%98%EC%9D%98%20%EC%A2%85%EB%A5%98.png" alt=""></p>
<hr>
<h2 id="👉-호출스택call-stack">👉 호출스택(call stack)</h2>
<h3 id="💡-우선-스택stack이란">💡 우선 스택(stack)이란?</h3>
<h4 id="밑이-막힌-상자--위에-차곡차곡-쌓임">밑이 막힌 상자 / 위에 차곡차곡 쌓임.</h4>
<h3 id="💡-그럼-호출스택은">💡 그럼 호출스택은?</h3>
<h4 id="메서드-수행에-필요한-메모리가-제공되는-공간">메서드 수행에 필요한 메모리가 제공되는 공간</h4>
<h4 id="메서드-호출되면-호출스택에-메모리를-할당함">메서드 호출되면 호출스택에 메모리를 할당함.</h4>
<h4 id="종료되면-해제됨">종료되면 해제됨.</h4>
<h3 id="💡-호출스택-특징">💡 호출스택 특징</h3>
<h4 id="메서드가-호출되면-수행에-필요한-만큼의-메모리를-스택에-할당받음">메서드가 호출되면 수행에 필요한 만큼의 메모리를 스택에 할당받음.</h4>
<h4 id="메서드가-수행-마치고나면-사용했던-메모리-반환-후-스택에서-제거됨">메서드가 수행 마치고나면 사용했던 메모리 반환 후 스택에서 제거됨.</h4>
<h4 id="호출스택의-제일-위에-있는-메서드가-현재-실행-중인-메서드">호출스택의 제일 위에 있는 메서드가 현재 실행 중인 메서드</h4>
<h3 id="💡-그럼-나머지는">💡 그럼 나머지는?</h3>
<h4 id="대기-중인-메서드">대기 중인 메서드!!</h4>
<h4 id="아래에-있는-메서드가-바로-위의-메서드를-호출한-메서드">아래에 있는 메서드가 바로 위의 메서드를 호출한 메서드</h4>
<h3 id="👉-매개변수">👉 매개변수</h3>
<h4 id="기본형과-참조형으로-구분">기본형과 참조형으로 구분</h4>
<h4 id="기본형--변수의-값-읽기만-가능">기본형 : 변수의 값 읽기만 가능</h4>
<h4 id="참조형--변수의-값-읽고-쓰기-가능">참조형 : 변수의 값 읽고 쓰기 가능</h4>
]]></description>
        </item>
        <item>
            <title><![CDATA[[JavaScript] 배열]]></title>
            <link>https://velog.io/@da_weuny/JavaScript-%EB%B0%B0%EC%97%B4</link>
            <guid>https://velog.io/@da_weuny/JavaScript-%EB%B0%B0%EC%97%B4</guid>
            <pubDate>Mon, 09 Aug 2021 10:11:38 GMT</pubDate>
            <description><![CDATA[<h2 id="✍객체의-유형">✍객체의 유형</h2>
<h4 id="배열-함수-배열이나-함수가-아닌-객체">배열, 함수, 배열이나 함수가 아닌 객체</h4>
<h2 id="✍배열에서-요소-제거하는-방법">✍배열에서 요소 제거하는 방법</h2>
<h3 id="👉pop-사용">👉pop() 사용</h3>
<hr>
<pre><code class="language-javascript">const target=[&#39;가&#39;,&#39;나&#39;,&#39;다&#39;,&#39;라&#39;,&#39;마&#39;];
target.pop();
console.log(target);</code></pre>
<hr>
<h3 id="👉splice-사용">👉splice() 사용</h3>
<hr>
<pre><code class="language-javascript">const target = [&#39;가&#39;,&#39;나&#39;,&#39;다&#39;,&#39;라&#39;,&#39;마&#39;];
target.splice(1);
console.log(target);</code></pre>
<hr>
<hr>
<pre><code class="language-javascript">const target = [&#39;가&#39;,&#39;나&#39;,&#39;다&#39;,&#39;라&#39;,&#39;마&#39;];
target.splice(1,3,&#39;타&#39;,&#39;파&#39;);
console.log(target);</code></pre>
<hr>
<h4 id="-인덱스-1부터-3개-요소를-먼저-제거하고-요소를-제거한-자리에-타-파-채우기">=&gt; 인덱스 1부터 3개 요소를 먼저 제거하고 요소를 제거한 자리에 &#39;타&#39;, &#39;파&#39; 채우기</h4>
<h3 id="👉배열에서-요소-찾기">👉배열에서 요소 찾기</h3>
<hr>
<pre><code class="language-javascript">const target = [&#39;가&#39;,&#39;나&#39;,&#39;다&#39;,&#39;라&#39;,&#39;마&#39;];
const result = target.includes(&#39;다&#39;);
const result2 = target.includes(&#39;카&#39;);
console.log(result);
console.log(result2);</code></pre>
<hr>
<h4 id="includes에-주어진-값이-배열에-존재하면-true-아니면-false">=&gt;includes에 주어진 값이 배열에 존재하면 true, 아니면 false</h4>
<h3 id="👉검색하고-싶은-값이-몇-번째-인덱스에-위치하는지-확인하는-법--indexof-lastaindexof">👉검색하고 싶은 값이 몇 번째 인덱스에 위치하는지 확인하는 법 =&gt; indexOf, lastaindexOf</h3>
<hr>
<pre><code class="language-javascript">const target = [&#39;가&#39;,&#39;나&#39;,&#39;다&#39;,&#39;라&#39;,&#39;마&#39;];
const result = target.indexOf(&#39;다&#39;);
const result2 = target.lastIndexOf(&#39;라&#39;);
const result3 = target.indexOf(&#39;가&#39;);
console.log(result);
console.log(result2);
console.log(result3);</code></pre>
<hr>
<h4 id="-배열에-라-다-두-개씩-존재">=&gt; 배열에 &#39;라&#39;, &#39;다&#39; 두 개씩 존재</h4>
<h4 id="indexof--앞에서부터-주어진-값-find">indexOf : 앞에서부터 주어진 값 find</h4>
<h4 id="lastindexof--뒤에서부터-주어진-값-find">lastIndexOf : 뒤에서부터 주어진 값 find</h4>
<h4 id="라---인덱스-03에-위치하지만-lastindexof는-뒤에서부터-찾으므로-결괏값--3">&#39;라&#39; -&gt; 인덱스 0,3에 위치하지만 lastIndexOf는 뒤에서부터 찾으므로 결괏값 : 3</h4>
<h4 id="result-3--배열-안에-존재하지-않는-값의-인덱스를-찾으면-결괏값---1">result 3 : 배열 안에 존재하지 않는 값의 인덱스를 찾으면 결괏값 : -1</h4>
]]></description>
        </item>
    </channel>
</rss>