<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>스스로 계발하는 신입 개발자</title>
    <link>https://darmk.tistory.com/</link>
    <description>개발자를 위한 자기계발을 하고있는 신입 개발자 담크입니다.</description>
    <language>ko</language>
    <pubDate>Tue, 14 Jul 2026 02:15:52 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>담크</managingEditor>
    <image>
      <title>스스로 계발하는 신입 개발자</title>
      <url>https://tistory1.daumcdn.net/tistory/4682973/attach/d13ce58c96ee4500ac8e26667ce9b400</url>
      <link>https://darmk.tistory.com</link>
    </image>
    <item>
      <title>[Baekjoon] 백준 11720 숫자의 합 - java</title>
      <link>https://darmk.tistory.com/entry/Baekjoon-%EB%B0%B1%EC%A4%80-11720-%EC%88%AB%EC%9E%90%EC%9D%98-%ED%95%A9-java</link>
      <description>&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;a href=&quot;https://www.acmicpc.net/problem/11720&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.acmicpc.net/problem/11720&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1645270513746&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;11720번: 숫자의 합&quot; data-og-description=&quot;첫째 줄에 숫자의 개수 N (1 &amp;le; N &amp;le; 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.&quot; data-og-host=&quot;www.acmicpc.net&quot; data-og-source-url=&quot;https://www.acmicpc.net/problem/11720&quot; data-og-url=&quot;https://www.acmicpc.net/problem/11720&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/BLFy1/hyNsTx189c/Nvbg37S9ob2v4IFv5j5BPk/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630&quot;&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/11720&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.acmicpc.net/problem/11720&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/BLFy1/hyNsTx189c/Nvbg37S9ob2v4IFv5j5BPk/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;11720번: 숫자의 합&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;첫째 줄에 숫자의 개수 N (1 &amp;le; N &amp;le; 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.acmicpc.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 확인하시면 됩니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;문제풀이&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1645270833797&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;package Baek;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Java11720 {
	
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int s = Integer.parseInt(br.readLine());
		
		String str = br.readLine();
		int sum = 0;
		
		for(int i = 0; i &amp;lt; s; i++) {
			sum += str.charAt(i)-'0';
		}
		
		System.out.println(sum);
	}

}&lt;/code&gt;&lt;/pre&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;charAt(i)는 입력받은 문자열의 i번째 인덱스 문자를 출력하는 것입니다. 만약 문자열의 값이 &quot;안녕하세요&quot; 라면 0번째인 &quot;안&quot;부터 4번째 인덱스인 &quot;요&quot;까지 표시할 수 있겠죠.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 38px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 19px;&quot;&gt;
&lt;td style=&quot;width: 16.6667%; height: 19px;&quot;&gt;문자열&lt;/td&gt;
&lt;td style=&quot;width: 16.6667%; height: 19px;&quot;&gt;안&lt;/td&gt;
&lt;td style=&quot;width: 16.6667%; height: 19px;&quot;&gt;녕&lt;/td&gt;
&lt;td style=&quot;width: 16.6667%; height: 19px;&quot;&gt;하&lt;/td&gt;
&lt;td style=&quot;width: 16.6667%; height: 19px;&quot;&gt;세&lt;/td&gt;
&lt;td style=&quot;width: 16.6667%; height: 19px;&quot;&gt;요&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 19px;&quot;&gt;
&lt;td style=&quot;width: 16.6667%; height: 19px;&quot;&gt;인덱스(index)&lt;/td&gt;
&lt;td style=&quot;width: 16.6667%; height: 19px;&quot;&gt;0&lt;/td&gt;
&lt;td style=&quot;width: 16.6667%; height: 19px;&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;width: 16.6667%; height: 19px;&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;width: 16.6667%; height: 19px;&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;width: 16.6667%; height: 19px;&quot;&gt;4&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 각 자릿수를 나누고 for문을 사용해 첫 번째 자릿수부터&amp;nbsp; 입력받은 수만큼의 자릿수까지 더하기만 해 주면 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이때 charAt()은 해당 문자의 ASCII코드 값을 반환하기 때문에 -'0'을 해줘야 우리가 보는 숫자 그대로 더해주게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(-'0' 또는 -48을 해주시면 됩니다.)&lt;/p&gt;</description>
      <category>Algorithm/Baekjoon</category>
      <category>11720번</category>
      <category>Algorithm</category>
      <category>Baekjoon</category>
      <category>charAt</category>
      <category>java</category>
      <category>백준</category>
      <category>알고리즘</category>
      <category>입출력</category>
      <category>자바</category>
      <author>담크</author>
      <guid isPermaLink="true">https://darmk.tistory.com/131</guid>
      <comments>https://darmk.tistory.com/entry/Baekjoon-%EB%B0%B1%EC%A4%80-11720-%EC%88%AB%EC%9E%90%EC%9D%98-%ED%95%A9-java#entry131comment</comments>
      <pubDate>Sat, 19 Feb 2022 20:51:07 +0900</pubDate>
    </item>
    <item>
      <title>[Baekjoon] 백준 10953 A + B - 6 - java</title>
      <link>https://darmk.tistory.com/entry/Baekjoon-%EB%B0%B1%EC%A4%80-10953-A-B-6-java</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 입출력 문제인 A + B의 많은 문제중 6번째 문제를 풀어볼까 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 문제는 Scanner와 BufferedReader 두가지를 사용해서 각각 풀어봤습니다.&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;a href=&quot;https://www.acmicpc.net/problem/10953&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.acmicpc.net/problem/10953&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1645258883688&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;10953번: A+B - 6&quot; data-og-description=&quot;두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.&quot; data-og-host=&quot;www.acmicpc.net&quot; data-og-source-url=&quot;https://www.acmicpc.net/problem/10953&quot; data-og-url=&quot;https://www.acmicpc.net/problem/10953&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/qFaUm/hyNrBllgO6/bv4JqgxIhGuiPdEu1GQpFK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630&quot;&gt;&lt;a href=&quot;https://www.acmicpc.net/problem/10953&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.acmicpc.net/problem/10953&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/qFaUm/hyNrBllgO6/bv4JqgxIhGuiPdEu1GQpFK/img.png?width=1200&amp;amp;height=630&amp;amp;face=0_0_1200_630');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;10953번: A+B - 6&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.acmicpc.net&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 확인하시면 됩니다.&lt;/p&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style5&quot; /&gt;
