자료형 6

타입이 다른 변수끼리의 결합

스위프트에서는 서로 다른 타입의 변수나 상수끼리의 결합 연산은 허용되지 않음 var gd = "내 희망키는" var height = 185 var height = gd + String(height) 타입 추론에 의하여 gd는 String 타입, height는 Int타입이 되겠쥬?? "내 희망키는 185" 라는 문자열을 만들어내고 싶지만 서로 타입이 다르기 때문에 단순히 두 변수간의 결합은 불가능함 그래서 타입을 바꿔볼까?? 해도 변수와 상수는 타입을 변경할 수가 없음... 변수의 값을 다른 타입으로 변경해야 할 필요가 있다면, 바꾸고자 하는 타입의 새로운 객체를 명시적으로 생성해야함 이때 객체는 보통 변수나 상수를 의미함 스위프트의 기본자료형 객체들은 다른 타입의 값을 자신의 타입에 맞게 변환하여 새로운..

타입 추론과 타입 어노테이션

스위프트의 특성 중 설계에 의한 안전성 (Safety by design)이라는 항목이 있음 아키텍처적인 안전성을 담보하기 위해 스위프트가 여러 장치를 도입했는데 이중 하나가 타입 추론 기능임 타입추론?? 변수나 상수를 초기화 할때 입력된 값을 분석하여 변수에 적절한 타입을 컴파일러가 스스로 추론하는 기능임 초기값에 "HI!" 가 입력되면 아 문자열타입이니 String타입이겠군 판단하는거임 이때문에 우리가 변수나 상수에 명시적으로 타입을 지정해 주지 않아도 왠만한 값들은 타입추론을 이용해 적절한 타입이 지정됨... 타입 어노테이션(Type annotation)이란?? 변수나 상수를 선언할 때 그 타입을 명시적으로 선언 해 줌으로써 어떤 타입의 값이 저장될 것인지를 컴파일러에 직접 알려주는 문법임 var y..

Double & Float - 기본 자료형

Double 타입 - 64bit 부동소수점 자료형(소수점 아래 15 ~ 16) Float타입 - 32bit 부동소수점 자료형(소수점 아래 7~8) Double 타입이 사용되는 경우 1. Float 타입보다 넓은범위의 소수점 아래 값을 저장하기위함 2. 정확해야 하는 부동소수점 값이나 엄청 넓은 범위의 실수값을 저장하기위함 *메모리에서 차지하는 크기가 Float보다 크다

UInt - 기본자료형

UInt란?? Unsigned Integer의 줄임말로 부호가 없는 정수를 뜻함 양수만 저장할 수 있는 UInt는 Int에 비해 플러스 범위의 정수에 대해서 두배 큰 범위까지 저장할 수 있음 때문에 양의 정수 범위만 필요한 나이, 물건의 개수, 인원, 반복횟수 같은 예제에 효율적임 자료형 저장할 수 있는 값의 범위 크기 UInt8 0 ~ 255 8bit UInt16 0 ~ 65,535 16bit UInt32 0 ~ 4,294,967,295 32bit UInt64 0 ~ 18,446,744,073,709,551,615 64bit UInt 타입에 따른 값의 범위 *UInt는 서브 자료형 상관없이 최소값이 0이다. * 서브 자료형별 최대값 = (Int 서브 자료형의 최대값 ✖️2) + 1

Int - 기본자료형

Int Integer의 줄임말로 부호 있는 정수값을 저장하는데 사용되는 자료형 즉 -5,-4,-3,-2,-1,0,1,2,3,4,5 등 마이너스의 정수부터 플러스 범위의 정수값까지 모두 저장 + 0 하지만 B.U.T 벗!! 무한대에 가까운 모든 정수값을 저장할 수는 없음 컴퓨터의 CPU 사양에 따라 정수값의 범위에 제한이 있음 만약 8bit의 CPU를 가지고 있다면 2⁸인 256개의 값을 저장할 수 있어유 -128 ~ 127까지 저장을 할 수 있다는 뜻이쥬 *플러스범위 시작지점은 0으로 0부터 127까지 총128개 마이너스범위 시작지점은 -1로 -1부터 -128까지 총 128개임 그래서 총 256개의 값을 저장하니 범위가 -128 ~127인거임 그러면 Int8만 있는거냐?? 그건 절대 아니쥬 자료형 저장할..

자료형

만약에 컴퓨터가 입력받은 값이 7이라고 가정을 해보겠음 근데 이 7이 '문자'인지 , '숫자' 인지 알 수가 없잖음?? 문자로 받아 들이게 되면 컴퓨터는 아스키 코드 로 변환시켜 저장함 숫자로 받아 들이면 그대로 숫자 7로 값을 저장함 때문에 변수나 상수에 할당된 값을 타입에 따라 명확하게 구분해주지 않으면 어떻게 처리해야 할지 기준이 모호해짐 더해서 문자인지 숫자인지에 따라 메모리 크기도 달라짐 이렇기 때문에 문자인지 숫자인지를 알려주면 되지 않겠음?? 그래서 자료형으로 명확하게 정의해야 함 자료형?? 변수나 상수를 정의할 때 반드시 숫자, 문자, 문자열, 논리 등 타입을 지정하고 그에 맞추어 사용함 이를 데이터타입(Data Type), 즉, 자료형이라함 *변수나 상수는 처음 입력되는 값에 맞는 자료형..