포스트

1주차 (2)

프로퍼티와 출력

1. 할당 연산자 (=)

  • A = B
    • B값을 A에 할당한다.
    • 이때 방향을 잘 확인하도록 하자!
1
2
3
4
5
6
7
8
9
10
let color = "purple"
print(color) // 출력값: purple

var foodName = "사과"
var fruitName = "포도"
foodName = fruitName
print(foodName) // 출력값 : 포도

// 변수 여러개를 한번에 선언하고 값을 할당하는 방법
var a = 1, b = 2, c = 3 

2. 저장 프로퍼티

  • let
    • 변경할 수 없는 상수를 선언할 때 사용한다.
1
2
let name = "철수"
name = "영희" // 🚨Error: Change 'let' to 'var' to make it mutable
  • var
    • 변경할 수 있는 변수를 선언할 때 사용한다.
1
2
var age = 10
age = 50

3. 연산 프로퍼티

  • var
    • 연산 프로퍼티는 그 때 그 때 계산한 값을 알려주기에, 값이 변하는 변수를 나타내는 var를 사용한다.
      • let은 당연히 사용할 수 없다.
    • 매번 계산하기에 값을 저장하지 않는다.
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
var x = 10
var y = 20
var z = 0

// 👇🏻 sum이 연산 프로퍼티
var sum: Int {
    get { // Get이 우리가 변수를 선언하고 일상적으로 쓰는 문법이다. 단지 평상시에 쓸때는 생략이 될뿐.
        return x + y
    }
    set { // 더한값을 특정한 변수(여기선 z)에 넣는다.
        z = x + y
    }
}

print(sum)
// 출력값: 30
print(z) // 30

// get, set 중 get만 필요한 경우에는 키워드 생략 가능
var sum1: Int {
		return x + y
}

// 아래와 같이 더 축약 가능
var sum2: Int {
		x + y
}

4. Print()

  • Console에 출력한다.
  • 보통 값을 확인하기위해 중간중간에 print를 넣어 값이 잘 전달되는지 확인할때도 사용한다.
1
print("Hello World 🌍") // 출력값: Hello World 🌍

5. 한 줄 텍스트

  • ” 내용 “ 을 사용하여 표현한다.
1
var greeting = "Hello World 🌍"

6. 여러 줄 텍스트

  • ””” 내용 “”” 을 사용하여 표현한다.
1
2
3
4
5
var greeting = """
		Hello 
		World 
		🌍 
	 	"""

7. 문자 보간법

  • String Interpolation(보간법)
  • \() 을 사용하여 표현.
  • 변수 또는 상수 등의 값을 문자열 내에 나타내고 싶을 때 사용한다.
1
2
3
4
5
let name = "정종"
var greeting = "Hello \(name) 🌍" // 출력값: Hello 정종 🌍

let height = 185
let myInfo = "My height is \(height) 🌍"  // 출력값: My height is 185 🌍

8. 한 줄 주석

  • // 내용 을 사용하여 표현
1
// 한 줄 주석

9. 멀티라인 주석

  • /* */ 을 사용하여 표현
1
2
3
4
5
/*
여러줄
주석
입니다
*/ 

함수

함수

  1. 기능의 수행:
    • 함수는 특정 작업이나 기능을 수행하는 코드의 블록이다.
    • 이 코드 블록은 호출될 때 실행되며, 함수 내에 정의된 코드들이 순차적으로 실행된다.
  2. 재사용성:
    • 함수는 코드를 모듈화하고, 같은 기능을 반복하여 사용할 수 있도록 한다.
    • 이는 코드의 중복을 피하고, 유지보수를 용이하게 만들어준다.
  3. 매개변수(Parameter):
    • 함수는 입력값을 받을 수 있다.
    • 이러한 입력값은 함수의 매개변수에 의해 받아들여진다.
    • 이 매개변수들은 함수 내부에서 사용되어 특정한 작업을 수행하는 데 활용된다.
  4. 반환값(Return Value):
    • 함수는 어떤 값을 반환할 수도 있다.
    • 반환값은 함수가 실행되고 작업이 완료된 후에 호출 지점으로 반환된다.
  5. 함수 타입:
    • Swift에서는 함수도 하나의 타입으로 취급될 수 있다.
    • 이는 함수를 다른 함수의 매개변수로 전달하거나 함수를 다른 함수의 반환값으로 사용할 수 있음을 의미한다.
    • 이를 통해 함수를 동적으로 조작하고 조합할 수 있다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
func 함수_이름(아규먼트_레이블: 파라미터_타입) -> 리턴_타입 {
  // ... 코드
}
// 네이밍 컨벤션으로 카멜케이스를 사용 (ex- methodName 🙆🏻‍♀️ / method_name 🙅🏻‍♀️)

func sayHi(friend: String) {
  print("Hi~ \(friend)!")
}
sayHi(friend: "영호")


func sayHi(to friend: String) {
  print("Hi~ \(friend)!")
}
sayHi(to: "영호")


func sayHi(_ friend: String) -> String {
  return ("Hi~ \(friend)!")
}
print(sayHi("영호"))
// 출력값: Hi~ 영호!

메서드

  1. 정의와 소속성:
    • 함수는 독립적으로 정의되어 있으며, 특정한 객체나 타입에 속해 있지 않다. 일반적으로 전역 범위에서 정의되거나 특정 범위 내에 내장된다.
    • 메서드는 클래스, 구조체, 열거형 등의 특정한 타입에 속해 있다. 객체 지향 프로그래밍에서 해당 객체의 특정한 기능을 수행하기 위해 사용된다.
  2. 호출 방식:
    • 함수는 직접적으로 호출된다. 예를 들어, addNumbers(5, 3)와 같이 함수 이름 뒤에 괄호를 사용하여 호출한다.
    • 메서드는 해당하는 객체 또는 타입에 대해 호출된다. 예를 들어, myObject.increment()와 같이 객체 또는 타입 인스턴스 뒤에 메서드 이름을 호출한다.
  3. 소속성:
    • 함수는 특정한 객체의 속성이나 상태에 접근할 수 없다. 함수는 주어진 매개변수를 받아들여 작업을 수행하고 값을 반환하는데 집중된다.
    • 메서드는 객체 또는 타입의 속성에 직접적으로 접근할 수 있다. 이는 메서드가 해당 객체의 상태를 변경하거나 속성에 접근하여 작업을 수행하는 데 사용된다.

정리

간단히 말해, 함수는 특정한 타입에 속하지 않으며 독립적으로 정의되고 호출된다. 반면에 메서드는 특정한 타입에 속해 있으며, 해당 타입의 인스턴스에 대해 작동하고 상태를 변경할 수 있는 함수이다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.