์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- index skip scan
- item15
- ์๋ฐ์ฐ๋ ๋
- ์๋ผ์คํฑ์์น๋ฉ์ธ์ง์ฉ๋
- InnoDB์ํคํ ์ฒ
- ๋ฐ์ฉ๋ ์ค๊ตญ์ด
- ์๋ฐ๋ผ์ด๋ธ์คํฐ๋
- ์ธ๋ฑ์คํ์ค์บ
- mysql
- Item6
- hikari cp ์ค์
- enum ์์ฑ์ ์ ๊ทผ ์ ํ์
- Hikari Connection Pool
- mysql์ํคํ ์ฒ
- ์ํฐ๋ ๊ฐ๋ฐ์ํ์ฌ
- ์๋ฐ์์
- ์ดํํฐ๋ธ์๋ฐ
- SVN
- ์๋ฐ
- index full scan
- ๋น์ผ๊ฐ์ฒด์์ฑ
- ์ธ๋ฑ์ค์คํต์ค์บ
- ์ํฐ๋ ๋ณ์ข ๊ฐ๋ฐ์
- ์์ดํ 15
- ์๋ฐ์์์ฐ๋ ๋๋ฅผ ์ฌ์ฉํ๋ ์ด์
- ์์
- ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฒฉ๋ฆฌ์์ค
- builder null
- assert.notnull
- effectiveJava
- Today
- Total
๋ชฉ๋ก์ ์ฒด ๊ธ (39)
โ๐ป๊ธฐ๋กํ๋ ๋ธ๋ก๊ทธ
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/EKcS0/btqQR62Z3bT/30NNBBpIynud7JtXjd6xKK/img.png)
์ฃผ๋ก ์์์ ์์ ํด๋์ค๋ก ์ฌ์ฉ๋จ ์ถ์ ํด๋์ค ์ ์ธ ํ์ abstract ๋ฐํํ์ ๋ฉ์๋์ด๋ฆ(); ๊ตฌํ๋ ๋ฉ์๋๋ ํ์ ํด๋์ค๊ฐ ๊ณตํต์ผ๋ก ์ฌ์ฉํ๋ ๊ธฐ๋ฅ์ ๋ฉ์๋ , ํ์ ํด๋์ค์ ๋ฐ๋ผ ์ฌ์ ์๊ฐ ๊ฐ๋ฅ ์ถ์ ํด๋์ค๋ new (์ธ์คํด์คํ)๊ฐ ๋ถ๊ฐํ๋ค → ๋ฉ์๋์ ๋ฐ๋๊ฐ ์์ผ๋ฏ๋ก ์์) ์์ฃผ์ฌ์ฉํ๋ ๋ชจ๋์ ๊ณตํต๋๋ ๋ถ๋ถ์ ๋ฏธ๋ฆฌ ๋ง๋ค๊ณ , ๋ฐ์ ์ฌ์ฉํ๋ ์ชฝ์์ ์์ ์ด ํ์ํ ๋ถ๋ถ๋ง ์ฌ์ ์ํ์ฌ ์ฌ์ฉ, ์์ฐ์ฑ์ด ํฅ์ ๋ชจ๋ ๋ฉ์๋๊ฐ ๊ตฌํ๋์๋ค๊ณ ํด๋ ํด๋์ค์ abstract ํค์๋๋ฅผ ์ฌ์ฉํ๋ฉด ์ถ์ ํด๋์ค → jdk ๋ด๋ถ์๋ ์กด์ฌ, ์ค๋ก์ง ์์์ ์ํ ์ถ์ ํด๋์ค package abstractex; public abstract class Computer { public abstract void display(); pub..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/wr1mL/btqP9syLaRH/hRB1ED3TRsReBz771zjjKK/img.png)
Object ํด๋์ค (java.lang.Object) ๋ชจ๋ ํด๋์ค์ ์ต์์ ํด๋์ค, ๋ชจ๋ ํด๋์ค๋ object ํด๋์ค๋ฅผ ์์ ๋ฐ์ -> ๋ฐ๋ก extends ํ์ง ์์๋ ์ฌ์ฉ์ด ๊ฐ๋ฅ ๋ฐ๋ก toString () ๋ฉ์๋๋ฅผ ์ธ ์ ์๋ ์ด์ ์ปดํ์ผ๋ฌ๊ฐ ์๋ importํจ ์ฌ์ฉ์๊ฐ ์ง์ extendsํ์ง ์์๋ ์ปดํ์ผ๋ฌ๊ฐ ์๋์ผ๋ก ๋ฃ์ด์ค java.langํจํค์ง๋ ์๋ฐ์์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋์์ ํ๋ ํด๋์ค java.langํจํค์ง๋ ๋ฐ๋ก importํ์ง ์์๋ ํด๋์ค์ ์ด๋ฆ๋ง์ผ๋ก ์ฌ์ฉ์ด ๊ฐ๋ฅ ex) String, Void , System Object ํด๋์ค๋ ํ๋๋ฅผ ๊ฐ์ง์ง ์์ผ๋ฉฐ, ์ด 11๊ฐ ๋ฉ์๋๋ก๋ง ๊ตฌ์ฑ 1. toString() ์ธ์คํด์ค์ ๋ํ ์ ๋ณด๋ฅผ ๋ฌธ์์ด๋ก ๋ฐํ, ๋ฌธ์์ด์ ํด๋์ค ์ด๋ฆ@16์ง์ ํด์ฌ ์ฝ๋๋ก ์ถ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cTf07K/btqPdS1gjO7/LkbaAZ8SOpul3uJGmH3sMK/img.png)
๋คํ์ฑ (polymorphism) ํ๋์ ๊ฐ์ฒด๊ฐ ์ฌ๋ฌ ๊ฐ์ง ํ์ ์ ๊ฐ์ง ์ ์๋ ๊ฒ ์ต์์ ํด๋์ค Animal์ ์์๋ฐ์ ํ์ ํด๋์ค Human, Tiger, Eagle๋ฅผ ์ ์ํ๋ค. Human, Tiger, Eagle ๊ฐ๊ฐ์ ํด๋์ค๋ ๋ถ๋ชจ ํด๋์ค์์ ์ ์ํ move ๋ฉ์๋๋ฅผ ์ฌ์ ์ํ๋ค. (๋ฉ์๋ ์ค๋ฒ ๋ผ์ด๋ฉ) Humanํด๋์ค์์๋ง ์ ์๋ ๋ฉ์๋ readBooks๊ฐ ์กด์ฌํ๋ค. package polymorphism; import java.util.ArrayList; class Animal { public void move() { System.out.println("๋๋ฌผ์ด ์์ง์ ๋๋ค."); } } class Human extends Animal{ public void move(){ System.out.prin..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/FYJLk/btqOxrIUs8m/PnZDRni1UCZ9jaY3OGStI0/img.png)
ํ์ ํด๋์ค๊ฐ ์์ฑ๋๋ ๊ณผ์ ํ์ ํด๋์ค๊ฐ ์์ฑ๋ ๋ ์์ ํด๋์ค๊ฐ ๋จผ์ ์์ฑ๋จ ์์ ํด๋์ค์ ์์ฑ์๊ฐ ํธ์ถ๋๊ณ ํ์ ํด๋์ค์ ์์ฑ์๊ฐ ํธ์ถ๋จ ํ์ ํด๋์ค์ ์์ฑ์์์๋ ๋ฌด์กฐ๊ฑด ์์ ํด๋์ค์ ์์ฑ์๊ฐ ํธ์ถ๋์ด์ผ ํจ ํ์ ํด๋์ค์์ ์์ ํด๋์ค์ ์์ฑ์๋ฅผ ํธ์ถํ๋ ์ฝ๋๊ฐ ์๋ ๊ฒฝ์ฐ ์ปดํ์ผ๋ฌ๋ ์์ ํด๋์ค ๊ธฐ๋ณธ ์์ฑ์๋ฅผ ํธ์ถํ๊ธฐ ์ํ super()๋ฅผ ์ถ๊ฐํจ super()๋ก ํธ์ถ๋๋ ์์ฑ์๋ ์์ ํด๋์ค์ ๊ธฐ๋ณธ ์์ฑ์ ๋ง์ฝ ์์ ํด๋์ค์ ๊ธฐ๋ณธ ์์ฑ์๊ฐ ์๋ ๊ฒฝ์ฐ( ๋งค๊ฐ๋ณ์๊ฐ ์๋ ์์ฑ์๋ง ์กด์ฌํ๋ ๊ฒฝ์ฐ ) ํ์ ํด๋์ค๋ ๋ช ์์ ์ผ๋ก ์์ ํด๋์ค์ ์์ฑ์๋ฅผ ํธ์ถํด์ผ ํจ ์์์์ ๋ฉ๋ชจ๋ฆฌ ์ํ ์์ ํด๋์ค์ ์ธ์คํด์ค๊ฐ ๋จผ์ ์์ฑ๋๊ณ , ํ์ ํด๋์ค์ ์ธ์คํด์ค๊ฐ ์์ฑ๋จ ์์ ํด๋์ค๋ก์ ๋ฌต์์ ํ ๋ณํ ( ์ ์บ์คํ ) ..
์ค๋ฅ์ ์ข ๋ฅ ์ปดํ์ผ ์ค๋ฅ ์ฝ๋ ์์ฑ ์ค ๋ฌธ๋ฒ์ ์ธ ์ค๋ฅ ์คํ ์ค๋ฅ (runtime error) ์๋ฐ๋ ๋ฐ์ ๊ฐ๋ฅํ ์ค๋ฅ์ ๋ํด ์์ธ์ฒ๋ฆฌ๋ฅผ ํ์ฌ ํ๋ก๊ทธ๋จ์ด ๋น์ ์์ ์ผ๋ก ์ข ๋ฃ๋๋ ๊ฒ์ ๋ง๊ณ ๋ก๊ทธ๋ก ๋จ๊ธธ ์ ์๋ค. ์ค๋ฅ์ ์์ธํด๋์ค ์ค๋ฅ ์์คํ ์ ์ธ ๋ถ๋ถ, ๋ฐ๋ณต์ ์ธ ์ฌ๊ท ํธ์ถ๋ก ์ธํ stack over flow ๋ฑ ๊ฐ์ ๋จธ์ ์์ ๋ฐ์ ๋์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ค ์ฌ์ฉํ ๊ฒฝ์ฐ ์์ธ ํ๋ก๊ทธ๋จ์์ ์ ๊ฑฐ ๊ฐ๋ฅํ ์ค๋ฅ, ์ฝ์ผ๋ ค๋ ํ์ผ์ด ์์ , ๋คํธ์ํฌ ์์ผ ์ฐ๊ฒฐ ์ค๋ฅ ๋ฑ → ์๋ฐ ํ๋ก๊ทธ๋จ์์ ์์ธ์ ๋ํ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํจ ์์ธ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ try-catch try{ ์์ธ๊ฐ ๋ฐ์ํ ์ ์๋ ์ฝ๋ }catch(์ฒ๋ฆฌํ ์์ธ ํ์ e){ try์์ ์์ธ ๋ฐ์ ์ ์ฌ๊ธฐ์ ์์ธ๋ฅผ ์ฒ๋ฆฌ try์ ์ฝ๋๊ฐ ๋ชจ๋ ์คํ๋๋ค์ catch๋ก ์ค๋๊ฒ์ด ์..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/liE4B/btqNqZz7oKD/yxYGOFCiNP6DtmnY7lYJm0/img.png)
์์ ํด๋์ค๋ฅผ ์ ์ํ ๋ ๊ธฐ์กด์ ๊ตฌํ๋ ํด๋์ค๋ฅผ ์์๋ฐ์์ ์์ฑ (๋ณ์), ๊ธฐ๋ฅ(๋ฉ์๋)๊ฐ ํ์ฅ๋๋ ๊ฒ ๊ธฐ์กด์ ํด๋์ค๋ฅผ ๊ฐ์ ธ๋ค๊ฐ ์กฐ๊ธ ๋ ํ์ฅ์ ๊ฐ๋ , ์ด์ง์ ์ธ ํด๋์ค ๋ผ๋ฆฌ๋ ์์์ด ์ผ์ด๋์ง ์์ a class ← b class bํด๋์ค๊ฐ aํด๋์ค๋ฅผ ์์๋ฐ๋๋ค. ๋จ์ผ ์์๋ง ๊ฐ๋ฅ ์์์ ์ฝ๋์ ์ฌ์ฌ์ฉ์ด ์๋ ์์๋ฐ๋ ํด๋์ค๋ฅผ ํ์ดํ๋ก ๊ฐ๋ฆฌํด ์์ ) ๊ณ ๊ฐ๊ด๋ฆฌ ํ๋ก๊ทธ๋จ ๊ณ ๊ฐ ์ค์๋ ์ผ๋ฐ ๊ณ ๊ฐ customer, ๋จ๊ณจ ๊ณ ๊ฐ vipCustomer๊ฐ ์๋ค. vipCustomer : ์ผ๋ฐ ๊ณ ๊ฐ๊ณผ ์์ฑ์ ์ ์ฌํ์ง๋ง ๋ ๋ง์ ํํ์ ๊ฐ์ง๊ฒ ๋จ ์ ) ์ ํ ๊ตฌ๋งค ์ 10% ํ ์ธ ๋ณด๋์ค ํฌ์ธํธ 5% ๋ด๋น ์๋ด์ ๋ฐฐ์ ์์๋ฐ์ Customer ํด๋์ค ๋ณ์ ์ ๊ทผ ์ ํ์๋ฅผ ๋ณด๋ฉด protected๋ก ์ ์ธ์ด ๋์ด์๋ค. protect..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bzQzlN/btqMiZgbqkz/xaS8XpBRIVhmyRSGFRHyaK/img.png)
์ฑ๊ธํค ํจํด ํ๋ก๊ทธ๋จ ๋ด์ ๋จ ํ๋๋ง ์กด์ฌํด์ผ ํ๋ ๊ฒฝ์ฐ, ๊ฐ์ฒด๋ฅผ ์ฌ๋ฌ ๋ฒ new ์์ฑ ์ ์ฌ๋ฌ ๊ฐ์ ์ธ์คํด์ค๊ฐ ์์ฑ๋์์ ๋ ๋ฌธ์ ๊ฐ ์๊ธฐ๋ ๊ฒฝ์ฐ static์ผ๋ก ์ ์ผํ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค. ์ฑ๊ธํค ํจํด ๊ตฌ์ฑ ์์ ๋ํ์์ - ๋ private ์ ๊ทผ ์ ํ์๋ฅผ ๊ฐ๋ฆฌํด ์ฑ๊ธํค ์ ์ฒด ๊ตฌ์ฑ public class Company { private static Company instance = new Company(); private Company() {} public static Company getInstance() { if (instance == null) { return new Company(); } return instance; } } 1. private ์์ฑ์ private Company() { } ๋ง์ฝ ํด..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cf48m2/btqLJWxyP5C/kkvHZcpkjU0wrbyTZmNxXk/img.png)
๋ฒ๋ธ ์ ๋ ฌ ( Bubble Sort ) ๋ฐฐ์ด์์ ๋ ๊ฐ์ ๊ฐ์ ์ก๊ณ ์๋ก ํฌ๊ธฐ๋ฅผ ๋น๊ตํ๋ฉด์ ์์ ๊ฐ์ ์์ผ๋ก ํฐ ๊ฐ์ ๋ค๋ก ํฌ๊ธฐ๋ฅผ ์ ๋ ฌํ๋ ๋ฐฉ๋ฒ ๋ฐฐ์ด์ ์ฒ์๋ถํฐ ๋๊น์ง ์ง๋๋ฉด์ ์ ๋ ฌํ๋ฏ๋ก O(n์ ๊ณฑ)์๊ฐ์ด ์์๋จ ํ๋ก๊ทธ๋๋จธ์ค ์ ๋ ฌ > k๋ฒ์งธ์ import java.util.*; class Solution { public int[] solution(int[] array, int[][] commands) { int[] answer = new int[commands.length]; for(int i=0; i