λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
  • μž₯원읡 κΈ°μˆ λΈ”λ‘œκ·Έ

🀷🏼‍♀️ Etc.../- C, C++, Python, Android43

[Python κ³ κΈ‰] 객체와 클래슀 (5) μΈμŠ€ν„΄μŠ€ λ©”μ„œλ“œ vs 정적 λ©”μ„œλ“œ vs 클래슀 λ©”μ„œλ“œ (Instance Method, Static Method, Class Method) νŒŒμ΄μ¬μ—λŠ” λ‹€λ₯Έ 언어와 λ§ˆμ°¬κ°€μ§€λ‘œ λ©”μ„œλ“œλΌλŠ” μ˜μ—­μ΄ μ‘΄μž¬ν•œλ‹€. 이제 κ·Έ λ©”μ„œλ“œμ˜ λΆ„λ₯˜μ™€ μ‚¬μš©λ²•μ— λŒ€ν•΄μ„œ μ•Œμ•„λ³΄μž. Instance Method Static Method Class Method Instance Method μΈμŠ€ν„΄μŠ€ λ©”μ„œλ“œλŠ” 각 κ°μ²΄μ—μ„œ κ°œλ³„μ μœΌλ‘œ λ™μž‘ν•˜λŠ” ν•¨μˆ˜λ₯Ό λ§Œλ“€κ³  싢을 λ•Œ μ‚¬μš©ν•œλ‹€. 예둜 μžλ™μ°¨λΌλŠ” ν΄λž˜μŠ€κ°€ μžˆμ„λ•Œ κΈ°λ³Έ ꡬ동 λ©”μ»€λ‹ˆμ¦˜μ€ λͺ¨λ‘ λ™μΌν•˜μ§€λ§Œ 속도, 이름, 색은 λͺ¨λ‘ κ³ μœ ν•œ λ™μž‘κ³Ό μƒνƒœκ°€ μžˆλ‹€. 이런 κ²½μš°μ— κ³ μœ ν•œ λ™μž‘κ³Ό μƒνƒœλ₯Ό Instance Methodλ₯Ό μ‚¬μš©ν•˜μ—¬ μ •μ˜ν•œλ‹€. self μΈμŠ€ν„΄μŠ€ λ©”μ„œλ“œμ—μ„œ 첫 μΈμžλŠ” 무쑰건 self ν‚€μ›Œλ“œκ°€ ν•„μš”ν•œλ°, 이 λœ»μ€ 클래슀의 μΈμŠ€ν„΄μŠ€(객채)λ₯Ό λœ»ν•˜λ―€λ‘œ selfλ₯Ό ν†΅ν•΄μ„œ μΈμŠ€ν„΄μŠ€ λ³€μˆ˜λ₯Ό λ§Œλ“€κ³  μ‚¬μš©ν•œλ‹€. μΈμŠ€ν„΄μŠ€ λ©”μ„œλ“œμ˜ ꡬ쑰 cla.. 2020. 5. 10.
[Python κ³ κΈ‰] 파이썬 Module-λͺ¨λ“ˆμ— λŒ€ν•΄μ„œ(2) μ§€λ‚œ κ²Œμ‹œλ¬Ό 파이썬 λͺ¨λ“ˆμ— λŒ€ν•΄μ„œ(1)μ—μ„œ λͺ¨λ“ˆμ— λŒ€ν•œ 기본적 μ •μ˜μ™€ μ‚¬μš©λ²•μ„ λ°°μ› κ³  이제 μ €λ²ˆμ— 말 ν•˜λ‹€ λ§μ•˜λ˜ 이야기 λͺ¨λ“ˆμ„ μ‚¬μš©ν•˜λŠ” python νŒŒμΌμ—μ„œ ν•΄λ‹Ή import λͺ¨λ“ˆμ— λ‚΄μš©μ„ μ‹€ν–‰ν•œλ‹€λŠ” λ¬Έμ œμ μ„ ν•΄κ²°ν•΄λ³΄μž. 방법 1. __main__ 쑰건으둜 νšŒν”Όν•˜κΈ° ν˜„μž¬ 문제 상황이 λͺ¨λ“ˆμ˜ λ‚΄μš©μ΄ μ‹€ν–‰λœλ‹€λŠ” κ²ƒμ΄λ―€λ‘œ λͺ¨λ“ˆμ˜ μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜μ§€ μ•ŠλŠ” 방법이 μ—¬λŸ¬κ°€μ§€κ°€ μžˆμ§€λ§Œ κ°„λ‹¨ν•œ 쑰건으둜 ν•΄κ²°ν•  수 μžˆλ‹€. 이 μ½”λ“œμ—μ„œ `if` 쑰건문이면 ν•΄κ²°λœλ‹€. if __name__ == "__main__" 쑰건은 λ§Œμ•½ μ‹€ν–‰ν•˜λŠ” μ˜μ—­μ΄ main μ˜μ—­μΌ κ²½μš°μ—λ§Œ 싀행을 ν•˜λΌλŠ” μ˜λ―Έμ΄λ‹€. κ·Έλž¬μ„ 경우 이와 같이 싀행이 λͺ¨λ“ˆμ˜ μ½”λ“œμ—μ„œ ν•„μš”ν•˜μ§€ μ•Šμ€ λΆ€λΆ„(printν•¨μˆ˜)을 μ‹€ν–‰ν•˜μ‹œ μ•ŠλŠ”λ‹€. 방법 2. from ν‚€μ›Œλ“œ μ‚¬μš©ν•˜κΈ°.. 2020. 5. 7.
[Python κ³ κΈ‰] 파이썬 Module-λͺ¨λ“ˆμ— λŒ€ν•΄μ„œ(1) 파이썬의 λͺ¨λ“ˆ(Module)에 λŒ€ν•΄μ„œ μ΄ν•΄ν•˜κΈ° μœ„ν•΄μ„œλŠ” λͺ¨λ“ˆμ΄ μ–΄λ–€ 의미둜 μ“°μ΄λŠ”μ§€ λ¨Όμ € 확인해야 ν•œλ‹€. λͺ¨λ“ˆμ˜ μ •μ˜λŠ” ν”„λ‘œκ·Έλž˜λ°μ  λͺ¨λ“ˆκ³Ό 건좕학적 의미, μ΄λ ‡κ²Œ 두 κ°œλ…μœΌλ‘œ μ •μ˜λ₯Ό ν•΄ λ†“μ•˜λŠ”λ° λ³Έμ§ˆμ€ 같은 λœ»μ΄λ‹€. μ΄λ ‡κ²Œλ§Œ λ“€μœΌλ©΄ 직관적 이해가 μ–΄λ ΅κΈ° λ•Œλ¬Έμ— λΉ„μœ λ₯Ό 해보겠닀. 우린 블둝 쑰각으둜 μ™„μ„±λœ 블둝 집을 λ§Œλ“€μˆ˜ μžˆλ‹€. μ—¬κΈ°μ„œ 블둝 쑰각에 ν•΄λ‹Ήν•˜λŠ” 것이 λ°”λ‘œ λͺ¨λ“ˆμ΄λ‹€. μš°λ¦¬κ°€ 배우게될 λͺ¨λ“ˆλ‘œ μš°λ¦¬λŠ” μ™„μ„±λœ ν•˜λ‚˜μ˜ ν”„λ‘œκ·Έλž¨μ„ λ§Œλ“€ 수 μžˆλ‹€. μ—¬λŸ¬κ°€μ§€ 블둝, 즉 λͺ¨λ“ˆμ„ λͺ¨μ•„ λ‚΄κ°€ μ›ν•˜λŠ” κΈ°λŠ₯의 ν”„λ‘œκ·Έλž¨μ„ λ§Œλ“€κΈ° μœ„ν•΄μ„œ λͺ¨λ“ˆμ— λŒ€ν•œ 이해가 μ •ν™•νžˆ ν•„μš”ν•˜λ‹€. 이제 파이썬으둜 λ„˜μ–΄κ°€μ„œ μƒκ°ν•΄λ³΄μž. νŒŒμ΄μ¬μ—μ„œμ˜ λͺ¨λ“ˆ νŒŒμ΄μ¬μ—μ„œ λͺ¨λ“ˆμ€ μ½”λ“œκ°€ μ €μž₯된 파일으둜 μ •μ˜λ˜λŠ”λ°, μ½”λ“œκ°€ μ €μž₯λ˜μ–΄μžˆλŠ” νŒŒμΌμ΄λΌλŠ” 것이 .. 2020. 5. 7.
[μ•ˆλ“œλ‘œμ΄λ“œ μŠ€νŠœλ””μ˜€] λ ˆμ΄μ•„μ›ƒ 닀루기 3. TableLayoutκ³Ό GridLayout (ν…Œμ΄λΈ” λ ˆμ΄μ•„μ›ƒκ³Ό κ·Έλ¦¬λ“œ λ ˆμ΄μ•„μ›ƒ) TableLayout ν…Œμ΄λΈ” λ ˆμ΄μ•„μ›ƒμ€ 주둜 μœ„μ ―μ„ ν‘œ ν˜•νƒœλ‘œ λ°°μΉ˜ν•  λ•Œ μ‚¬μš©ν•œλ‹€ ν•˜λ©° ν…Œμ΄λΈ” λ ˆμ΄μ•„μ›ƒμ€ LinearLayout을 μƒμ†ν•˜λŠ” λ‹¨μˆœν•œ LayaoutManager 역할을 ν•œλ‹€. ν…Œμ΄λΈ” λ ˆμ΄μ•„μ›ƒμ—μ„œλŠ” ν–‰κ³Ό μ—΄μ˜ κ΄€κ³„λ‘œ μˆ˜μ •ν•˜κ³  μœ„μ ―μ„ λ°°μΉ˜ν•œλ‹€. λ˜ν•œ ν…Œμ΄λΈ” λ ˆμ΄μ•„μ›ƒμ€ 으둜 행을 ν‘œμ‹œν•˜κ³  μ•ˆμ— μžˆλŠ” μœ„μ ―μ˜ 수둜 열을 ν‘œμ‹œν•œλ‹€. ... ... TableLayout의 속성 layout_span 열을 ν•©μ³μ„œ ν‘œμ‹œν•˜λΌλŠ” 의미둜 layout_sapn="2"λŠ” ν˜„μž¬ μ…€λΆ€ν„° 2개의 셀을 ν•©μ³μ„œ ν‘œμ‹œν•΄μ€€λ‹€. layout_column μ§€μ •λœ 열에 ν˜„μž¬ μœ„μ ―μ„ ν‘œμ‹œν•˜λΌλŠ” 의미 stretchColumns μ§€μ •λœ μ—΄μ˜ 폭을 λŠ˜λ¦¬λΌλŠ” 의미. GridLayout κ·Έλ¦¬λ“œ λ ˆμ΄μ•„μ›ƒμ€ ν…Œμ΄λΈ” λ ˆμ΄μ•„μ›ƒκ³Ό λ§ˆμ°¬κ°€μ§€λ‘œ μœ„μ ―μ„ ν‘œ ν˜•.. 2020. 5. 2.
[μ•ˆλ“œλ‘œμ΄λ“œ μŠ€νŠœλ””μ˜€] λ ˆμ΄μ•„μ›ƒ 닀루기 2. Relative Layout(μƒλŒ€, λ λŸ¬ν‹°λΈŒ λ ˆμ΄μ•„μ›ƒ) Relative Layout μƒλŒ€ λ ˆμ΄μ•„μ›ƒμ€ λ ˆμ΄μ•„μ›ƒ 내뢀에 ν¬ν•¨λœ μœ„μ ―μ„ μƒλŒ€μ μΈ μœ„μΉ˜λ‘œ λ°°μΉ˜ν•˜λŠ” λ ˆμ΄μ•„μ›ƒμ΄λ‹€. μƒλŒ€ λ ˆμ΄μ•„μ›ƒμ΄ 배치λ₯Ό ν•˜λŠ” 두 κ°€μ§€μ˜ λΆ€λ₯˜κ°€ μžˆλŠ”λ° μƒν•˜μ’Œμš°λ‘œ 배치 λ‹€λ₯Έ μœ„μ ―μ˜ μƒλŒ€ μœ„μΉ˜λ‘œ 배치 κ°€ μžˆλ‹€. μžμ„Ένžˆ μ•Œμ•„λ³΄μž. Relative Layout의 μƒν•˜μ’Œμš°μ— 배치 μƒλŒ€ λ ˆμ΄μ•„μ›ƒ μ•ˆμ—μ„œ μœ„μΉ˜λ₯Ό λ°°μΉ˜ν•  λ•ŒλŠ” 7가지 속성 κ°’μœΌλ‘œ λ°°μΉ˜ν•œλ‹€. κ·Έλž˜μ„œ λ§Œμ•½ λ²„νŠΌμ„ 각각의 μœ„μΉ˜λ‘œ 배치λ₯Ό ν•˜κ³ μ‹Άλ‹€λ©΄ μœ„μ ― μ†μ„±μ—μ„œ layout_속성="true" 둜 μ„€μ •ν•˜λ©΄ λœλ‹€. λ‹€λ₯Έ μœ„μ ―μ˜ μƒλŒ€ μœ„μΉ˜μ— 배치 λ‹€λ₯Έ μœ„μ ―μ˜ μƒλŒ€μ  μœ„μΉ˜μ— λ°°μΉ˜ν•˜λŠ” κΈ°λŠ₯은 κΈ°μ€€ μœ„μ ―μ˜ id 값을 μ§€μ •ν•΄μ„œ μ‚¬μš©ν•œλ‹€. @+id/κΈ°μ€€ μœ„μ ― μ•„μ΄λ””μ˜ ν˜•μ‹μœΌλ‘œ μ‚¬μš©ν•˜λŠ”λ°, μƒν•˜μ’Œμš°λŠ” μƒν•˜μ’Œμš° layout_above layout_below l.. 2020. 5. 1.
[μ•ˆλ“œλ‘œμ΄λ“œ μŠ€νŠœλ””μ˜€] λ ˆμ΄μ•„μ›ƒ 닀루기 1. λ¦¬λ‹ˆμ–΄ λ ˆμ΄μ•„μ›ƒ(Linear Layout) LinearLayout λ¦¬λ‹ˆμ–΄ λ ˆμ΄μ•„μ›ƒμ€ κ°€μž₯ 많이 μ‚¬μš©λ˜λŠ” λ ˆμ΄μ•„μ›ƒ 으둜, μ™Όμͺ½ μœ„ -> μ•„λž˜, μ™Όμͺ½ μœ„ -> 였λ₯Έμͺ½μœΌλ‘œ μ°¨λ‘€λŒ€λ‘œ λ°°μΉ˜λ˜λŠ” λ ˆμ΄μ•„μ›ƒμ΄λ‹€. λ ˆμ΄μ•„μ›ƒμ— κ³΅ν†΅μ μœΌλ‘œ μ μš©λ˜λŠ” 속성이 μžˆλŠ”λ° λ‹€μŒκ³Ό κ°™λ‹€. 곡톡 속성 orientation : λ ˆμ΄μ•„μ›ƒ λ‚΄μ˜ μœ„μ ―μ˜ 수직 λ˜λŠ” μˆ˜ν‰ λ°©ν–₯을 μ„€μ • gravity : λ ˆμ΄μ•„μ›ƒ λ‚΄μ˜ μœ„μ ―μ˜ μ •λ ¬ λ°©ν–₯을 μ„€μ • padding : λ ˆμ΄μ•„μ›ƒ λ‚΄μ˜ μœ„μ ―μ˜ μ—¬λ°± μ„€μ • layout_weight : λ ˆμ΄μ•„μ›ƒμ΄ 전체 ν™”λ©΄μ—μ„œ 차지할 κ³΅κ°„μ˜ κ°€μ€‘κ°’μœΌλ‘œ, μ—¬λŸ¬ λ ˆμ΄μ•„μ›ƒμ΄ 쀑볡될 λ•Œ μ‚¬μš© baselineAligned : λ ˆμ΄μ•„μ›ƒ μ•ˆμ— λ°°μΉ˜ν•  μœ„μ ―μ„ 보기 μ’‹κ²Œ μ •λ ¬ orientation λ ˆμ΄μ•„μ›ƒμ˜ (수직, μˆ˜ν‰)μ •λ ¬ 방식을 μ •ν•˜λŠ” layout_orientation 속성은 2 개의.. 2020. 5. 1.