๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ
-
[Java] ์ถ์ ํด๋์ค, Dispatch, final, Object ํด๋์คAndroid/Java 2021. 1. 18. 23:13
์ด ๊ธ์ "์๋ฐ ์จ๋ผ์ธ ์คํฐ๋"๋ฅผ ๊ณต๋ถํ์ฌ ์์ฑํ ๊ธ์ ๋๋ค. ์ถ์ ํด๋์ค ์ถ์ ํด๋์ค๋ ์ฌ๋ฌ๊ฐ์ง ์ค์ฒด ํด๋์ค์ ๊ณตํต์ ์ธ ๋ถ๋ถ์ ์ถ์ถํด ๋ง๋ค์ด์ง ์ถ์์ ์ธ ํด๋์ค์ ๋๋ค. ๋ํ์ ํด๋์ค๊ฐ ์ค์ฒด ํด๋์ค๋ผ๊ณ ๊ฐ์ ํ๋ฉด ์์ธ๋, ์ฐ์ธ๋, ๊ณ ๋ ค๋ ๋ค์ํ ๋ํ์ ํด๋์ค๊ฐ ๋ง๋ค์ด ์ง ์ ์์ต๋๋ค. ํ์ง๋ง, ์ด๋ฐ ํด๋์ค๋ค์์ ์ด๋ฆ, ๋์ด๊ฐ์ ๊ณตํต์ ์ธ ์์ฑ๊ณผ ๋ฉ์๋๋ฅผ ์ถ์ถํด ์ ์ธํ ํด๋์ค๋ฅผ ์ถ์ํด๋์ค๋ผ๊ณ ํฉ๋๋ค. ์ถ์ ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ฉด ์ ์ง๋ณด์์ฑ์ ๋์ด๊ณ ํต์ผ์ฑ์ ์ ์งํ ์ ์์ต๋๋ค. ์ฐธ์กฐ(https://limkydev.tistory.com/188) public abstract class Student { public String name; public int age; public void printInfo(){ System..
-
[Java] ์๋ฐ ํด๋์ค ์์, ๋ฉ์๋ ์ค๋ฒ๋ผ์ด๋ฉAndroid/Java 2021. 1. 18. 21:53
์ด ๊ธ์ "์๋ฐ ์จ๋ผ์ธ ์คํฐ๋" ๋ด์ฉ์ ์ ๋ฆฌํ์ฌ ์์ฑํ ๊ธ์ ๋๋ค. ์๋ฐ ์์ ์์์ด๋ ์บก์ํ, ์ถ์ํ์ ๊ฐ์ด ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์์์ ์ฃผ์ํ ํน์ง ์ค ํ๋์ ๋๋ค. ํด๋์ค ์์์ ๊ธฐ์กด์ ํด๋์ค์ ์์ฑ๊ณผ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ฑฐ๋ ์ฌ์ ์ํ์ฌ ์๋ก์ด ํด๋์ค๋ฅผ ์ ์ํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ์์์ ์ด์ฉํ๋ฉด ๊ธฐ์กด์ ํด๋์ค์ ๋ณ์์ ๋ฉ์๋๋ฅผ ๋ชจ๋ ์ฌ์ฉ๊ฐ๋ฅํ๊ณ ํ์์ ๋ฐ๋ผ ๋ฉ์๋๋ฅผ ์ปค์คํฐ๋ง์ด์ง ํ ์ ์๋ ํด๋์ค๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ์๋ฐ ์์์ ์ฅ์ ์ผ๋ก ์ค๋ณต๋ ์ฝ๋๋ฅผ ์ค์ผ ์ ์๊ณ , ์ ์ง ๋ณด์์ ํธ๋ฆฌ์ฑ๊ณผ ๋คํ์ฑ์ ๊ตฌํํ ์ ์์ต๋๋ค. ๋ค๋ฅธ ์ธ์ด์ ๋ค๋ฅด๊ฒ ์๋ฐ๋ ๋ค์ค ์์์ด ๋ถ๊ฐ๋ฅํ๋๋ฐ ์ด๋ฅผ ๋ณด์ํ๊ธฐ ์ํ ์ธํฐํ์ด์ค๊ฐ ์์ต๋๋ค. public class ParentClass { char Pch; public void PCprin..
-
[Java] ์๋ฐ ํด๋์ค, ๊ฐ์ฒดAndroid/Java 2021. 1. 18. 00:54
์ด ๊ธ์ "์จ๋ผ์ธ ์๋ฐ ์คํฐ๋ ๋ด์ฉ"์ ์ ๋ฆฌํ ๊ธ์ ๋๋ค. ํด๋์ค๋? ํด๋์ค๋ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์์ ๊ฐ์ฒด๋ฅผ ์ ์ํ๊ณ ์ฌ์ฉํ ์ ์๋๋ก ์ค๊ณํ๋ ์๋ฏธ๋ก ์ฌ์ฉ๋ฉ๋๋ค. ์๋ฐ์์๋ ํด๋์ค๋ฅผ ๊ฐ์ง๊ณ , ์ฌ๋ฌ ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ ์ฌ์ฉํฉ๋๋ค. ํด๋์ค๋ ๊ฐ์ฒด์ ์ํ๋ฅผ ๋ํ๋ด๋ ๋ณ์(variable)์ ๊ฐ์ฒด์ ํ๋์ ์ ์ํ๋ ๋ฉ์๋(method)๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์๋ฐ์์๋ main์ ์คํํ๊ธฐ ์ํด์๋ ์ต์ํ ํ๋์ ํด๋์ค๊ฐ ์กด์ฌํด์ฌ ์คํํ ์ ์์ต๋๋ค. public class Point { private int y; private int x; public Point(int y, int x) { this.y = y; this.x = x; } public int getY() { return y; } public int getX(..
-
[Data Structure] Java ์ด์งํธ๋ฆฌ(Binary Tree) ๊ตฌํData Structure 2021. 1. 17. 21:07
์ด ๊ธ์ "์จ๋ผ์ธ ์๋ฐ ์คํฐ๋ ๋ด์ฉ"์ ์ ๋ฆฌํ ๊ธ์ ๋๋ค. ์ด์งํธ๋ฆฌ(Binary Tree)๋? ํธ๋ฆฌ๋ ๋ ธ๋์ ๊ฐ์ ์ผ๋ก ์ด๋ฃจ์ด์ ธ ๋ฐ๋ณต์ ์ผ๋ก ์ ์๋๋ ์๋ฃ๊ตฌ์กฐ์ ๋๋ค. ์ด์ง ํธ๋ฆฌ๋ ํธ๋ฆฌ์ ์ข ๋ฅ ์ค ํ๋๋ก ๋ชจ๋ ๋ ธ๋๊ฐ ๋ ๊ฐ์ ์๋ธํธ๋ฆฌ๋ฅผ ๊ฐ์ง๊ณ ์๋ ํธ๋ฆฌ์ ๋๋ค. ์ด์ง ํธ๋ฆฌ์ ์๋ธ ํธ๋ฆฌ๋ ๊ณต๋ฐฑ์ด ๋ ์๋ ์๊ณ ํ๋์ ์๋ธํธ๋ฆฌ๋ง ๊ฐ์ง๊ฑฐ๋ ๋ ๊ฐ ๋ชจ๋ ๊ฐ์ง ์๋ ์์ต๋๋ค. ์ด์งํธ๋ฆฌ ๊ตฌํ ๋ ธ๋ ํด๋์ค public class Node { int value; Node left; Node right; public Node(int value) { this.value = value; left = null; right = null; } } ๋จผ์ ์ด์งํธ๋ฆฌ๋ฅผ ๊ตฌํํ๊ธฐ ์ ์ ์ด์งํธ๋ฆฌ์ ํ์ํ ๋ ธ๋๋ฅผ ํด๋์ค๋ก ํํํด์ผ ํฉ๋๋ค. ์ด ๋ ๋ ธ..
-
[Java] ์กฐ๊ฑด๋ฌธ(if, else, else if), ๋ฐ๋ณต๋ฌธ(for, while)Android/Java 2021. 1. 15. 23:09
์ด ๊ธ์ "์๋ฐ ์จ๋ผ์ธ ์คํฐ๋ ๋ด์ฉ"์ ๊ณต๋ถํ์ฌ ์์ฑํ ๊ธ์ ๋๋ค. ์กฐ๊ฑด๋ฌธ if, else if, else ํด๋น ์กฐ๊ฑด๋ฌธ์ ์ด์ฉํ์ฌ ์กฐ๊ฑด์ ๋ง๋ ์ํ๋ ๋ก์ง์ ์คํ์ํต๋๋ค. public class Main { public static void main(String[] args) { int num = 2; if(num % 2 == 0){ System.out.println(num+"์ ์ง์์ ๋๋ค"); }else{ System.out.println(num+"์ ํ์์ ๋๋ค"); } if(num % 3 == 0){ System.out.println(num+"์ 3์ผ๋ก ๋๋๋ฉด ๋๋จธ์ง๋ 0์ ๋๋ค"); }else if(num % 3 == 1){ System.out.println(num+"์ 3์ผ๋ก ๋๋๋ฉด ๋๋จธ์ง๋ 1์ ๋๋ค..
-
[Data Structure] Java ํ(Queue) ์ฌ์ฉData Structure 2021. 1. 15. 14:15
์ด ๊ธ์ "์จ๋ผ์ธ ์๋ฐ ์คํฐ๋ ๋ด์ฉ"์ ์ ๋ฆฌํ ๊ธ์ ๋๋ค. Queue๋? ํ๋ ์ถ๊ตฌ์ ์ ๊ตฌ๊ฐ ๋ช ๋ฐฑํ ์กด์ฌํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๋ด๋ ๋ฐฉ์์ ์๋ฃ๊ตฌ์กฐ์ ๋๋ค. ํ์ ์ฃผ์ ํน์ง์ First In, First Out (FIFO) ๊ตฌ์กฐ๋ฅผ ๊ฐ์ต๋๋ค. ๋ฐฐ์ด๋ก ํ ๊ตฌํ public class Queue { public class Queue { final int MAX_SIZE = 100; int[] arr; int size; public Queue() { arr = new int[MAX_SIZE]; size = 0; } void push(int data){ arr[size++] = data; } int front(){ return arr[0]; } int pop(){ if(size == 0){ return 0; } else{ f..
-
[Data Structure] Java ์คํ(Stack) ์ฌ์ฉData Structure 2021. 1. 15. 13:53
์ด ๊ธ์ "์จ๋ผ์ธ ์๋ฐ ์คํฐ๋ ๋ด์ฉ"์ ์ ๋ฆฌํ ๊ธ์ ๋๋ค. Stack์ด๋? ์คํ์ ์ฑ ์ ์๋ ๊ฒ์ฒ๋ผ ๋ฐ์ดํฐ๋ฅผ ๋ด์ ์ ์๋ ์๋ฃ๊ตฌ์กฐ ์ ๋๋ค. ์คํ์ ๊ฐ์ฅ ํฐ ํน์ง์ First In Last Out (FILO) ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. ๋ฐฐ์ด๋ก ์คํ ๊ตฌํ public class Stack { final int MAX_SIZE = 100; int arr[]; int size; public Stack(){ arr = new int[MAX_SIZE]; size = 0; } public void push(int data){ if(size0){ size--; return 1; } return 0; } public int top(){ if(size>0){ return arr[size-1]; } return -1; } p..
-
[Data Structure] Java ๋งํฌ๋ ๋ฆฌ์คํธ(LinkedList) ๊ตฌํData Structure 2021. 1. 15. 10:55
์ด ๊ธ์ "์จ๋ผ์ธ ์๋ฐ ์คํฐ๋ ๋ด์ฉ"์ ์ ๋ฆฌํ ๊ธ์ ๋๋ค. LinkedList๋? ๋งํฌ๋ ๋ฆฌ์คํธ๋ฅผ ๋ ธ๋์ ๋ ธ๋๋ฅผ ์ฐ๊ฒฐํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๋ด๋ ๋ฐฉ์์ธ ์๋ฃ๊ตฌ์กฐ์ ๋๋ค. ๋งํฌ๋ ๋ฆฌ์คํธ์ ๋ฉค๋ฒ๋ณ์๋ก ๋ฐ์ดํฐ์ ํฌ์ธํฐ๊ฐ ์กด์ฌํ์ฌ ํฌ์ธํฐ๋ก ๋ค์ ๋ ธ๋๋ฅผ ๊ฐ๋ฆฌํค๋ ๋ฐฉ์์ ๋๋ค. ๋งํฌ๋ ๋ฆฌ์คํธ์ ๋ฐฐ์ด๊ณผ์ ์ฐจ์ด์ ์ ๋ช ๋ฐฑํ ์กด์ฌํฉ๋๋ค. ๋ฐฐ์ด์ ํ ์ค๋ก ๋์ด๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ด๋ ์๋ฃ๊ตฌ์กฐ๋ก ์ธ๋ฑ์ค๋ก ๋ฐ์ดํฐ์ ์ ๊ทผ ํ ์ ์์ต๋๋ค. ํ์ง๋ง ๋ฐฐ์ด์ ์ถ๊ฐ, ์ญ์ ๊ฐ ์ฉ์ดํ์ง ์์ต๋๋ค. ๋ฐ๋ฉด, ๋งํฌ๋ ๋ฆฌ์คํธ๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ๊ณผ ์๊ด์์ด ํ๋์ ๋ ธ๋๋ผ๋ฆฌ ์ฐ๊ฒฐํ๋ค ๋ณด๋ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ ์ธก๋ฉด์์ ํจ์จ์ ์ ๋๋ค. ์ถ๊ฐ, ์ญ์ ๋ ์ฉ์ดํ์ง๋ง ์ธ๋ฑ์ค๊ฐ ์์ด ํ์ํ๊ธฐ์๋ ์ ํฉํ์ง ์์ต๋๋ค. LinkedList ๊ตฌํ ์๋ฐ์์ ์ธ์คํด์ค ์ ๋ฌ์ ๋ ํผ๋ฐ์ค์ ๋๋ค ์ฐธ์กฐ..