Deep_Dev
article thumbnail
[Swift 기초] μ ‘κ·Όμ œμ–΄

μ ‘κ·Όμ œμ–΄ μ ‘κ·Όμ œμ–΄ = 은닉화 μ ‘κ·Όμ œμ–΄λ₯Ό 톡해 상세 κ΅¬ν˜„μ€ 숨기고 ν—ˆμš©λœ κΈ°λŠ₯만 μ‚¬μš©ν•˜λŠ” μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ œκ³΅ν•œλ‹€. μ ‘κ·Όμ œμ–΄μ˜ ν•„μš”μ„± μ™ΈλΆ€μ—μ„œ λ³΄κ±°λ‚˜ μ ‘κ·Όν•˜λ©΄ μ•ˆλ˜λŠ” μ½”λ“œκ°€ 있기 λ•Œλ¬Έμ΄λ‹€. μ ‘κ·Όμˆ˜μ€€ public : 곡개 μ ‘κ·Όμˆ˜μ€€ μ–΄λ””μ„œλ“  쓰일 수 μžˆλ‹€. μŠ€μœ„ν”„νŠΈμ˜ κΈ°λ³Έ μš”μ†ŒλŠ” λͺ¨λ‘ 곡개 μ ‘κ·Όμˆ˜μ€€μœΌλ‘œ λ˜μ–΄μžˆλ‹€. open : 개방 μ ‘κ·Όμˆ˜μ€€ 곡개 μ ‘κ·Όμˆ˜μ€€ μ΄μƒμœΌλ‘œ 높은 μ ‘κ·Ό μˆ˜μ€€μ΄λ‹€. ν΄λž˜μŠ€μ™€ 클래슀의 λ©€λ²„μ—μ„œλ§Œ μ‚¬μš©ν•  수 μžˆλ‹€. 곡개 μ ‘κ·Όμˆ˜μ€€κ³Ό 개방 μ ‘κ·Όμˆ˜μ€€μ˜ 차이점 개방 μ ‘κ·Όμˆ˜μ€€μ„ μ œμ™Έν•œ λ‹€λ₯Έ λͺ¨λ“  μ ‘κ·Ό μˆ˜μ€€μ˜ ν΄λž˜μŠ€λŠ” κ·Έ ν΄λž˜μŠ€κ°€ μ •μ˜λœ λͺ¨λ“ˆ μ•ˆμ—μ„œλ§Œ 상속할 수 μžˆλ‹€. 개방 μ ‘κ·Όμˆ˜μ€€μ„ μ œμ™Έν•œ λ‹€λ₯Έ λͺ¨λ“  μ ‘κ·Όμˆ˜μ€€μ˜ 클래슀 λ©€λ²„λŠ” ν•΄λ‹Ή 멀버가 μ •μ˜λœ λͺ¨λ“ˆ μ•ˆμ—μ„œλ§Œ μž¬μ •μ˜ ν•  수 μžˆλ‹€. 개방 μ ‘κ·Όμˆ˜μ€€μ˜ ν΄λž˜μŠ€λŠ” κ·Έ..

article thumbnail
[Swift 기초] μΈμŠ€ν„΄μŠ€ 생성 및 μ†Œλ©Έ