&lt;p data-ke-size=&quot;size18&quot;&gt;&lt;b&gt;문제풀이&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1645259036342&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;package Baek;

import java.io.IOException;
import java.util.Scanner;


public class Main {
	public static void main(String[] args) throws IOException {
		Scanner sc = new Scanner(System.in);
		
		int T = sc.nextInt();
		for(int i = 0; i &amp;lt; T; i++) {
			String[] str = sc.next().split(&quot;,&quot;);
			int x,y;
			x = Integer.parseInt(str[0]);
			y = Integer.parseInt(str[1]);
			
			System.out.println(x + y);
		}		
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;첫번째로 Scanner를 이용한 방법입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이번 문제는 &quot;,&quot;를 뺀 두 숫자를 더해야하는 문제이기 때문에 split을 사용해 &quot;,&quot;를 제거한 후 각각 배열에 담아 따로따로 배열의 0번지와 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;&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;pre id=&quot;code_1645259388426&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;package Baek;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;



public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st;
		String str = &quot;&quot;;
		
		int T = Integer.parseInt(br.readLine());		
		for(int i = 0; i &amp;lt; T; i++) {
			str = br.readLine();
			st = new StringTokenizer(str, &quot;,&quot;);
			
			int x,y;
			x = Integer.parseInt(st.nextToken());
			y = Integer.parseInt(st.nextToken());
			
			System.out.println(x + y);
		}
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;두번째는 BufferdReader를 이용한 방법입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;StringTokenizer를 이용해서 &quot;,&quot;를 기준으로 문자열을 각각 분리해주고, nextToken을 써서 분리되어있는 두 수를 따로따로 읽어서 더해주는 방법입니다.&amp;nbsp;&lt;/p&gt;</description>
      <category>Algorithm/Baekjoon</category>
      <category>10953번</category>
      <category>Algorithm</category>
      <category>Baekjoon</category>
      <category>java</category>
      <category>백준</category>
      <category>알고리즘</category>
      <category>자바</category>
      <author>담크</author>
      <guid isPermaLink="true">https://darmk.tistory.com/130</guid>
      <comments>https://darmk.tistory.com/entry/Baekjoon-%EB%B0%B1%EC%A4%80-10953-A-B-6-java#entry130comment</comments>
      <pubDate>Sat, 19 Feb 2022 17:45:17 +0900</pubDate>
    </item>
    <item>
      <title>헬린이의 파워빌딩 루틴 1주차</title>
      <link>https://darmk.tistory.com/entry/%ED%97%AC%EB%A6%B0%EC%9D%B4%EC%9D%98-%ED%8C%8C%EC%9B%8C%EB%B9%8C%EB%94%A9-%EB%A3%A8%ED%8B%B4-1%EC%A3%BC%EC%B0%A8</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;안녕하세요 오랜만에 글 쓰는 거 같네요. 최근에 컴퓨터 메인보드 쪽에 문제가 생겨 뭘 할 수가 없었습니다... 하하..&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 열심히 운동만 하다가보니 어느덧 10월이 되어버렸습니다 요새는 시간이 너무 빨리 가는 거 같아요 ㅜ&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;이번 주 월요일부터 주 4일 운동인 김광호님의 파워빌딩 루틴을 진행했는데 이번 주 정말 즐겁게 진행했습니다 ㅎㅎ 우선&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;우선 프로그램 자체는 주 4일 운동에 6주 운동으로 짜 놨는데 하면서 수정할 사항 있으면 수정하겠습니다.&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>운동log</category>
      <category>김광호</category>
      <category>운동</category>
      <category>초급자</category>
      <category>파워빌딩</category>
      <category>파워빌딩 프로그램</category>
      <category>헬린이</category>
      <category>헬스</category>
      <author>담크</author>
      <guid isPermaLink="true">https://darmk.tistory.com/129</guid>
      <comments>https://darmk.tistory.com/entry/%ED%97%AC%EB%A6%B0%EC%9D%B4%EC%9D%98-%ED%8C%8C%EC%9B%8C%EB%B9%8C%EB%94%A9-%EB%A3%A8%ED%8B%B4-1%EC%A3%BC%EC%B0%A8#entry129comment</comments>
      <pubDate>Sat, 2 Oct 2021 23:44:26 +0900</pubDate>
    </item>
    <item>
      <title>[JAVA] 자바의 추상클래스(abstract class)</title>
      <link>https://darmk.tistory.com/entry/JAVA-%EC%9E%90%EB%B0%94%EC%9D%98-%EC%B6%94%EC%83%81%ED%81%B4%EB%9E%98%EC%8A%A4abstract-class</link>
      <description>&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;/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;span style=&quot;background-color: #f3c000;&quot;&gt;&lt;b&gt;추상메소드&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1632666255280&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;abstract 리턴타입 메소드명();&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;추상메소드는 위와같이 바디부분 없이 선언만 되어있는 메소드입니다. 선언할 때 abstract를 앞에 써줍니다.&lt;/p&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;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;background-color: #f3c000;&quot;&gt;&lt;b&gt;추상클래스&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;추상 클래스란 처음에 설명했던것과 같이 하나이상의 추상메소드를 포함하고 있는 클래스입니다.&lt;/p&gt;
&lt;pre id=&quot;code_1632666472718&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;abstract class 클래스명{
  abstract 리턴타입 메소드명();
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;추상클래스 역시 abstract를 이용해 선언을 해줍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&lt;i&gt;추상 클래스의 특징으로는&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&lt;i&gt;1. new 사용이 불가능합니다. 즉 객체를 생성할 수가 없습니다.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&lt;i&gt;2. 상속이 강요됩니다. (상속받는 클래스에서 추상메소드를 반드시 구현해야 합니다.)&lt;/i&gt;&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Animal.java&lt;/p&gt;
&lt;pre id=&quot;code_1632667737020&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;package test03;

public abstract class Animal {
	
	public abstract void bark();
	
	public void eat(String food) {
		System.out.println(food + &quot;먹는다.&quot;);
	}

}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Cat.java&lt;/p&gt;
&lt;pre id=&quot;code_1632667747160&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;package test03;

public class Cat extends Animal{
	
	@Override
	public void bark() {
		System.out.println(&quot;야옹&quot;);
	}
	
	@Override
	public void eat(String food) {
		System.out.println(&quot;고양이가 &quot;);
		super.eat(food);
	}

}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Dog.java&lt;/p&gt;
&lt;pre id=&quot;code_1632667756512&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;package test03;

public class Dog extends Animal{
	
	@Override
	public void bark() {
		System.out.println(&quot;멍멍&quot;);
	}
	
	@Override
	public void eat(String food) {
		System.out.println(&quot;강아지가 &quot;);
		super.eat(food);
	}

}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;MTest.java&lt;/p&gt;
&lt;pre id=&quot;code_1632667766096&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;package test03;

public class MTest {
	
	public static void main(String[] args) {
		//추상클래스는 객체선언이 불가능하기 때문에
		//Animal ani = new Animal(); 이 불가능하다(에러가난다.)
		Animal cat = new Cat();
		Animal dog = new Dog();
		
		cat.bark();
		dog.bark();
		
		cat.eat(&quot;생선&quot;);
		dog.eat(&quot;사료&quot;);
	}

}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드 실행결과&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;123&quot; data-origin-height=&quot;133&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mpmG2/btrf0rhmkbG/ISNHhONkFSoeBEuKnB2o80/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mpmG2/btrf0rhmkbG/ISNHhONkFSoeBEuKnB2o80/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mpmG2/btrf0rhmkbG/ISNHhONkFSoeBEuKnB2o80/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmpmG2%2Fbtrf0rhmkbG%2FISNHhONkFSoeBEuKnB2o80%2Fimg.png&quot; data-origin-width=&quot;123&quot; data-origin-height=&quot;133&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Animal 클래스를 추상 클래스로 선언하고 bark( ); 메소드를 추상 메소드로 선언했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Cat과 Dog클래스에서 추상 클래스인 Animal 클래스를 상속받고 있기 때문에 추상 메소드인 bark( )가 반드시 구현되야합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한 MTest에서 Animal클래스가 추상 클래스라 객체 생성이 불가능하기 때문에 평소와 다르게 Animal타입의 cat과 dog를 따로 선언해줬습니다.&lt;/p&gt;</description>
      <category>Java/JAVA</category>
      <category>abstract</category>
      <category>Class</category>
      <category>java</category>
      <category>Method</category>
      <category>자바</category>
      <category>추상메소드</category>
      <category>추상클래스</category>
      <author>담크</author>
      <guid isPermaLink="true">https://darmk.tistory.com/126</guid>
      <comments>https://darmk.tistory.com/entry/JAVA-%EC%9E%90%EB%B0%94%EC%9D%98-%EC%B6%94%EC%83%81%ED%81%B4%EB%9E%98%EC%8A%A4abstract-class#entry126comment</comments>
      <pubDate>Sun, 26 Sep 2021 23:56:15 +0900</pubDate>
    </item>
    <item>
      <title>헬린이의 F45 Training</title>
      <link>https://darmk.tistory.com/entry/%ED%97%AC%EB%A6%B0%EC%9D%B4%EC%9D%98-F45-Training</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;남양주에서 역삼까지 거리가 좀 있어서 아침부터 부지런히 서둘러서 다녀왔어요&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;겨우겨우 시간 맞춰 도착을 했습니다&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;KakaoTalk_20210925_233534782.jpg&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;2560&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/9mexb/btrfTGAwch9/HWBf2HlWKb8Kw07LurnXV0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/9mexb/btrfTGAwch9/HWBf2HlWKb8Kw07LurnXV0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/9mexb/btrfTGAwch9/HWBf2HlWKb8Kw07LurnXV0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F9mexb%2FbtrfTGAwch9%2FHWBf2HlWKb8Kw07LurnXV0%2Fimg.jpg&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;400&quot; height=&quot;533&quot; data-filename=&quot;KakaoTalk_20210925_233534782.jpg&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;2560&quot;/&gt;&lt;/span&gt;&lt;/figure&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;F45 Training은 어플을 설치하고 회원을 등록하면 일주일 무료로 운동할 수 있게끔 해주는데 월수금은 유산소, 화목은 저항운동 이렇게 보통 진행하더라구요 토요일은 유산소랑 저항운동을 같이 진행합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;F45는 Functional training 45의 약자로 몸이 필요한 움직임을 향상시키기 위해 &lt;span style=&quot;color: #211551;&quot;&gt;HIIT STYLE과 서킷 운동이 종합된 트레이닝이라고 합니다. 45는 45분을 뜻하고요&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #211551;&quot;&gt;제가 요근래 매일 무게 올리는 근력운동에 관심을 갖고 있다 보니 유산소 운동을 잘 안 하고 있었는데 오늘 다양한 운동으로 땀 제대로 뺀 것 같아요 ㅎㅎㅎ 보니까 매일 운동 루틴도 바뀌는 것 같아요 오늘은 28개 루틴으로 다양하게 진행이 되었습니다. 한 가지를 45분 하는 게 아니라 다양하게 많은 사람들과 한 번에 루틴을 도니까 뭔가 힘들어도 다 같이 으쌰으쌰 하는 게 생기기도 하더라구요!! 엄청~ 힘들었지만 결국 끝까지 완수했습니다. 끝나고 나니 땀이 엄청.... ㅎㅎ&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;233534782_01.png&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;2560&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/7jxco/btrfVt8kpes/YMpcqyW0oWXXAfdmB0mYPk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/7jxco/btrfVt8kpes/YMpcqyW0oWXXAfdmB0mYPk/img.png&quot; data-alt=&quot;운동끝나고 다들 친해져서 모여계신 모습입니다 ㅎㅎ&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/7jxco/btrfVt8kpes/YMpcqyW0oWXXAfdmB0mYPk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7jxco%2FbtrfVt8kpes%2FYMpcqyW0oWXXAfdmB0mYPk%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;400&quot; height=&quot;533&quot; data-filename=&quot;233534782_01.png&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;2560&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;거기다가 오늘은 역삼점 1주년이라 운동끝나고 기념 선물도 주고 다 같이 축하하는 자리도 있었습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;KakaoTalk_20210925_233534782_02.jpg&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;2560&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Jfavk/btrf0stwg14/pKzMKsD22WFZt6nfETUNy0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Jfavk/btrf0stwg14/pKzMKsD22WFZt6nfETUNy0/img.jpg&quot; data-alt=&quot;1주년 기념이라 풍선잔치 ㅎㅎ&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Jfavk/btrf0stwg14/pKzMKsD22WFZt6nfETUNy0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJfavk%2Fbtrf0stwg14%2FpKzMKsD22WFZt6nfETUNy0%2Fimg.jpg&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;300&quot; height=&quot;400&quot; data-filename=&quot;KakaoTalk_20210925_233534782_02.jpg&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;2560&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;1주년 기념이라 풍선잔치 ㅎㅎ&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;/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;&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;그리고 지금은 무료운동 예약하시는 분들은 코로나 2차 접종 마치신 분이나 2주 내에 코로나 검사 음성 받은 결과가 있어야 신청이 가능하니 이점 유의하시기 바랍니다.&lt;/p&gt;</description>
      <category>운동log</category>
      <category>1주년</category>
      <category>F45</category>
      <category>역삼점</category>
      <category>운동</category>
      <category>헬린이</category>
      <category>헬스</category>
      <author>담크</author>
      <guid isPermaLink="true">https://darmk.tistory.com/125</guid>
      <comments>https://darmk.tistory.com/entry/%ED%97%AC%EB%A6%B0%EC%9D%B4%EC%9D%98-F45-Training#entry125comment</comments>
      <pubDate>Sat, 25 Sep 2021 23:59:07 +0900</pubDate>
    </item>
    <item>
      <title>[JAVA] 자바의 다형성(polymorphism)</title>
      <link>https://darmk.tistory.com/entry/JAVA-%EC%9E%90%EB%B0%94%EC%9D%98-%EB%8B%A4%ED%98%95%EC%84%B1polymorphism</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;자바는 객체지향프로그래밍(OOP) 언어 중 하나로 객체지향프로그래밍의 특징에는 추상화, 상속, 다형성, 캡슐화 이렇게 4가지가 존재합니다. 지난 포스팅에는 자바의 상속에 대해 공부했었는데 오늘은 자바의 다형성에 대해 공부해보도록 하겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다형성이란?&lt;/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;&lt;b&gt;1. 부모 타입으로 자식 생성 가능&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1632494017595&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Parent p = new Child();&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. 부모 타입 변수에 자식 대입 가능&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1632494097145&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Child c = new Child();
Parent p = c;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3. 부모 메소드를 통해 자식 메소드 호출 가능&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1632494122313&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Parent p = new Child();
p.prn();  //c.prn() 호출&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&lt;i&gt;** 같은 부모를 상속받은 자식 클래스는 컴파일할 때 형 변환 가능한 것처럼 작성은 되지만 실제 실행 시 ClassCastException에러를 발생시킨다고 합니다.&lt;/i&gt;&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;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Animal.java&lt;/p&gt;
&lt;pre id=&quot;code_1632494791066&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;package test01;

public class Animal {
	
	public Animal() {
		System.out.println(&quot;동물&quot;);
	}
	
	public void bark() {
		System.out.print(&quot;울음 소리 : &quot;);
	}

}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Dog.java&lt;/p&gt;
&lt;pre id=&quot;code_1632494806569&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;package test01;

public class Dog extends Animal{
	
	public Dog() {
		System.out.println(&quot;강아지&quot;);
	}
	
	public void bark() {
		super.bark();
		System.out.println(&quot;멍멍&quot;);
	}

}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Cat.java&lt;/p&gt;
&lt;pre id=&quot;code_1632494816193&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;package test01;

public class Cat extends Animal{
	
	public Cat() {
		System.out.println(&quot;고양이&quot;);
	}
	
	public void bark() {
		super.bark();
		System.out.println(&quot;야옹&quot;);
	}

}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;MTest.java&lt;/p&gt;
&lt;pre id=&quot;code_1632494828122&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;package test01;

public class MTest {
	
	public static void main(String[] args) {
		Animal ani = new Dog();
		ani.bark();
		
		ani = new Cat();
		ani.bark();
		
		//instanceof : 해당타입의 객체인지 아닌지 판별한다.
		if(ani instanceof Dog) {
			System.out.println(&quot;멍멍이다.&quot;);
		} else if(ani instanceof Cat) {
			System.out.println(&quot;야옹이다.&quot;);
		}
	}

}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드 실행결과&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;145&quot; data-origin-height=&quot;167&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cjZ410/btrfTGs9Bcg/mDUuPlavWqzwzOBWZtYI8k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cjZ410/btrfTGs9Bcg/mDUuPlavWqzwzOBWZtYI8k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cjZ410/btrfTGs9Bcg/mDUuPlavWqzwzOBWZtYI8k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcjZ410%2FbtrfTGs9Bcg%2FmDUuPlavWqzwzOBWZtYI8k%2Fimg.png&quot; data-origin-width=&quot;145&quot; data-origin-height=&quot;167&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&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;우선 출력 결과가 왜 이렇게 나왔는지 보려면 MTest의 main메소드를 확인해야 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;처음에 Animal 타입의 Dog 객체를 ani라는 이름으로 만들었습니다. 가장 먼저 Animal 클래스의 기본 생성자인 public Animal( )이 호출이 되기 때문에 &quot;동물&quot;이 출력이 됩니다. 그다음은 Dog의 기본 생성자인 &quot;강아지&quot;가 출력이 되겠죠&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그다음 ani.bark( )로 bark메소드를 호출했습니다. Dog클래스에서 bark라는 이름의 메소드를 호출했기 때문에&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&quot;울음소리 : 멍멍&quot;이 출력됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그 다음 ani = new Cat( );을 통해 Cat객체로 다시 대입을 했고 그 뒤는 Dog객채에서 했던 행위와 동일합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마지막에 &quot;야옹이다.&quot;만 출력된 이유는 코드는 위에서 아래로 읽어가죠? 처음엔 Dog객체로 만들었으나 이후에 Cat객체로 바뀌었기 때문에 &quot;야옹이다.&quot;만 출력합니다.&lt;/p&gt;</description>
      <category>Java/JAVA</category>
      <category>java</category>
      <category>polymorphism</category>
      <category>다형성</category>
      <category>자바</category>
      <author>담크</author>
      <guid isPermaLink="true">https://darmk.tistory.com/124</guid>
      <comments>https://darmk.tistory.com/entry/JAVA-%EC%9E%90%EB%B0%94%EC%9D%98-%EB%8B%A4%ED%98%95%EC%84%B1polymorphism#entry124comment</comments>
      <pubDate>Fri, 24 Sep 2021 23:58:05 +0900</pubDate>
    </item>
    <item>
      <title>헬린이의 파워빌딩 루틴 시작</title>
      <link>https://darmk.tistory.com/entry/%ED%97%AC%EB%A6%B0%EC%9D%B4%EC%9D%98-%ED%8C%8C%EC%9B%8C%EB%B9%8C%EB%94%A9-%EB%A3%A8%ED%8B%B4-%EC%8B%9C%EC%9E%91</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;p data-ke-size=&quot;size16&quot;&gt;뭐 그래도 겨우겨우 정신줄 부여잡고 오늘 운동 첫날 잘 끝마치고 왔습니다. 본격적인 세트는 다음주부터 카운트 할 예정이고 오늘하고 내일은 어떤 운동루틴인지 그냥 가볍게 알아보려고 합니다. ㅎㅎㅎ&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다음주부터 시작되는 새로운 운동법은 김광호님의 &quot;파워빌딩 프로그램&quot; 입니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;기존의 스트롱리프트랑은 다르게 주 4일 운동이고 주 3일에서 주 4일로 늘린만큼 뭔가 작은 부위까지 쪼개서 운동한다고 해야할까 스트롱리프트에 비해 운동 종류가 굉장히 세세하게 나누어져있습니다. 그래서 더 작은부위까지 집중할 수 있을것같고 재미있을거같아요&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;아직 3대 300도 못채우는 헬린이지만 앞으로도 건강하게, 재미있게 운동하면서 체력 체격 다 키워보도록 하겠습니다.&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;&lt;a href=&quot;https://youtu.be/auvtBumLufE&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://youtu.be/auvtBumLufE&lt;/a&gt;&lt;/p&gt;
&lt;figure data-ke-type=&quot;video&quot; data-ke-style=&quot;alignCenter&quot; data-video-host=&quot;youtube&quot; data-video-url=&quot;https://www.youtube.com/watch?v=auvtBumLufE&quot; data-video-thumbnail=&quot;https://scrap.kakaocdn.net/dn/bxH3sW/hyLI7qE5Ze/jnI6uMz6zuxaKkRVFW7No1/img.jpg?width=1280&amp;amp;height=720&amp;amp;face=840_98_976_246&quot; data-video-width=&quot;860&quot; data-video-height=&quot;484&quot; data-video-origin-width=&quot;860&quot; data-video-origin-height=&quot;484&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;iframe src=&quot;https://www.youtube.com/embed/auvtBumLufE&quot; width=&quot;860&quot; height=&quot;484&quot; frameborder=&quot;&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;
&lt;figcaption&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>운동log</category>
      <category>김광호</category>
      <category>운동</category>
      <category>초급자</category>
      <category>파워빌딩</category>
      <category>파워빌딩 프로그램</category>
      <category>헬린이</category>
      <category>헬스</category>
      <author>담크</author>
      <guid isPermaLink="true">https://darmk.tistory.com/123</guid>
      <comments>https://darmk.tistory.com/entry/%ED%97%AC%EB%A6%B0%EC%9D%B4%EC%9D%98-%ED%8C%8C%EC%9B%8C%EB%B9%8C%EB%94%A9-%EB%A3%A8%ED%8B%B4-%EC%8B%9C%EC%9E%91#entry123comment</comments>
      <pubDate>Thu, 23 Sep 2021 22:56:34 +0900</pubDate>
    </item>
    <item>
      <title>[JAVA] 자바의 상속(inheritance)</title>
      <link>https://darmk.tistory.com/entry/JAVA-%EC%9E%90%EB%B0%94%EC%9D%98-%EC%83%81%EC%86%8Dinheritance</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 자바의 상속에 대해 공부해보도록 하겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;상속은 자바인 객체지향프로그래밍의 특징 4가지 중 하나로 간단히 말하자면 부모의 것을 자식이 받아서 쓸 수 있는 것을 말합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&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;지난 포스팅에서 잠깐 살펴봤지만 상속을 사용하기 위한 코드는 extends이며, 상속해주는 클래스를 부모클래스, 슈퍼클래스, 상위 클래스, 기초 클래스라고 하며 상속받는 클래스를 자식 클래스, 하위 클래스, 파생 클래스라고 합니다.&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;코드로 살펴보겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Super.java&lt;/p&gt;
&lt;pre id=&quot;code_1632337183166&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;package test;

public class Super {
	
	public Super() {
		System.out.println(&quot;Super 클래스&quot;);
	}

}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AA.java&lt;/p&gt;
&lt;pre id=&quot;code_1632337207540&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;package test;

public class AA extends Super{
	
	public AA() {
		System.out.println(&quot;AA 클래스&quot;);
	}

}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;BB.java&lt;/p&gt;
&lt;pre id=&quot;code_1632337228276&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;package test;

public class BB extends Super{
	
	public BB() {
		System.out.println(&quot;BB 클래스&quot;);
	}

}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;우선 위 코드를 보면 AA와 BB가 각각 Super클래스를 상속받고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;따라서 AA클래스와 BB클래스에서는 Super클래스를 참조할 수 있지만 AA가 BB를 혹은 BB가 AA를 참조할 수 없고 부모클래스인 Super클래스 역시 AA와 BB클래스를 참조할 수 없습니다.&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;MTest.java&lt;/p&gt;
&lt;pre id=&quot;code_1632337525636&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;package test;

public class MTest {
	
	public static void main(String[] args) {
		AA a = new AA();
		
		Super s = a;
		
		System.out.println(a.hashCode());
		System.out.println(s.hashCode());
	}

}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드 실행결과&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;129&quot; data-origin-height=&quot;96&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/SJZHZ/btrfuPR7ZZd/tNnVGOVoZV1l3nP54oXDSk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/SJZHZ/btrfuPR7ZZd/tNnVGOVoZV1l3nP54oXDSk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/SJZHZ/btrfuPR7ZZd/tNnVGOVoZV1l3nP54oXDSk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSJZHZ%2FbtrfuPR7ZZd%2FtNnVGOVoZV1l3nP54oXDSk%2Fimg.png&quot; data-origin-width=&quot;129&quot; data-origin-height=&quot;96&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 코드 실행결과를 보면 Super 클래스라는 부분이 먼저 출력이 되는데 그 이유는 맨 처음에 만들어준 AA a = new AA( );에서 객체를 만들 때 해당 클래스의 생성자를 호출하는데 상속받고 있는 Super클래스의 생성자를 먼저 호출해 주기 때문에 Super 클래스가 먼저 출력이 된 것입니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;508&quot; data-origin-height=&quot;246&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b7B655/btrfuLIfGAd/pLLkZRs2Fg4Vkj5gZmvTRk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b7B655/btrfuLIfGAd/pLLkZRs2Fg4Vkj5gZmvTRk/img.png&quot; data-alt=&quot;마찬가지로 그 밑에 BB로 새로운 객체를 만들어도 똑같죠&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b7B655/btrfuLIfGAd/pLLkZRs2Fg4Vkj5gZmvTRk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb7B655%2FbtrfuLIfGAd%2FpLLkZRs2Fg4Vkj5gZmvTRk%2Fimg.png&quot; data-origin-width=&quot;508&quot; data-origin-height=&quot;246&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&gt;&lt;/span&gt;&lt;figcaption&gt;마찬가지로 그 밑에 BB로 새로운 객체를 만들어도 똑같죠&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그리고 s와 a가 같은 해쉬코드값이 나온 건 a가 new AA( )를 통해 가지고 있는 주소 값을 그대로 s에 전달해줬기 때문에 같은 값이 나오게 됩니다.&lt;/p&gt;</description>
      <category>Java/JAVA</category>
      <category>inheritance</category>
      <category>java</category>
      <category>OOP</category>
      <category>상속</category>
      <category>자바</category>
      <author>담크</author>
      <guid isPermaLink="true">https://darmk.tistory.com/122</guid>
      <comments>https://darmk.tistory.com/entry/JAVA-%EC%9E%90%EB%B0%94%EC%9D%98-%EC%83%81%EC%86%8Dinheritance#entry122comment</comments>
      <pubDate>Thu, 23 Sep 2021 15:11:59 +0900</pubDate>
    </item>
    <item>
      <title>[JAVA] 자바의 오버로딩(Overloading), 오버라이딩(Overriding)</title>
      <link>https://darmk.tistory.com/entry/JAVA-%EC%9E%90%EB%B0%94%EC%9D%98-%EC%98%A4%EB%B2%84%EB%A1%9C%EB%94%A9Overloading-%EC%98%A4%EB%B2%84%EB%9D%BC%EC%9D%B4%EB%94%A9Overriding</link>
      <description>&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;span style=&quot;background-color: #f3c000;&quot;&gt;&lt;b&gt;오버로딩(Overloading)&lt;/b&gt;&lt;/span&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;Test2.java&lt;/p&gt;
&lt;pre id=&quot;code_1632321317212&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;package test;

public class Test2 {
	
	public int sum(int i) {
		return i+i;
	}
	
	public int sum(int i, int j) {
		return i+j;
	}
	
	public double sum(double i, double j, double k) {
		return i+j+k;
	}

}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Test.java&lt;/p&gt;
&lt;pre id=&quot;code_1632321449987&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;package test;

public class Test {

	public static void main(String[] args) {
		
		Test2 t2 = new Test2();
		
		System.out.println(t2.sum(1));
		System.out.println(t2.sum(2, 4));
		System.out.println(t2.sum(1.2, 4.6, 5.7));
		
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드 실행결과&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;88&quot; data-origin-height=&quot;90&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bucl2K/btrfw5mOL1C/2kt2kU84YzMdrtyBEXAuok/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bucl2K/btrfw5mOL1C/2kt2kU84YzMdrtyBEXAuok/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bucl2K/btrfw5mOL1C/2kt2kU84YzMdrtyBEXAuok/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbucl2K%2Fbtrfw5mOL1C%2F2kt2kU84YzMdrtyBEXAuok%2Fimg.png&quot; data-origin-width=&quot;88&quot; data-origin-height=&quot;90&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 처음 코드를 보면 sum이라는 메소드를 3개 정의했습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 이름은 같지만 파라미터의 개수나 타입이 다른 메소드를 만들어준다면 Test.java에서 Test2.java의 메소드를 호출할 때 타입이나 파라미터의 개수를 신경 쓰지 않고 호출할 수 있습니다.&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;i&gt;1. 메소드의 이름이 같아야한다.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&lt;i&gt;2. 파라미터의 개수나 타입이 달라야 한다.&lt;/i&gt;&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;&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;span style=&quot;background-color: #f3c000;&quot;&gt;&lt;b&gt;오버라이딩(Overriding)&lt;/b&gt;&lt;/span&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;자식 클래스에서는 부모클래스의 private 메소드를 제외한 모든 메소드를 상속받게 되는데 이렇게 상속받은 메소드는 자식클래스에서 그대로 사용하기도 하고 재정의해서 사용하기도 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;코드로 예시를 들어보겠습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AAA.java&lt;/p&gt;
&lt;pre id=&quot;code_1632322024028&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;package test;

public class AAA {
	
	private int aaa;

	public AAA() {
		System.out.println(&quot;AAA 생성&quot;);
	}

	public AAA(int aaa) {
		this.aaa = aaa;
		System.out.println(&quot;AAA 생성 -&amp;gt; aaa : &quot; + aaa);
	}

	public int getAaa() {
		return aaa;
	}

	public void setAaa(int aaa) {
		this.aaa = aaa;
	}
	
	public void prn() {
		System.out.println(&quot;AAA의 prn() 메소드&quot;);
	}

}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;BBB.java&lt;/p&gt;
&lt;pre id=&quot;code_1632322385626&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;package test;

public class BBB extends AAA {
	
	private int bbb;
	
	public BBB() {
		System.out.println(&quot;BBB 생성&quot;);
	}

	public BBB(int aaa) {
		super(aaa);	//super : 부모생성자(파라미터) 호출
		bbb = 10;
		System.out.println(&quot;BBB 생성 -&amp;gt; aaa : &quot; + aaa);
	}
	
	public BBB(int aaa, int bbb){
		super(aaa);
		this.bbb = bbb;
		System.out.println(&quot;BBB 생성 -&amp;gt; aaa : &quot; + aaa + &quot;, bbb : &quot; + bbb);
	}

	public int getBbb() {
		return bbb;
	}

	public void setBbb(int bbb) {
		this.bbb = bbb;
	}
	
	public int getSum() {
		int sum = super.getAaa() + this.getBbb();
		return sum;
	}
	
    // **재정의
	@Override
	public void prn() {
		System.out.println(&quot;BBB.prn()&quot;);
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 코드는 BBB클래스에서 AAA클래스를 상속받고 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;AAA클래스와 마찬가지로 BBB클래스에도 prn( )메소드가 같은 형태로 존재하는데 이를 오버라이딩이라고 합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;즉 부모 클래스인 AAA의 prn( )메소드를 그대로 사용해도 되지만 필요에 따라서 자식클래스에서 prn( )메소드를 재정의 해서 사용하는 것입니다.&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;i&gt;1. 부모 클래스의 메소드와 자식 클래스의 메소드가 이름이 같아야 한다.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&lt;i&gt;2. 파라미터의 타입, 개수, 순서가 모두 같아야 한다.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&lt;i&gt;3. return 타입도 같아야한다.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #dddddd;&quot;&gt;&lt;i&gt;4. 접근제한자는 부모 클래스의 메소드보다 더 넓은 범위를 가지거나 같아야 한다.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;입니다.&lt;/p&gt;</description>
      <category>Java/JAVA</category>
      <category>java</category>
      <category>Overloading</category>
      <category>Overriding</category>
      <category>오버라이딩</category>
      <category>오버로딩</category>
      <category>자바</category>
      <author>담크</author>
      <guid isPermaLink="true">https://darmk.tistory.com/121</guid>
      <comments>https://darmk.tistory.com/entry/JAVA-%EC%9E%90%EB%B0%94%EC%9D%98-%EC%98%A4%EB%B2%84%EB%A1%9C%EB%94%A9Overloading-%EC%98%A4%EB%B2%84%EB%9D%BC%EC%9D%B4%EB%94%A9Overriding#entry121comment</comments>
      <pubDate>Wed, 22 Sep 2021 23:58:32 +0900</pubDate>
    </item>
    <item>
      <title>[JAVA] 자바의 substring, split, StringTokenizer</title>
      <link>https://darmk.tistory.com/entry/JAVA-%EC%9E%90%EB%B0%94%EC%9D%98-split%EA%B3%BC-StringTokenizer</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;오늘은 자바에서 쓰이는 substring, split, StringTokenizer에 대해 공부해보도록 하겠습니다.&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;span style=&quot;background-color: #f3c000;&quot;&gt;&lt;b&gt;substring&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1632159392593&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;String s = &quot;The String class represents character strings.&quot;;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위와 같은 문자열로 선언된 s가 있다고 할 때&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;572&quot; data-origin-height=&quot;180&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/xXO17/btrfqhAvf0R/BlSmMptS1ASX21o7ZxsFO1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/xXO17/btrfqhAvf0R/BlSmMptS1ASX21o7ZxsFO1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/xXO17/btrfqhAvf0R/BlSmMptS1ASX21o7ZxsFO1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FxXO17%2FbtrfqhAvf0R%2FBlSmMptS1ASX21o7ZxsFO1%2Fimg.png&quot; data-origin-width=&quot;572&quot; data-origin-height=&quot;180&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&gt;&lt;/span&gt;&lt;/figure&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;위에서 보면 알 수 있듯 substring은&lt;/p&gt;
&lt;pre id=&quot;code_1632159681569&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;String.substring(start, end) // 문자열 start위치부터 end전까지의 문자열을 출력&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;가 됩니다. (이때 end 숫자가 없다면 start위치부터 끝까지 문자열 자르기를 합니다.)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;또한 start, end위치는 index값으로 구분하기 때문에 &quot;T&quot; = 0번부터 시작해서 &quot;S&quot; = 4번 ... &quot;g&quot; = 9번, &quot; &quot; = 10번이 되므로 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;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;background-color: #f3c000;&quot;&gt;&lt;b&gt;split&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;split은 나누다 라는 뜻을 가지고 있는데요 실제로 자바에서도 어떤 문자열을 나누어 배열에 저장해 리턴하는데 사용합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1632160069536&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;String[] tmp = s.split(&quot; &quot;);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 식으로 새로운 배열을 선언해 담아줍니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;426&quot; data-origin-height=&quot;219&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ZKzZl/btrfBst7yK8/bde7o0r7G6Mk6aaXsPklf0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ZKzZl/btrfBst7yK8/bde7o0r7G6Mk6aaXsPklf0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ZKzZl/btrfBst7yK8/bde7o0r7G6Mk6aaXsPklf0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZKzZl%2FbtrfBst7yK8%2Fbde7o0r7G6Mk6aaXsPklf0%2Fimg.png&quot; data-origin-width=&quot;426&quot; data-origin-height=&quot;219&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위에서는 &quot; &quot;(공백)으로 나누었기 때문에 배열에 하나하나 저장될 때 단어별로 정리가 된 것입니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;526&quot; data-origin-height=&quot;255&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/tqcAd/btrfA14ccgN/k1u7Keffxot1uCvTB9DPV0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/tqcAd/btrfA14ccgN/k1u7Keffxot1uCvTB9DPV0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/tqcAd/btrfA14ccgN/k1u7Keffxot1uCvTB9DPV0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtqcAd%2FbtrfA14ccgN%2Fk1u7Keffxot1uCvTB9DPV0%2Fimg.png&quot; data-origin-width=&quot;526&quot; data-origin-height=&quot;255&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&gt;&lt;/span&gt;&lt;/figure&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;h4 data-ke-size=&quot;size20&quot;&gt;&lt;span style=&quot;background-color: #f3c000;&quot;&gt;&lt;b&gt;StringTokenizer&lt;/b&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;역시 말 그대로 문자열을(String) 토큰화한다(Tokenizer)라고 생각하시면 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 분류에서 알 수 있듯 StringTokenizer의 경우 클래스이기 때문에&lt;/p&gt;
&lt;pre id=&quot;code_1632160762265&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.util.StringTokenizer;&lt;/code&gt;&lt;/pre&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;StringTokenizer사용방법은 3가지가 있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. StringTokenizer st = new StringTokenizer(문자열);&amp;nbsp; =&amp;gt; 공백(&quot; &quot;)기준으로 문자열을 분리&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;566&quot; data-origin-height=&quot;305&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Cal1t/btrfp1589SH/mfLg66w2klihfH91v3MQu1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Cal1t/btrfp1589SH/mfLg66w2klihfH91v3MQu1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Cal1t/btrfp1589SH/mfLg66w2klihfH91v3MQu1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCal1t%2Fbtrfp1589SH%2FmfLg66w2klihfH91v3MQu1%2Fimg.png&quot; data-origin-width=&quot;566&quot; data-origin-height=&quot;305&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. StringTokenizer st = new StringTokenizer(문자열, 구분자); =&amp;gt; 구분자를 기준으로 문자열을 분리&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;710&quot; data-origin-height=&quot;332&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/brIUop/btrfuLAP5Ly/ct4fCJEk7ZV7RYKJxozkGk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/brIUop/btrfuLAP5Ly/ct4fCJEk7ZV7RYKJxozkGk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/brIUop/btrfuLAP5Ly/ct4fCJEk7ZV7RYKJxozkGk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbrIUop%2FbtrfuLAP5Ly%2Fct4fCJEk7ZV7RYKJxozkGk%2Fimg.png&quot; data-origin-width=&quot;710&quot; data-origin-height=&quot;332&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. StringTokenizer st = new StringTokenizer(문자열, 구분자, true/false);&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;=&amp;gt; 구분자를 기준으로 문자열을 분리하되 구분자를 토큰으로 넣는다면 true, 아니라면 false (기본은 false)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;707&quot; data-origin-height=&quot;423&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/EBxAp/btrfpOL5gLD/3fqaOF8jZKTXntG8zaWak0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/EBxAp/btrfpOL5gLD/3fqaOF8jZKTXntG8zaWak0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/EBxAp/btrfpOL5gLD/3fqaOF8jZKTXntG8zaWak0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEBxAp%2FbtrfpOL5gLD%2F3fqaOF8jZKTXntG8zaWak0%2Fimg.png&quot; data-origin-width=&quot;707&quot; data-origin-height=&quot;423&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 hasMoreTokens( )는 구분된 토큰이 뒤에 있을 경우를 나타내기 때문에 구분이 더 있다면 while문이 반복되도록 작성했습니다.&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;여기서만 봤을 때는 split과 StringTokenizer가 같은 용도로 쓰이는데 왜 차이가 날까요??&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;먼저 split은 비어있는 데이터를 null로 인식하는 방면 StringTokenizer는 비어있는 데이터를 생략해버립니다.&lt;/p&gt;
&lt;pre id=&quot;code_1632161460786&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;String s3 = &quot;A,B,,C&quot;;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 데이터가 존재할 경우&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;split&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;41&quot; data-origin-height=&quot;90&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/TxsP6/btrfzkb1JNo/gugpuqmMQQKqgX8aZ57E11/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/TxsP6/btrfzkb1JNo/gugpuqmMQQKqgX8aZ57E11/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/TxsP6/btrfzkb1JNo/gugpuqmMQQKqgX8aZ57E11/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTxsP6%2Fbtrfzkb1JNo%2FgugpuqmMQQKqgX8aZ57E11%2Fimg.png&quot; data-origin-width=&quot;41&quot; data-origin-height=&quot;90&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;StringTokenizer&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-origin-width=&quot;46&quot; data-origin-height=&quot;91&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bgKsT7/btrfptanPT5/f8yaYEAFVP0kyy3P3OFK70/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bgKsT7/btrfptanPT5/f8yaYEAFVP0kyy3P3OFK70/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bgKsT7/btrfptanPT5/f8yaYEAFVP0kyy3P3OFK70/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbgKsT7%2FbtrfptanPT5%2Ff8yaYEAFVP0kyy3P3OFK70%2Fimg.png&quot; data-origin-width=&quot;46&quot; data-origin-height=&quot;91&quot; data-ke-mobilestyle=&quot;widthOrigin&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;/&gt;&lt;/span&gt;&lt;/figure&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;또 두개가 다른만큼 처리속도는 StringTokenizer가 빠르지만 가변적인 요소가 많은 문자열이나 정확한 분리가 필요한 문자열은 split 메소드를 사용하는 것이 유용합니다.&lt;/p&gt;</description>
      <category>Java/JAVA</category>
      <category>java</category>
      <category>split</category>
      <category>StringTokenizer</category>
      <category>Substring</category>
      <category>문자열분리</category>
      <category>자바</category>
      <author>담크</author>
      <guid isPermaLink="true">https://darmk.tistory.com/119</guid>
      <comments>https://darmk.tistory.com/entry/JAVA-%EC%9E%90%EB%B0%94%EC%9D%98-split%EA%B3%BC-StringTokenizer#entry119comment</comments>
      <pubDate>Mon, 20 Sep 2021 18:37:21 +0900</pubDate>
    </item>
  </channel>
</rss>