KxCoding 기초 문법 #1-2

이유진·2024년 2월 28일
0

Swift 문법

목록 보기
4/9

오늘은
- Naming Convetion
- Scope
- 메모리와 자료형
- Nuber Literals와 Number Types
에 대해 공부했다.


  • 1-10
    • Naming Convention
      • 이름 정의 규칙
      • 코드 가독성 높아짐
      • CamelCase
      • Swift에서 사용하는 Naming Convention
      • 이름에 포함된 첫 번째 문자를 표기하는 방법 규정
      • 두 개 이상의 단어가 포함되어 있을 때 단어를 구분하는 방법 규정
      • UpperCamelcase: Class, Structure, Enumeration, Extension, Protocol
      • lowerCamelCase: Variable, Constant, Function, Property, Parameter

  • 1-11
    • Scope 코드의 범위
    • 코드의 식별 범위, 접근 가능성, 메모리의 라이프 사이클 결정하는 중요한 요소
    • Global Scope
      • 전역범위
      • 범위 정하는 기준 { }
      • global scope는 어떤 { } 에도 속하지 않는다
    • Local Scope
      • 지역범위
      • 범위 정하는 기준 { }
      • 무조건 { } 안에 존재
      • 여러 단계로 중첩 가능
    • Declaration Scope
      • 정의를 내리는 scope
      • { } 안에 있지만 local scope가 아님
    • Scope 규칙
      1. 동일한 scope에 접근할 수 있다
      2. Global scope는 선언 순서에 관계 없이 접근할 수 있다
      3. 로컬 스코프에서 상위 스코프나 글로벌 스코프에 접근할 수 없다
      4. 글로벌 스코프가 아니면 이미 선언되어 있는 요소에만 접근 가능하다
      5. 상위 스코프는 하위 스코프에 접근할 수 없다
      6. 서로 다른 스코프에 동일한 이름이 존재하면 가장 가까운 스코프에 있는 이름을 사용한다 (계층과 선언 시점 함께 보고 판단)
      7. 글로벌 스코프가 아닌 다른 스코프는 시작과 끝이 명확해야 한다

  • 1-12
    • 메모리의 구조와 크기
      • 1byte 메모리에는 256개의 수 저장할 수 있다.
        (1byte 이진수로 바꾸면 8자리 → 2^8 = 256)
        (8자리 중 가장 앞에 있는 비트 → 최상위 비트(MSB)
        가장 뒤에 있는 비트 → (LSB))
      • 정수만 저장: 0~125, 음수양수 저장: -123~127
      • Binnary(바이너리): 메모리에 저장 전 이진수로 바꾸는 것
      • 정수 저장
        • 정수 저장 타입
        • Signed Type: 음수,양수,0 모두 저장
        • Unsigned Type: 0과 양수만 저장
        • Sign bit(부호비트)
          • 최상위 비트 이용해 양수, 음수 구분하는 비트
          • MSB 0 : Positive Number
          • MSB 1 : / Negative Number
          • 비트 하나를 부호 비트로 사용하기 때문에 데이터 저장 가능한 데이터 비트 줄어든다 → 저장 범위 줄어든다 → 현재는 사용하지 않는 방식
        • 2’s Complement(2의 보수 방식)
          • 현재 사용되는 방식
          • 양수의 비트 값 반전시켜 1을 더해 사용하는 방
          • Bitwise-NOT 연산
      • 실수 저장
        • 지수와 가수로 나누어 저장
        • 동일한 메모리 크기에서 정수보다 더 넓은 범위 저장 가능
        • 부동 소수점에는 오차가 있어 100% 정확한 값 저장 불가
    • 자료형 (Data Types)
      • Integer Types
        Floating-point Types
        Boolean Types
        Character Types
        String Types

  • 1-13
    • 코드에서 숫자를 사용하고 저장하는 방법
    • Number Literals
      실수 1.23
      - 정수 부분 생략 불가 0.23
      - 십진수 실수 → 지수 형태로 표현 1.23E4
      - 10진수 표현 접두어 0b
      - 8진수 표현 접두어 0o
      - 16진수 표현 접두어 0x
      - 금액 1_000_000

    • Number Types
      • Interger Types
        - 정수 저장하는 자료형
        - Int8(0,양수), UInt8(음수,0,양수)
        - 특별한 일 없으면 Int 사용

      • Floating-point Types
        - 실수 저장 자료형
        - Float(4byte), Double(8byte)
        - 보통 Double 사용

        정수 저장할 때는 Int, 실수 저장할 때는 Double 사용하면 된다!


0개의 댓글