728x90

PL(Programming Language) 26

[Java] ์ž๋ฐ”์˜ ์ ‘๊ทผ ์ง€์ •์ž (private, protected, public, default), static ๋ฉค๋ฒ„, final ํด๋ž˜์Šค

์ ‘๊ทผ ์ง€์ •์ž private, protected, public, ๋””ํดํŠธ(์ ‘๊ทผ ์ง€์ •์ž ์ƒ๋žต) ๋ชฉ์  ํด๋ž˜์Šค๋‚˜ ์ผ๋ถ€ ๋ฉค๋ฒ„๋ฅผ ๊ณต๊ฐœํ•˜์—ฌ ๋‹ค๋ฅธ ํด๋ž˜์Šค์—์„œ ์ ‘๊ทผํ•˜๋„๋ก ํ—ˆ์šฉ ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด์˜ ์บก์Šํ™” ์ •์ฑ…์€ ๋ฉค๋ฒ„๋ฅผ ๋ณดํ˜ธํ•˜๋Š” ๊ฒƒ ํด๋ž˜์Šค ์ ‘๊ทผ ์ง€์ • ๋‹ค๋ฅธ ํด๋ž˜์Šค์—์„œ ์‚ฌ์šฉํ•˜๋„๋ก ํ—ˆ์šฉํ•  ์ง€ ์ง€์ • public ํด๋ž˜์Šค -> ๋‹ค๋ฅธ ๋ชจ๋“  ํด๋ž˜์Šค์—๊ฒŒ ์ ‘๊ทผ ํ—ˆ์šฉ ๋””ํดํŠธ ํด๋ž˜์Šค -> ์ ‘๊ทผ ์ง€์ •์ž ์ƒ๋žต, package-private๋ผ๊ณ ๋„ ํ•จ, ๊ฐ™์€ ํŒจํ‚ค์ง€์˜ ํด๋ž˜์Šค์—๋งŒ ์ ‘๊ทผ ํ—ˆ์šฉ ๋งด๋ฒ„ ์ ‘๊ทผ ์ง€์ • public ํŒจํ‚ค์ง€์— ๊ด€๊ณ„ ์—†์ด ๋ชจ๋“  ํด๋ž˜์Šค์—์„ธ ์ ‘๊ทผ ํ—ˆ์šฉ private ๋™์ผ ํด๋ž˜์Šค ๋‚ด์—๋งŒ ์ ‘๊ทผ ํ—ˆ์šฉ ์ƒ์†๋ฐ›์€ ์„œ๋ธŒ ํด๋ž˜์Šค์—์„œ ์ ‘๊ทผ ๋ถˆ๊ฐ€ protected ๊ฐ™์€ ํŒจํ‚ค์ง€ ๋‚ด์˜ ๋‹ค๋ฅธ ๋ชจ๋“  ํด๋ž˜์Šค์—์„ธ ์ ‘๊ทผ ํ—ˆ์šฉ ์ƒ์† ๋ฐ›์€ ์„œ๋ธŒ ํด๋ž˜์Šค๋Š” ๋‹ค๋ฅธ ํŒจํ‚ค์ง€์— ์žˆ์–ด๋„ ..

[Java] ์ž๋ฐ”์˜ ๊ฐ์ฒด ์†Œ๋ฉธ, ๊ฐ€๋น„์ง€, ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜

