투케이2K

50. (TWOK/ALGORITHM) [Swift] 문법 - VO (Value Object) 클래스 , 구조체 선언 및 생성자 초기화 , get 호출 - get , 불변 데이터 본문

투케이2K 알고리즘

50. (TWOK/ALGORITHM) [Swift] 문법 - VO (Value Object) 클래스 , 구조체 선언 및 생성자 초기화 , get 호출 - get , 불변 데이터

투케이2K 2022. 8. 17. 18:33
반응형

[환경 설정 및 설명]

언 어 : Swift

설 명 : 문법 - VO (Value Object) 클래스 , 구조체 선언 및 생성자 초기화 , get 호출 - get , 불변 데이터

 

[소스 코드]

     /*
     [요약 설명]
     1. class : 클래스를 지정합니다 : 클래스는 상속이 가능
     2. struct : 구조체를 지정합니다 : 구조체는 상속이 불가능
     3. init : 클래스 및 구조체 생성자 초기화를 지정합니다
     */
    
    
    
    // [class 클래스 생성 실시 : 상속이 가능]
    class User_Class {
        var name: String?
        var age: Int?
        
        // 클래스 생성자 초기화 실시
        init(name: String, age: Int){
            // [전역 변수 = 파라미터 값]
            self.name = name
            self.age = age
        }
        
        // 리턴 함수 정의 실시
        func getName() -> String { // name 값을 String 형태로 리턴
            if let data = self.name { // 전역 변수가 nil 아닌 경우
                return data
            }
            else {
                return ""
            }
        }
        
        // 리턴 함수 정의 실시
        func getAge() -> Int { // age 값을 int 형태로 리턴
            if let data = self.age { // 전역 변수가 nil 아닌 경우
                return data
            }
            else {
                return 0
            }
        }
    }
    
    
    
    // [struct 구조체 생성 실시 : 상속 불가능]
    struct User_Struct {
        var name: String?
        var age: Int?
        
        // 구조체 생성자 초기화 실시
        init(name: String, age: Int){
            // [전역 변수 = 파라미터 값]
            self.name = name
            self.age = age
        }
        
        // 리턴 함수 정의 실시
        func getName() -> String { // name 값을 String 형태로 리턴
            if let data = self.name { // 전역 변수가 nil 아닌 경우
                return data
            }
            else {
                return ""
            }
        }
        
        // 리턴 함수 정의 실시
        func getAge() -> Int { // age 값을 int 형태로 리턴
            if let data = self.age { // 전역 변수가 nil 아닌 경우
                return data
            }
            else {
                return 0
            }
        }
    }
    
    
    
    // [테스트 메인 함수 정의 실시]
    func testMain(){
        print("[Program Start]")
        print("")
        
        // [클래스 객체 생성 및 데이터 확인 실시]
        var userClass = User_Class(name: "투케이", age: 28) // 클래스 생성자 초기화 값 삽입
        print("[class] : [init] : [name] : ", userClass.getName()) // 함수 호출 값 확인
        print("[class] : [init] : [age] : ", userClass.getAge()) // 함수 호출 값 확인
        
        // [클래스 변수 값 변경 및 재호출 실시]
        userClass.name = "twok" // set 함수를 생성해서 넣는 방법도 있습니다
        print("[class] : [update] : [name] : ", userClass.getName()) // 함수 호출 값 확인
        print("")
        
        
        // [구조체 객체 생성 및 데이터 확인 실시]
        var userStruct = User_Struct(name: "투케이", age: 28) // 구조체 생성자 초기화 값 삽입
        print("[struct] : [init] : [name] : ", userStruct.getName()) // 함수 호출 값 확인
        print("[struct] : [init] : [age] : ", userStruct.getAge()) // 함수 호출 값 확인
        
        // [구조체 변수 값 변경 및 재호출 실시]
        userStruct.name = "twok" // set 함수를 생성해서 넣는 방법도 있습니다
        print("[struct] : [update] : [name] : ", userStruct.getName()) // 함수 호출 값 확인
        print("")
    }

 


[참고 사이트]

https://kkh0977.tistory.com/1307?category=1034882

 

12. (swift/xcode) class 클래스 , struct 구조체 생성 및 init 생성자 초기화 실시

[개발 환경 설정] ​ 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] ​ /* [요약 설명] 1. class : 클래스를 지정합니다 : 클래스는 상속이 가능 2. struct : 구조체를 지정합니다 : 구조체는 상속이 불가능 3

kkh0977.tistory.com


 

반응형
Comments