분류 전체보기

오늘 배운 내용 📚 사용자 정의 타입 - 리터럴, 유니온 타입 별칭과 타입 가드 클래스 객체 지난 수업에 이어서 사용자 정의 타입에 대해서 수업을 진행하였습니다. 지난 수업에서 배웠던 enum과 리터럴 타입이 유사하다 느껴어서 어려움이 없었고 유니온타입같은 경우에도 여러 타입을 이용할때 any를 사용하기 보다 유니온 타입을 이용해야겠다 느꼈습니다. 그리고 이러한 사용자 정의 타입들을 정의할 수 있는 타입별칭과, 각 타입별로 대입할때 발생할수 있는 에러를 막을 수 있는 타입가드를 생각을 하고 있어야 겠다 생각이 들었습니다. 그리고 타입스크립트의 마지막으로 클래스를 알려주셨는데요 마지막인 만큼 가장 이해하기 어려웠던것 같습니다. 일단 많이 사용해보지 않아서 사실 퍼블리셔로 일하면서 클래를 사용해본적이 전무하..
오늘 배운 내용 📚 사용자 정의 타입 - class, interface 오버로딩 오버라이딩 람다 사용자 정의 타입의 마지막은 class와 interface가 장식을 했습니다. class는 수업듣기전 혼자 node 독학을 하면서 써본게 처음이자 다였습니다. 그리고 최근에 클래스형을 쓰니 함수형을 쓰니 이야기 나왔던것같아 왜 클래스형보다 함수형을 쓴다는 이야기가 나왔을까 생각을 해보았습니다. 일단 클래스형과 함수형을 비교를 하자면 일단 클래스형은 복잡하다고 느꼈고 상대적으로 함수형은 코드가 간결하다 느꼈습니다. 때문에 클래스형을 사용하지 않는건가 그래도 각 코드에는 장단점이 있으니 이번 수업을 들으면서 클래스의 장점을 찾아보자 하면서 수업을 들었습니다. 확실히 수업을 들으니 이전보다는 클래스에 대한 이해도가..
타입스크립트에서 타입 명시하기 타입 명시는 변수를 선언할 때 타입을 명시함으로써 변수의 데이터 타입을 지정하는 것을 말합니다 let x : string = "문자열"; let y : number = 2 //"정수(숫자)"; 타입 추론을 통해서 타입을 정할 수도 있는데 이렇게 타입 명시를 해주는 이유는 변수의 타입을 모호하게 설정하는 게 아니라 정확하게 설정을 할 수 있기 때문입니다. 만약 타입에 맞지 않는 값을 대입하면 컴파일에러-syntax error가 발생하게 되니 주의해서 사용해야 합니다. 변수의 데이터 타입 명시 let stdId: number = 1111; let stdName: string = "kim"; let age: number = 20; let gender: string = "male"..
타입추론이란? 타입스크립트에서 타입을 지정하지 않았음에도 불구하고 할당된 값으로 타입을 추론하여 결정하는 것을 말합니다. let name = 'lee'; name = 1; // error name이라는 변수에 'lee'가 갑으로 들어가면서 name의 타입은 string으로 설정이 되었고 이 상태에서 name 값을 1로 변경하면 타입이 string이 아니어서 에러가 발생하게 됩니다. 즉, 타입스크립트는 타입을 명시하지 않아도 타입추론을 통해서 변수의 타입을 판단할 수 있다는 건데요. 이때 타입추론은 컴파일러가 처음으로 할당된 값을 기준으로 타입을 추론을 하게 되는 것입니다. 하지만 제일 좋은 건 바로 명시적으로 타입을 지정하는 것입니다. 왜냐하면 타입추론이 모호한 경우나 복잡한 로직에서는 타입추론에서 잘못..
타입스크립트란? 타입스크립트는 자바스크립트의 단점을 보완하고자 나온 언어로 자바스크립트 기반보다 타입을 지정함으로 인해 버그를 줄일 수 있고 유지보수가 쉽습니다. 타입스크립트를 배우기 전에 알아두면 좋은 지식은 총 세 가지가 있습니다. 첫 번째로 데이터 타입에 대해서 알고 있어야 합니다. 두 번째로는 변수나 동적메모리의 동작원리에 대해서 알아두면 좋고 마지막으로 객체 지향 철학에 대해 알고 계시면 많은 도움을 받을 수 있습니다. 타입스크립트 환경과 자바스크립트 환경을 비교해 보면 타입스크립트 환경의 경우 자바스크립트가 동작하지만 자바스크립트 환경의 경우 타입스크립트가 동작하지 않습니다. 데이터 타입을 명시하면 어떻게 좋을까요? 테이터 타입을 명시하지 않는 자바스크립트는 변숫값을 정확하게 알 수 없어서 매..
C언어 실습 : online C compiler Day 47 평가 문제 코드 사용자로 부터 1개의 정수를 입력받아 입력받은 수에 5를 곱한 결과를 출력 하시오. int main() { int input; scanf("%d", &input); int multi = input * 5; printf("%d에 5를 곱한 수는 %d 입니다.", input, multi); } 사용자로부터 알파벳 문자 하나를 입력받아 이에 해당하는 숫자를 출력하시오. (A를 입력하면 출력결과는 65가 나와야합니다) int main() { char ch1; scanf("%c", &ch1); printf("%c의 아스키 번호는 %d 입니다.", ch1, ch1); } Day 48 평가 문제 코드 사용자로부터 3개의 정수를 입력받아 3개..
함수 함수를 사용하는 이유 함수는 긴 코드를 분리하여 처리하기 위한 목적으로 가독성을 향상시킬 수 있고, 유지 보수나 확장에 용이합니다. 때문에 함수는 코드에서 없어서는 안되는 존재가 됐는데요, 요즘 클래스형 코드에서 함수형 코드로 많이 바뀐 이유도 그 이유입니다. 대부분의 프로그래밍 언어들은 함수의 집합체라고도 할 수 있는데요. 함수는 서로 연동되기도 유기적으로 동작하기도 합니다. 함수의 종류 함수는 크게 표준함수와 사용자 정의함수로 나뉩니다. 표준 함수는 언어에서 기본적으로 제공되는 함수를 말하는데요. 우리가 사용하는 console.log, printf와 같은 것을 말합니다. 표준함수는 사용하다보면 기능적으로 한계가 존재하는데요 이때 사용자 정의 함수를 사용하기도 합니다. 사용자 정의함수는 표준함수처..
연산자 연산자란 정적인 데이터들을 유기적으로 행동하여 새로운 가치를 창출해 내는 것을 말하며 우리가 많이 아는 산술연산자도 여기에 포함이 되며 산술연산자뿐만 아니라 대입연산자, 부호연산자, 증감연산자, 관계연산자, 논리연산자, 비트연산자 등이 존재합니다. 산술연산자 사칙연산을 말하며 일상에서 가장 많이 사용되는 연산자입니다. 종류 의미 예시 + 부호의 왼쪽과 오른쪽의 값을 더한다 1 + 2 = 3 - 부호의 왼쪽 값에서 오른쪽 값을 뺀다. 5 - 2 = 3 * 부호의 왼쪽 값에서 오른쪽 값을 곱한다. 2 * 3 = 6 / 부호의 왼쪽 값을 오른쪽 값으로 나눈다. 6 / 2 = 3 % 부호의 왼쪽 값에서 오른쪽 값으로 나눈 값의 나머지를 반환한다. 3 % 2 = 1 대입연산자 대입 연산자는 오른쪽에 부호의..
오늘 배운 내용 📚 함수포인터 객체지향 프로그래밍 사용자 정의 타입 - 구조체, 공용체, enum 추가 정리 내용 📑 메모리 구조와 할당 처음에 함수포인터를 보고 전날에 배운 포인터와 함수라는 연결이 되는 건 줄 알고 이걸 왜 날짜를 나눠서 올렸을까 생각을 했었습니다. 하지만 영상을 통해 확인한 내용은 완전 다른 수준이었습니다. 그리고 자바스크립트나 타입스크립트에서는 사용을 안 하겠지만, 나중에 보고 둘이 같은 걸로 착각할까 싶어 함수포인터와 포인터와 함수를 링크로 연결해 놓았습니다. 그리고 객체지향을 배우면서 말로는 객체지향 객체지향하는데 정확하게 객체지향이 무엇일까 생각했는데 그 궁금증이 오늘에서야 풀렸습니다. 하지만 풀린 거랑은 별개로 내가 짠 코드가 객체지향이 아닐 수도 있겠구나 싶었습니다. 그 ..
코드둥
'분류 전체보기' 카테고리의 글 목록 (4 Page)