๊ฐ์ฒด ์†Œ๋ฉธ ๊ฐ์ฒด ์ƒ์„ฑ ์—ฐ์‚ฐ์ž new ๋กœ ํ• ๋‹น ๋ฐ›์€ ๊ฐ์ฒด์™€ ๋ฐฐ์—ด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ JVM(์ž๋ฐ” ๊ฐ€์ƒ ๊ธฐ๊ณ„)๋กœ ๋˜๋Œ๋ ค ์ฃผ๋Š” ํ–‰์œ„ ์†Œ๋ฉธ๋œ ๊ฐ์ฒด ๊ณต๊ฐ„์€ ๊ฐ€์šฉ ๋ฉ”๋ชจ๋ฆฌ์— ํฌํ•จ ์ž๋ฐ”๋Š” ์‚ฌ์šฉ์ž ์ž„์˜๋กœ ๊ฐ์ฒด ์†Œ๋ฉธ ์•ˆ๋จ -> ๊ฐ์ฒด ์†Œ๋ฉธ ์—ฐ์‚ฐ์ž ์—†์Œ JVM(์ž๋ฐ” ๊ฐ€์ƒ ๊ธฐ๊ณ„)์˜ ๊ณ ์œ ํ•œ ์—ญํ•  ๊ฐ€๋น„์ง€ ๋ ˆํผ๋Ÿฐ์Šค๊ฐ€ ํ•˜๋‚˜๋„ ์—†๋Š” ๊ฐ์ฒด -> ๋” ์ด์ƒ ์ ‘๊ทผํ•  ์ˆ˜ ์—†์–ด ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ฒŒ ๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜ JVM์˜ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰ํ„ฐ๊ฐ€ ์ž๋™์œผ๋กœ ๊ฐ€๋น„์ง€ ์ˆ˜์ง‘, ๋ฐ˜ํ™˜ ๊ฐ€์šฉ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด ์ผ์ • ์ดํ•˜๋กœ ๋ถ€์กฑํ•ด์งˆ ๋•Œ ๊ฐ€๋น„์ง€๋ฅผ ์ˆ˜๊ฑฐํ•ด ๊ฐ€์šฉ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์œผ๋กœ ํ™•๋ณด ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰ํ„ฐ์— ์˜ํ•ด ์ž๋™ ์ˆ˜ํ–‰ ๊ฐ•์ œ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜ ์ˆ˜ํ–‰ System ๋˜๋Š” Runtime ๊ฐ์ฒด์˜ gc() ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ gc() ๋ฉ”์†Œ๋“œ -> JVM์˜ ๊ฐ•๋ ฅํ•œ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜ ์š”์ฒญ ํ•˜์ง€๋งŒ JVM์ด ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰..

[HackerRank] Java Warmup

https://www.hackerrank.com/domains/algorithms?filters%5Bsubdomains%5D%5B%5D=warmup Solve Algorithms | HackerRank Solve Algorithms | HackerRank We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies. www.hackerrank.com SimpleArraySum ArrayList์˜ ํฌ๊ธฐ๋Š” .size()๋กœ ๊ตฌํ•˜๊ธฐ (.length ๋ชป์”€!!) ArrayList์˜ ์›์†Œ ์ ‘๊ทผ .get(..

[Java] ์ƒ์„ฑ์ž ๊ฐœ๋…๊ณผ ๋ชฉ์ , this ๋ ˆํผ๋Ÿฐ์Šค, this() ํ˜ธ์ถœ

