๐Ÿง Programming

1) ๊ธฐ์กด for๋ฌธ # First Case L = [] for i in range(10): L.append(i) print(L) # Second Case students = ["Mark", "Joe", "Jay"] for s in range(len(students): students[i] = len(students[i]) # Third Case L = [] for i in range(5): for j in range(5): L.append(i * j) print(L) 2) ํ•œ ์ค„ for๋ฌธ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฐ•๋ ฅํ•˜๊ณ  ๊ฐ„๊ฒฐํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์ž์ฃผ ์“ฐ์ด๋Š” ๋ฌธ๋ฒ•์ด๋ฏ€๋กœ ๊ผญ ์•Œ์•„๋‘๋„๋ก ํ•˜์ž! # First Case L = [ i for i in range(10) ] print(*L) or [ print(i, end=" ")..
1) ๊ธฐ์กด if๋ฌธ int a = 3 if a == 3: print("a๋Š” 3 ์ž…๋‹ˆ๋‹ค.") else: print("a๋Š” 3์ด ์•„๋‹™๋‹ˆ๋‹ค.") 2) ํ•œ ์ค„ if๋ฌธ print( "a๋Š” 3์ž…๋‹ˆ๋‹ค." if a == 3 else "a๋Š” 3์ด ์•„๋‹™๋‹ˆ๋‹ค." ) ๋ฌธ๋ฒ• : (True์ผ ์‹œ, ์ฒ˜๋ฆฌํ•  ๋ช…๋ น) if [์กฐ๊ฑด์‹] else [False์ผ ์‹œ, ์ฒ˜๋ฆฌํ•  ๋ช…๋ น] ๋งŒ์•ฝ์—, elif๋ฌธ์ด ํฌํ•จ๋˜์–ด ์žˆ๋‹ค๋ฉด ์œ„์˜ ์ฝ”๋“œ์ฒ˜๋Ÿผ if๋ฅผ elif๋ฌธ ๊ฐฏ์ˆ˜๋งŒํผ ์ถ”๊ฐ€๋กœ ๋” ์‚ฌ์šฉํ•˜์—ฌ ํ•œ ์ค„๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. [๊ธฐ์กด] int a = 3 if a > 3: print("a>3") elif a == 3: print("a==3") else: print("a3" if a > 3 else print("a==3") if a == 3 else print("a
1) List ์—ฌ๋Ÿฌ ํƒ€์ž…์˜ ๊ฐ’์„ ํ•จ๊ป˜ ๋ชจ์•„์„œ ์ €์žฅํ•˜๊ณ  (์ค‘๋ณต ํ—ˆ์šฉ) ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ˆœ์„œ๊ฐ€ ์กด์žฌํ•œ๋‹ค. (Java์˜ ArrayList์™€ ์œ ์‚ฌ) [์ƒ์„ฑ] - Create numList = [] // ๋นˆ ๋ฆฌ์ŠคํŠธ ์„ ์–ธ numList = list() // ๋นˆ ๋ฆฌ์ŠคํŠธ ์„ ์–ธ numList = [1,2,3,4] [์ ‘๊ทผ] - Read print(numList[0]) → list์˜ 0๋ฒˆ์งธ ์š”์†Œ์˜ ๊ฐ’์„ ๊ฐ€์ ธ์˜ด list[0:2] → list์˜ 0, 1๋ฒˆ์งธ ์š”์†Œ๋ฅผ ๋ฆฌ์ŠคํŠธ ํ˜•ํƒœ๋กœ ๋ฆฌํ„ด list[:7] → list์˜ 0 ~ 6๋ฒˆ์งธ ์š”์†Œ๋ฅผ ๋ฆฌ์ŠคํŠธ ํ˜•ํƒœ๋กœ ๋ฆฌํ„ด list[::-1] → list์˜ ๋งˆ์ง€๋ง‰ ~ 0๋ฒˆ์งธ ์š”์†Œ๋ฅผ ๋ฆฌ์ŠคํŠธ ํ˜•ํƒœ๋กœ ๋ฆฌํ„ด (reverse) list.index(data) → ํ•ด๋‹น ๋ฐ์ดํ„ฐ๊ฐ€ list ๋‚ด์— ๋ช‡ ๋ฒˆ์งธ ..
1) Python org ์ ‘์† https://www.python.org/downloads/ Download Python The official home of the Python Programming Language www.python.org 2) ์„ค์น˜ํ•  ๋ฒ„์ „ ์„ ํƒ ๊ฐœ์ธ์ ์œผ๋กœ Python2, Python3 ๋ฒ„์ „์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฌธ๋ฒ•์— ๋ณ€ํ™”๊ฐ€ ํฌ๊ธฐ ๋•Œ๋ฌธ์— ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” Python 3.x ๋ฒ„์ „์„ ์„ค์น˜ํ•˜๋„๋ก ํ•˜์ž! 3) ์„ค์น˜ ํŒŒ์ผ ์‹คํ–‰ "Add Python.exe to PATH" ์˜ต์…˜์„ ์ฒดํฌํ•œ๋‹ค. ์‹œ์Šคํ…œ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์ž๋™์œผ๋กœ ์„ค์ •ํ•ด์ฃผ๋Š” ์˜ต์…˜์œผ๋กœ ์ฒดํฌํ•˜์ง€ ์•Š์œผ๋ฉด ๋ณ„๋„๋กœ ์‹œ์Šคํ…œ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. 4) ์‹คํ–‰
1) ๋ณ€์„ฑ (Variance) - ๊ณต๋ณ€์„ฑ (Covariance), ๋ฐ˜๊ณต๋ณ€์„ฑ (Contravariance), ๋ฌด๊ณต๋ณ€์„ฑ (InVariance) ์ œ๋„ค๋ฆญ์˜ ์™€์ผ๋“œ์นด๋“œ๋ฅผ ๋ฐฐ์šฐ๊ธฐ ์ „์—, ์•Œ์•„์•ผ ํ•  ๊ฐœ๋…์ด ์žˆ๋Š”๋ฐ ๊ทธ๊ฒƒ์€ ๋ฐ”๋กœ ๊ณต๋ณ€์„ฑ, ๋ฐ˜๊ณต๋ณ€์„ฑ, ๋ฌด๊ณต๋ณ€์„ฑ ํ•ฉ์ณ์„œ ๋ณ€์„ฑ์ด๋ผ๋Š” ๊ฐœ๋…์ด๋‹ค. ๋ณ€์„ฑ์€ ํƒ€์ž…์˜ ์ƒ์† ๊ณ„์ธต ๊ด€๊ณ„์—์„œ ์„œ๋กœ ๋‹ค๋ฅธ ํƒ€์ž… ๊ฐ„์— ์–ด๋–ค ๊ด€๊ณ„๊ฐ€ ์žˆ๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ง€ํ‘œ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ณต๋ณ€์„ฑ์€ ํƒ€์ž…์˜ ์ƒ์† ๊ณ„์ธต ๊ด€๊ณ„์—์„œ ์„œ๋กœ ๋‹ค๋ฅธ ํƒ€์ž… ๊ฐ„์— ํ•จ๊ป˜ ๋ณ€ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ํŠน์ง•์„ ๋งํ•˜๋ฉฐ, ์ด๋ฅผ ๊ฐ์ฒด ์ง€ํ–ฅ ๊ฐœ๋…์œผ๋กœ ํ‘œํ˜„ํ•˜๋ฉด SOLID ์›์น™ ์ค‘ Liskov ์น˜ํ™˜ ์›์น™์— ํ•ด๋‹นํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฐฐ์—ด (Array)๊ณผ ๋ฆฌ์ŠคํŠธ (List)๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉด, Java์—์„œ์˜ ๊ฐ ๋ณ€์„ฑ์˜ ํŠน์ง•์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค. (1) ๊ณต๋ณ€์„ฑ S๊ฐ€ T์˜ ํ•˜์œ„ ํƒ€์ž…..
1) ์ œํ•œ๋œ ํƒ€์ž… ํŒŒ๋ผ๋ฏธํ„ฐ (Bounded Type Parameter) ๊ฒฝ์šฐ์— ๋”ฐ๋ผ์„œ๋Š” ํƒ€์ž… ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋Œ€์ฒดํ•˜๋Š” ๊ตฌ์ฒด์ ์ธ ํƒ€์ž…์„ ์ œํ•œํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ˆซ์ž๋ฅผ ์—ฐ์‚ฐํ•˜๋Š” ์ œ๋„ค๋ฆญ ๋ฉ”์†Œ๋“œ๋Š” ๋Œ€์ฒด ํƒ€์ž…์œผ๋กœ Number ๋˜๋Š” ์ž์‹ ํด๋ž˜์Šค (Byte, Short, Integer, Long, Double)๋กœ ์ œํ•œํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค. ์ด์ฒ˜๋Ÿผ ๋ชจ๋“  ํƒ€์ž…์œผ๋กœ ๋Œ€์ฒดํ•  ์ˆ˜ ์—†๊ณ , ํŠน์ • ํƒ€์ž…๊ณผ ์ž์‹ ๋˜๋Š” ๊ตฌํ˜„ ๊ด€๊ณ„์— ์žˆ๋Š” ํƒ€์ž…๋งŒ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ๋Š” ํƒ€์ž… ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ œํ•œ๋œ ํƒ€์ž… ํŒŒ๋ผ๋ฏธํ„ฐ (Bounded Type Parameter) ๋ผ๊ณ  ํ•œ๋‹ค. public ๋ฆฌํ„ดํƒ€์ž… ๋ฉ”์†Œ๋“œ (๋งค๊ฐœ๋ณ€์ˆ˜, ...) { } ์ œํ•œ๋œ ํƒ€์ž… ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ •์˜๋Š” ์œ„์™€ ๊ฐ™์ด extends ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ƒ์œ„ ํƒ€์ž…์€ ํด๋ž˜์Šค ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ธํ„ฐํŽ˜..
1) ์ œ๋„ค๋ฆญ ํด๋ž˜์Šค์™€ ์ œ๋„ค๋ฆญ ๋ฉ”์†Œ๋“œ ์ด๋ฒˆ์—๋Š” ์ œ๋„ค๋ฆญ ํด๋ž˜์Šค์™€ ์ œ๋„ค๋ฆญ ๋ฉ”์†Œ๋“œ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž! (1) ์ œ๋„ค๋ฆญ ํด๋ž˜์Šค public class ํด๋ž˜์Šค๋ช… { } public interface ์ธํ„ฐํŽ˜์ด์Šค๋ช… { } ์ œ๋„ค๋ฆญ ํด๋ž˜์Šค๋ž€ ํƒ€์ž… ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๊ฐ€์ง€๋Š” ํด๋ž˜์Šค์™€ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ์ œ๋„ค๋ฆญ ํด๋ž˜์Šค๋Š” ์„ ์–ธ๋ถ€์— “” ๊บฝ์ƒˆ ๊ธฐํ˜ธ๊ฐ€ ๋ถ™๊ณ  ๊ทธ ์‚ฌ์ด์— ํƒ€์ž… ํŒŒ๋ผ๋ฏธํ„ฐ๋“ค์ด ์œ„์น˜ํ•œ๋‹ค! ํƒ€์ž… ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” ๋ณ€์ˆ˜๋ช…๊ณผ ๋™์ผํ•œ ๊ทœ์น™์— ๋”ฐ๋ผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ผ๋ฐ˜์ ์œผ๋กœ ๋Œ€๋ฌธ์ž ์•ŒํŒŒ๋ฒณ ํ•œ๊ธ€์ž๋กœ ํ‘œํ˜„ํ•œ๋‹ค! ๋˜ํ•œ, ์™ธ๋ถ€์—์„œ ์ œ๋„ค๋ฆญ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ์— ํƒ€์ž… ํŒŒ๋ผ๋ฏธํ„ฐ์— ๊ตฌ์ฒด์ ์ธ ํƒ€์ž…์„ ์ง€์ •ํ•ด์•ผ ํ•˜๋Š”๋ฐ ๋งŒ์•ฝ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ์•”๋ฌต์ ์œผ๋กœ Object ํƒ€์ž…์ด ์‚ฌ์šฉ๋œ๋‹ค. ์ œ๋„ค๋ฆญ ํด๋ž˜์Šค๋Š” ์ด์ „์— ๋งŽ์ด ๋‹ค๋ค˜๊ธฐ์— ์ž์„ธํ•œ ์ฝ”๋“œ๋Š” ์ƒ๋žตํ•œ๋‹ค! (2) ์ œ๋„ค๋ฆญ ๋ฉ”์†Œ๋“œ p..
1) ์ œ๋„ค๋ฆญ & ํƒ€์ž… ํŒŒ๋ผ๋ฏธํ„ฐ ์ด๋ฒˆ์—๋Š” ์ œ๋„ค๋ฆญ์— ๋Œ€ํ•œ ๋ช…ํ™•ํ•œ ์ •์˜์™€ ํƒ€์ž… ํŒŒ๋ผ๋ฏธํ„ฐ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜์ž! (1) ์ œ๋„ค๋ฆญ (Generics) class Box { public T content; ... public static void main(String[] args) { Box strBox = new Box(); Box intBox = new Box(); } } ์œ„์˜ ์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด Box ํด๋ž˜์Šค๊ฐ€ ์žˆ๊ณ  ๋‹ค์–‘ํ•œ ํƒ€์ž…์˜ ๊ฐ์ฒด๋ฅผ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด Box ํด๋ž˜์Šค ๋ฉค๋ฒ„ ๋ณ€์ˆ˜์ธ content์˜ ํƒ€์ž…์€ ํŠน์ • ํƒ€์ž…์œผ๋กœ ์ง€์ •ํ•˜์ง€ ์•Š๊ณ  ํƒ€์ž… ํŒŒ๋ผ๋ฏธํ„ฐ์ธ T๋กœ ์„ค์ •ํ•˜์˜€๋‹ค. ๊ทธ๋ฆฌ๊ณ  main() ๋ฉ”์†Œ๋“œ ์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด String ๊ฐ์ฒด์™€ Intenger ๊ฐ์ฒด๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ๊ฐ์˜ Box ๊ฐ์ฒด๋ฅผ “ํƒ€์ž…”์„ ์ง€์ •ํ•˜์—ฌ ์ƒ์„ฑํ•˜์˜€๋‹ค. ๋”ฐ๋ผ์„œ..
Dev_sHu
'๐Ÿง Programming' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (2 Page)