Swift 문법종합반 기초 1주차

이유진·2024년 3월 6일
0

Swift 문법종합반

목록 보기
1/5

1-3 프로퍼티와 출력, 메서드

  • 함수 기능 수행: 특정 작업이나 기능 수행 재사용성: 모듈화, 같은 기능 반복해 사용 가능 매개변수(Parameter): 함수의 입력값은 매개변수에 의해 받아들여진다. 함수 내부에서 특정 작업 수행하는 데 활용 반환값(Return Value): 함수가 실행되고 작업이 완료된 후 호출 지점으로 반환 함수 타입: Swift 에서는 함수도 하나의 타입. 함수를 다른 매개 변수로 전달 가능, 다른 함수의 반환값으로 사용 가능
  • 메서드? 함수와 메서드는 유사한 기능 수행하지만, 몇 가지 차이 있음
    1. 정의와 소속성

      • 힘수: 독립적, 특정 객체 혹은 타입에 속하지 않음
      • 메서드: 특정 타입(클래스, 구조체, 열거형 등)에 속함
    2. 호출 방식
      - 함수: 직접 호출, 함수 이름 뒤 괄호 사용, addNumbers(5, 3)
      - 메서드: 객체 또는 타입에 대해 호출, 객체 또는 타입 인스턴스 뒤에 메서드 이름 호출, myObject.increment()

      간단히 말해 함수는 좀 더 전역적으로, 메서드는 객체 또는 타입 내부에서 사용된다!


1-5 연산자, 조건문과 반복문

  • 삼항 연산자 a ? b : c
    • question ? answer1 : answer2
      • question의 답 true 면 answer1, false면 answer2 값 사용
      • if-else문 간략히 표현

1-6 옵셔널 → 코드 적고 실행해보기

1-7 스택, 큐 → 코드 적고 실행해보기

1-8 세트, 딕셔너리 → 코드 적고 실행해보기


1-9 객체 지향

  • 객체 지향 프로그래밍 OOP (Object-Oriented Programming)
    • 프로그램 설계 방법론 중 하나
    • 객체: 대상을 나타내는 단어
    • 각 개체와 그 객체들간의 관계 설계하는 것
  • 특징
    • 추상화 Abstraction : 단순화, 필요한 정보만을 노출
    • 캡슐화 Encapsulation : 묶기
    • 상속 Inheritance : 다른 클래스에서의 재사용, 부모(상위,슈퍼)클래스와 자식(하위,서브) 클래스
    • 다향성 Polymorphism : 동일한 인터페이스 가진 다른 클래스 각각 방식으로 동작
      • 오버라이딩 Overriding : 상속, 부모 클래스 매서드 자식 클래스에서 재정의
      • 오버로딩 Overloading : 동일한 함수를 다양한 버전으로 정의

1-10 클래스, 구조체, 열거형

  • 클래스 Class
    • 이니셜라이저 Initializer 통해 초기값 설정
    • 인스턴스 Instance: 클래스에 소속된 객체
    • 프로퍼티 Properties
      • 클래스, 구조체, 또는 열거형 안의 변수 또는 상수
      • 저장 프로퍼티 Stored Properties : 값 저장,
      • 계산 프로퍼티 Computered Properties : 계산, 값 반환
    • 메서드 Methods
      • 클래스, 구조체, 또는 열거형 안의 함수
      • 동작 정의, 특정 작업 수행
      • 인스턴스 메서드 Instance Methods : 특정 인스턴스에 속하는 동작 정의, 상태 접근
      • 타입 메서드 Type Methods : 클래스 자체와 관련된 동작 정의
    • 참조 타입
      • 변수나 상수에 할당될 때 참조 복사, 동일한 인스턴스 공유
  • 구조체 Struct
  • 열거형 Enum

세 개를 만들어보는 연습 많이 해보기 :>

2개의 댓글

comment-user-thumbnail
2024년 3월 6일

오늘도 역시 정리 깔끔하시네요! 저도 코드를 많이 못 쳐봤는데 옵셔널, 클래스 등등 직접 연습 해보는 게 중요할 것 같아요!

답글 달기
comment-user-thumbnail
2024년 3월 6일

완강하셨나요? 개인 과제까지 해야하는데 시간이 부족?하네요. 오늘도 수고하셨습니다!

답글 달기