์ƒ์„ฑ์ž ๊ฐœ๋…๊ณผ ๋ชฉ์  ์ƒ์„ฑ์ž ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ ์ดˆ๊ธฐํ™” ๋ชฉ์ ์œผ๋กœ ์‹คํ–‰๋˜๋Š” ๋ฉ”์†Œ๋“œ ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋˜๋Š” ์ˆœ๊ฐ„์— ์ž๋™ ํ˜ธ์ถœ โ˜ž ํด๋ž˜์Šค๋กœ๋ถ€ํ„ฐ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์ˆ˜ํ–‰๋˜์–ด ๊ฐ์ฒด์˜ ์ดˆ๊ธฐํ™”๋ฅผ ๋‹ด๋‹นํ•˜๋Š” ๊ฒƒ ๋‘ ๊ฐœ์˜ ์ƒ์„ฑ์ž๋ฅผ ๊ฐ€์ง„ Circle ํด๋ž˜์Šค ์˜ˆ์ œ (๊ฐ์ฒด์ง€ํ–ฅ์˜ ํŠน์ง•์ธ ๋‹คํ˜•์„ฑ๋„ ์—ฟ๋ณผ ์ˆ˜ ์žˆ์Œ) public class Circle { int radius; String name; public Circle { // ๋งค๊ฐœ ๋ณ€์ˆ˜ ์—†๋Š” ์ƒ์„ฑ์ž // ์ƒ์„ฑ์ž ์ด๋ฆ„์€ ํด๋ž˜์Šค ์ด๋ฆ„๊ณผ ๊ฐ™์Œ radius = 1; name = ""; } public Circle(int r, String t) { // ๋งค๊ฐœ ๋ณ€์ˆ˜ ๊ฐ€์ง„ ์ƒ์„ฑ์ž radius = r; name = t; } public double getArea() { return 3.14 * radiu..

[Java] ๊ฐ์ฒด ์ง€ํ–ฅ์˜ ๊ฐœ๋…, ํŠน์ง•, ํด๋ž˜์Šค, ๊ฐ์ฒด

๊ฐ์ฒด์ง€ํ–ฅ์–ธ์–ด(Object-Oriented Programming = OOP) ์ปดํ“จํ„ฐํ”„๋กœ๊ทธ๋žจ์„ ๋ช…๋ น์–ด์˜ ๋ชฉ๋ก์œผ๋กœ ๋ณด๋Š” ์‹œ๊ฐ์—์„œ ๋ฒ—์–ด๋‚˜ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋…๋ฆฝ๋œ ๋‹จ์œ„, ์ฆ‰ "๊ฐ์ฒด"๋“ค์˜ ๋ชจ์ž„์œผ๋กœ ํŒŒ์•…ํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฒƒ. ๊ฐ๊ฐ์˜ ๊ฐœ์ฒด๋Š” message passing์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค ํด๋ž˜์Šค์™€ ๊ฐ์ฒด ํด๋ž˜์Šค ๊ฐ์ฒด์˜ ์„ค๊ณ„๋„ ํ˜น์€ ํ‹€ ๊ฐ์ฒด๋“ค์˜ ์ค‘์š”ํ•œ ์†์„ฑ์„ ๊ณต์œ ํ•˜๋Š” ๊ฐ์ฒด๋“ค์˜ ๋ชจ์ž„ ๊ฐœ๋…์  ๊ฐ์ฒด(Object) ํด๋ž˜์Šค์˜ ํ‹€๋กœ ์ฐ์–ด๋‚ธ ์‹ค์ฒด → ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘์— ์ƒ์„ฑ๋˜๋Š” ์‹ค์ฒด, ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ๊ฐ–๋Š” ๊ตฌ์ฒด์  ์‹ค์ฒด = instance (์ธ์Šคํ„ด์Šค) ์ฃผ๋ณ€์— ๋ณด์ด๋Š” ์‚ฌ๋ฌผ, ์ƒ๋ช… ๊ตฌ์ฒด์  โ–ถ class๋Š” ์„ค๊ณ„๋„, instance๋Š” ์‹ค์ œ๋กœ ๋‚ด๊ฐ€ ์“ฐ๋Š” ๊ฒƒ โ–ถ ๊ฐ์ฒด(์น˜์™€์™€, ์…ฐํผ๋“œ, ์ง„๋„) → ์†์„ฑ(๋ฉ๋ฉ, ๊ผฌ๋ฆฌ๋ฅผ ํ”๋“ฆ) → ํด๋ž˜์Šค(๊ฐœ) โ–ถ ๊ฐ์ฒด๋“ค์€..

[Java] ์ž๋ฐ” ๋ฐฐ์—ด, length, for-each๋ฌธ, 2์ฐจ์› ๋ฐฐ์—ด, ๋ฉ”์†Œ๋“œ์˜ ๋ฐฐ์—ด ๋ฆฌํ„ด

๋ฐฐ์—ด ์„ ์–ธ๊ณผ ์ƒ์„ฑ ๋ฐ ์ดˆ๊ธฐํ™” ๋ฐฉ๋ฒ• int intArray []; // ๋ฐฐ์—ด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜ intArray ์„ ์–ธ ๋ฐฉ๋ฒ• 1 int[] intArray; // ๋ฐฐ์—ด์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ณ€์ˆ˜ intArray ์„ ์–ธ ๋ฐฉ๋ฒ• 2 intArray = new int [5]; // ์›์†Œ ๊ฐœ์ˆ˜๊ฐ€ 5์ธ int ํƒ€์ž…์˜ ๋ฐฐ์—ด ์ƒ์„ฑ ๋ฐฉ๋ฒ• 1 int intArray[] = new int[5]; // ์›์†Œ ๊ฐœ์ˆ˜๊ฐ€ 5์ธ int ํƒ€์ž…์˜ ๋ฐฐ์—ด ์ƒ์„ฑ ๋ฐฉ๋ฒ• 2 int intArray[] = {4, 3, 2, 1, 0}; // 5๊ฐœ์˜ ์ •์ˆ˜ ๋ฐฐ์—ด ์ƒ์„ฑ ๋ฐ ๊ฐ’ ์ดˆ๊ธฐํ™” ๋ ˆํผ๋Ÿฐ์Šค ์น˜ํ™˜๊ณผ ๋ฐฐ์—ด ๊ณต์œ  ๋ ˆํผ๋Ÿฐ์Šค ์น˜ํ™˜์œผ๋กœ ๋‘ ๋ ˆํผ๋Ÿฐ์Šค๊ฐ€ ํ•˜๋‚˜์˜ ๋ฐฐ์—ด ๊ณต์œ  int intArray[] = new int[5]; int myArray[] = intArray; // ..

[Java] ์ž๋ฐ”์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…, ๋ฌธ์ž์—ด ์—ฐ๊ฒฐ, ์ƒ์ˆ˜ ์„ ์–ธ, ๊ฐ•์ œ ํƒ€์ž… ๋ณ€ํ™˜, Scanner ์ž…๋ ฅ

์ž๋ฐ”์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž… ๊ธฐ๋ณธํƒ€์ž… 8๊ฐœ boolean char byte short int long float double ๋ ˆํผ๋Ÿฐ์Šค ํƒ€์ž…: 1๊ฐœ์ด๋ฉฐ ์šฉ๋„๋Š” ๋‹ค์Œ 3๊ฐ€์ง€ ํด๋ž˜์Šค(class)์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ์ธํ„ฐํŽ˜์ด์Šค(inerface)์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๋ฐฐ์—ด(array)์— ๋Œ€ํ•œ ๋ ˆํผ๋Ÿฐ์Šค ๊ธฐ๋ณธํƒ€์ž… 8๊ฐœ๋Š” ํฌ๊ธฐ๊ฐ€ ๊ณ ์ •๋˜์–ด ์žˆ๊ณ , ๋ ˆํผ๋Ÿฐ์Šค ํƒ€์ž…์€ ํฌ๊ธฐ ๊ณ ์ •์ด ๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค. ๊ธฐ๋ณธ ํƒ€์ž… ์ด์™ธ ๋ฆฌํ„ฐ๋Ÿด ๋ฌธ์ž์—ด ๋ฌธ์ž์—ด์€ ๊ธฐ๋ณธํƒ€์ž…์ด ์•„๋‹ˆ๋‹ค. String ํด๋ž˜์Šค๋กœ ๋ฌธ์ž์—ด ํ‘œํ˜„ - ๋ฌธ์ž์—ด ๋ฆฌํ„ฐ๋Ÿด String a = "test"; ๋ฌธ์ž์—ด์ด ์„ž์ธ + ์—ฐ์‚ฐ์€ ๋ฌธ์ž์—ด์„ ์—ฐ๊ฒฐํ•œ๋‹ค. String a = "test"; System.out.println(a + " ์ž…๋‹ˆ๋‹ค"); // "test ์ž…๋‹ˆ๋‹ค" ์ถœ๋ ฅ NULL ๋ฆฌํ„ฐ๋Ÿด ๋ ˆํผ๋Ÿฐ์Šค์— ๋Œ€์ž… ์‚ฌ์šฉ i..

[Python] set ์ž๋ฃŒํ˜• ์ด์šฉํ•ด ๋ฆฌ์ŠคํŠธ ์ค‘๋ณต ์ œ๊ฑฐ + ๋ฆฌ์ŠคํŠธ ์ฐจ์ง‘ํ•ฉ

๋‘ ๋ฆฌ์ŠคํŠธ๊ฐ€ ์žˆ์„ ๋•Œ ์„œ๋กœ ์ค‘๋ณต๋˜๋Š” ๊ฐ’์„ ์ œ์™ธํ•œ ๊ฐ’๋“ค์„ ๋ณด๊ณ  ์‹ถ๋‹ค๋ฉด set ์ž๋ฃŒํ˜•์„ ์ด์šฉ a = [1, 2, 3, 4] b = [2, 3, 5, 6, 7] 2, 3์ด ๊ฒน์น˜๋Š” ์›์†Œ [x for x in a if x not in set(b)]โ€‹ ์ˆœ์„œ๋ฅผ ๋ณด์กดํ•ด ์ฐจ์ง‘ํ•ฉ ์ถœ๋ ฅ set(a) - set(b) ์ˆœ์„œ ๋ณด์กด x ์ฐจ์ง‘ํ•ฉ ์ถœ๋ ฅ ๋ฆฌ์ŠคํŠธ ์ฐจ์ง‘ํ•ฉ a = ['abc', 'abcd', 'abcde'] b = ['bc', 'abc', 'abcd'] print([x for x in a if x not in b])

728x90