let num: Int? = 4


if let num = num 

{

 print(num)

}


옵셔널 바인딩 예제 보면서 궁금한게 생겼는데 


위에 예문처럼 바인딩 되는 num과 , optional 상수 num과 이름을 서로 같게 지을수도 있더라구...??


그래서 메모리주소가 서로 다른건가.. 하고 궁금해서 메모리에 대해서 찾아보니깐 


맨위에있는 num은 전역변수라 데이터영역 이라는곳에 할당이되고


if let num <-- 얘는 if라는 함수의 매개변수니깐 스택 이라는곳에 할당이 되어서

저둘은 서로 저장되는 위치가 다르기 때문에 같은 num이라고 이름을 지을수 있는거 맞아...?? 


그러면 또 궁금한게 if let num <-- 얘까지만 if라는 함수의 매개변수인거고 대입 시키는 = num은 <-- 얜 전역변수인거 맞지??

틀린 부분이 있다면 알려주랑 ㅜㅜ..

다들 복 많이 받아~~!