μΈμŠ€ν„΄μŠ€ 생성 및 μ†Œλ©Έ μΈμŠ€ν„°λ₯Ό μƒμ„±ν•˜λŠ” 방법과 클래슀의 μΈμŠ€ν„΄μŠ€κ°€ μ†Œλ©Έν•  λ•Œ μ§„ν–‰λ˜λŠ” ν”„λ‘œμ„ΈμŠ€μ— λŒ€ν•΄μ„œ.. μΈμŠ€ν„΄μŠ€ 생성 μ΄ˆκΈ°ν™” κ³Όμ • = μƒˆλ‘œμš΄ μΈμŠ€ν„΄μŠ€λ₯Ό μ‚¬μš©ν•  μ€€λΉ„λ₯Ό ν•˜κΈ° μœ„ν•˜μ—¬ μ €μž₯ ν”„λ‘œνΌν‹°μ˜ μ΄ˆκΉƒκ°’μ„ μ„€μ •ν•˜λŠ” 일 μ΄λ‹ˆμ…œλΌμ΄μ €λ₯Ό μ •μ˜ν•˜λ©΄ μ΄ˆκΈ°ν™” κ³Όμ • 직접 κ΅¬ν˜„ κ°€λŠ₯ ( μ΄λ‹ˆμ…œλΌμ΄μ €μ˜ 역할은 κ·Έμ € μΈμŠ€ν„΄μŠ€μ˜ 첫 μ‚¬μš©μ„ μœ„ν•΄ μ΄ˆκΈ°ν™”ν•˜λŠ” 것뿐 ) init ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ μ΄λ‹ˆμ…œλΌμ΄μ € λ§€μ„œλ“œμž„μ„ ν‘œν˜„ 클래슀, ꡬ쑰체, μ—΄κ±°ν˜•μ˜ 기본적인 ν˜•νƒœμ˜ μ΄λ‹ˆμ…œλΌμ΄μ € Class SomeCLass{ init(){ // μ΄ˆκΈ°ν™”ν•  λ•Œ ν•„μš”ν•œ μ½”λ“œ } } struct SomeStruct{ init(){ // μ΄ˆκΈ°ν™”ν•  λ•Œ ν•„μš”ν•œ μ½”λ“œ } } enum SomeEnum{ case someCase init(){ // μ—΄κ±°ν˜•μ€ 초..

article thumbnail
[Swift 기초] ν”„λ‘œνΌν‹°μ™€ λ©”μ„œλ“œ

πŸ“–ν”„λ‘œνΌν‹°μ™€ λ©”μ„œλ“œ ν”„λ‘œνΌν‹° : 클래슀, ꡬ쑰체 λ˜λŠ” μ—΄κ±°ν˜• 등에 κ΄€λ ¨λœ κ°’ λ©”μ„œλ“œ : νŠΉμ • νƒ€μž…μ— κ΄€λ ¨λœ 힘수 πŸ“– ν”„λ‘œνΌν‹° μ €μž₯ ν”„λ‘œνΌν‹° : μΈμŠ€ν„΄μŠ€μ˜ λ³€μˆ˜ λ˜λŠ” μƒμˆ˜ μ—°μ‚° ν”„λ‘œνΌν‹° : 값을 μ €μž₯ν•œ 것이 μ•„λ‹ˆλΌ νŠΉμ • 연산을 μ‹€ν–‰ν•œ κ²°κ³Όκ°’ ( 클래슀, ꡬ쑰체, μ—΄κ±°ν˜•μ— μ‚¬μš© ) νƒ€μž… ν”„λ‘œνŒŒν‹° : νŠΉμ • νƒ€μž…μ— μ‚¬μš©λ˜λŠ” ν”„λ‘œνΌν‹° ( 클래슀 λ³€μˆ˜ ) ν”„λ‘œνΌν‹° κ°μ‹œμž = ν”„λ‘œνΌν‹°μ˜ 값이 λ³€ν•˜λŠ” 것을 κ°μ‹œ ( 값이 λ³€ν•  λ•Œ κ°’μ˜ 변화에 λ”°λ₯Έ νŠΉμ • μž‘μ—… μ‹€ν–‰ ) πŸ“Œ μ €μž₯ ν”„λ‘œνΌν‹° 클래슀 λ˜λŠ” ꡬ쑰체의 μΈμŠ€ν„΄μŠ€μ™€ μ—°κ΄€λœ 값을 μ €μž₯ν•˜λŠ” κ°€μž₯ λ‹¨μˆœν•œ κ°œλ…μ˜ ν”„λ‘œνΌν‹° var λ₯Ό μ‚¬μš©ν•˜λ©΄ λ³€μˆ˜ μ €μž₯ ν”„λ‘œνΌν‹° let 을 μ‚¬μš©ν•˜λ©΄ μƒμˆ˜ μ €μž₯ ν”„λ‘œνΌν‹° 🍎 ꡬ쑰체와 클래슀의 μ €μž₯ ν”„λ‘œνΌν‹° ꡬ쑰체의 μ €μž₯ ν”„λ‘œνΌν‹°κ°€ μ˜΅μ…”λ„μ΄ μ•„λ‹ˆλ”λΌ..

article thumbnail
[Swift 기초] ꡬ쑰체와 클래슀

ꡬ쑰체와 클래슀 ꡬ쑰체와 ν΄λž˜μŠ€λŠ” 데이터λ₯Ό μš©λ„μ— 맞게 λ¬Άμ–΄ ν‘œν˜„ν•˜κ³ μž ν•  λ•Œ μœ μš©ν•˜λ‹€. ꡬ쑰체의 μΈμŠ€ν„΄μŠ€ = κ°’ νƒ€μž… 클래슀의 μΈμŠ€ν„΄μŠ€ = μ°Έμ‘° νƒ€μž… ꡬ쑰체 ꡬ쑰체의 μ •μ˜ struct ν‚€μ›Œλ“œλ‘œ μ •μ˜ struct ꡬ쑰체 이름{ ν”„λ‘œνΌν‹°μ™€ λ©”μ„œλ“œλ“€ } BaicInformation ꡬ쑰체 μ •μ˜ struct BasicInformation{ var name: String var age: Int } ꡬ쑰체 μΈμŠ€ν„΄μŠ€μ˜ 생성 및 μ΄ˆκΈ°ν™” ꡬ쑰체 μ •μ˜λ₯Ό 마친 ν›„, μΈμŠ€ν„΄μŠ€λ₯Ό μƒμ„±ν•˜κ³  μ΄ˆκΈ°ν™”ν•˜κ³ μž ν•  λ•ŒλŠ” 기본적으둜 μƒμ„±λ˜λŠ” λ©€λ²„μ™€μ΄μ¦ˆ μ΄λ‹ˆμ…œλΌμ΄μ¦ˆλ₯Ό μ‚¬μš© μΈμŠ€ν„΄μŠ€κ°€ μƒμ„±λ˜κ³  μ΄ˆκΈ°ν™”λœ ν›„ ν”„λ‘œνΌν‹° 값에 μ ‘κ·Όν•˜κ³  μ‹Άλ‹€λ©΄ λ§ˆμΉ¨ν‘œ . μ‚¬μš© ꡬ쑰체λ₯Ό μƒμˆ˜ let으둜 μ„ μ–Έν•˜λ©΄ μΈμŠ€ν„΄μŠ€ λ‚΄λΆ€μ˜ ν”„λ‘œνΌν‹° 값을 λ³€κ²½ν•  수 μ—†κ³ , λ³€μˆ˜ v..

article thumbnail
[Swift 기초] μ˜΅μ…”λ„

μ˜΅μ…”λ„ μ˜΅μ…”λ„ = '선택적인'. 즉, 값이 μžˆμ„μˆ˜λ„ μ—†μ„μˆ˜λ„ μžˆμŒμ„ λ‚˜νƒ€λ‚΄λŠ” ν‘œν˜„ μ΄λŠ” 'λ³€μˆ˜λ‚˜ μƒμˆ˜ 등에 κΌ­ 값이 μžˆλ‹€λŠ” 것을 보μž₯ν•  수 μ—†λ‹€. 즉, λ³€μˆ˜ λ˜λŠ” μƒμˆ˜μ˜ 값이 nil 일 μˆ˜λ„ μžˆλ‹€'λŠ” 것 nil을 λ°˜ν™˜ν•˜κΈ° μœ„ν•΄ ν•„μš”ν•œ 것이 λ°”λ‘œ μ˜΅μ…”λ„ 였직 μ˜΅μ…”λ„ νƒ€μž…λ§Œ nil을 λ°˜ν™˜ν•  수 μžˆλ‹€. 즉, 일반 μžλ£Œν˜•μ€ nil을 κ°€μ§€κ±°λ‚˜ λ°˜ν™˜ν•  수 μ—†λ‹€. μ˜΅μ…”λ„ μ‚¬μš© μ˜΅μ…”λ„ λ³€μˆ˜ λ˜λŠ” μƒμˆ˜κ°€ μ•„λ‹ˆλ©΄ nil ν• λ‹Ή λΆˆκ°€ 였λ₯˜κ°€ λ°œμƒν•˜λŠ” nil ν• λ‹Ή var myName: String = "yagom" myName = nil // 였λ₯˜ nil은 μ˜΅μ…”λ„λ‘œ μ„ μ–Έλœ κ³³μ—μ„œλ§Œ μ‚¬μš©ν•  수 μžˆλ‹€. μ˜΅μ…”λ„ λ³€μˆ˜ λ˜λŠ” μƒμˆ˜ 등은 데이터 νƒ€μž… 뒀에 λ¬ΌμŒν‘œ ? λ₯Ό λΆ™μ—¬ ν‘œν˜„ν•΄μ€€λ‹€. 정상적인 nil ν• λ‹Ή var myName: Stri..

article thumbnail
[Swift 기초] ν•¨μˆ˜

πŸ“– ν•¨μˆ˜ πŸ“Œ ν•¨μˆ˜μ™€ λ©”μ„œλ“œ λ©”μ„œλ“œ : ꡬ쑰체, 클래슀, μ—΄κ±°ν˜• λ“± νŠΉμ •νƒ€μž…μ— μ—°κ΄€λ˜μ–΄ μ‚¬μš©ν•˜λŠ” ν•¨μˆ˜ 함 수 : λͺ¨λ“ˆ μ „μ²΄μ—μ„œ μ „μ—­μ μœΌλ‘œ μ‚¬μš©ν•  수 μžˆλŠ” ν•¨μˆ˜ πŸ’‘ ν•¨μˆ˜μ™€ λ©”μ„œλ“œλŠ” μ •μ˜ν•˜λŠ” μœ„μΉ˜μ™€ ν˜ΈμΆœλ˜λŠ” λ²”μœ„λ§Œ λ‹€λ₯Ό 뿐, μ •μ˜ν•˜λŠ” ν‚€μ›Œλ“œμ™€ κ΅¬ν˜„ν•˜λŠ” 방법은 κ°™λ‹€. πŸ“Œ ν•¨μˆ˜μ˜ μ •μ˜μ™€ 호좜 ν•¨μˆ˜λŠ” μ†Œκ΄„ν˜Έ()λ₯Ό μƒλž΅ν•  수 μ—†λ‹€. μŠ€μœ„ν”„νŠΈ ν•¨μˆ˜λŠ” μž¬μ •μ˜(μ˜€λ²„λΌμ΄λ“œ)와 쀑볡 μ •μ˜(μ˜€λ²„λ‘œλ“œ)λ₯Ό λͺ¨λ‘ μ§€μ›ν•œλ‹€. πŸ’‘λ”°λΌμ„œ λ§€κ°œλ³€μˆ˜μ˜ νƒ€μž…μ΄ λ‹€λ₯΄λ©΄ 같은 μ΄λ¦„μ˜ ν•¨μˆ˜λ₯Ό μ—¬λŸ¬ 개 λ§Œλ“€ 수 있고, λ§€κ°œλ³€μˆ˜μ˜ κ°œμˆ˜κ°€ 달라도 같은 μ΄λ¦„μ˜ ν•¨μˆ˜λ₯Ό λ§Œλ“€ 수 μžˆλ‹€. ν•¨μˆ˜λ₯Ό μ •μ˜ν•˜λŠ” ν‚€μ›Œλ“œ : func λ°˜ν™˜μ„ μœ„ν•œ ν‚€μ›Œλ“œ : return ν•¨μˆ˜μ΄λ¦„μ„ 지정해쀀 ν›„ λ§€κ°œλ³€μˆ˜λŠ” μ†Œκ΄„ν˜Έ() 둜 감싸쀀닀. λ°˜ν™˜νƒ€μž…μ„ λͺ…μ‹œν•˜κΈ° μ „μ—λŠ” -> λ₯Ό μ‚¬μš©ν•˜μ—¬..

article thumbnail
[Swift 기초] νλ¦„μ œμ–΄

πŸ“– νλ¦„μ œμ–΄ ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜λ‹€λ³΄λ©΄ νŠΉμ • μ‘°κ±΄μ—μ„œ μ½”λ“œλ₯Ό μ‹€ν–‰ν•΄μ•Ό ν•˜κ±°λ‚˜ μ‹€ν–‰ν•˜μ§€ 말아야 ν•˜λŠ” 상황이 생기기 λ§ˆλ ¨μ΄λ‹€. 또, νŠΉμ • λͺ…λ Ήμ–΄λ₯Ό λ°˜λ³΅ν•΄μ„œ μ‹€ν–‰ν•΄μ•Ό ν•˜λŠ” 일도 μ’…μ’… λ°œμƒν•œλ‹€. μ΄λŸ΄λ•Œ μ‚¬μš©ν•˜λŠ” 것이 쑰건문과 λ°˜λ³΅λ¬Έμ΄λ‹€. μŠ€μœ„ν”„νŠΈμ˜ νλ¦„μ œμ–΄ κ΅¬λ¬Έμ—μ„œλŠ” μ†Œκ΄„ν˜Έ()λ₯Ό λŒ€λΆ€λΆ„ μƒλž΅ν•  수 μžˆλ‹€. λ¬Όλ‘  μ‚¬μš©ν•΄λ„ λ¬΄κ΄€ν•˜μ§€λ§Œ μ€‘κ΄„ν˜Έ{} λŠ” μƒλž΅ν•  수 μ—†λ‹€. πŸ“– 쑰건문 πŸ“Œ if ꡬ문 μŠ€μœ„ν”„νŠΈμ˜ if ꡬ문은 쑰건의 값이 κΌ­ Bool νƒ€μž…μ΄μ–΄μ•Ό ν•œλ‹€. let first: Int = 5 let second: Int = 7 if first > second{ print("first > second") } else if first < second { print("first < second") } else { print("f..

article thumbnail
[Swift 기초] μ—°μ‚°μž

πŸ“– μ—°μ‚°μž ν• λ‹Ή μ—°μ‚°μž μ‚°μˆ  μ—°μ‚°μž 비ꡐ μ—°μ‚°μž μ‚Όν•­ 쑰건 μ—°μ‚°μž λ²”μœ„ μ—°μ‚°μž λΆ€μšΈ μ—°μ‚°μž λΉ„νŠΈ μ—°μ‚°μž 볡합 ν• λ‹Ή μ—°μ‚°μž μ˜€λ²„ν”Œλ‘œ μ—°μ‚°μž 기타 μ—°μ‚°μž πŸ“Œ 비ꡐ μ—°μ‚°μž 두 값을 비ꡐ할 λ•Œ μ‚¬μš© A==B A>=B AB A