본문 바로가기

728x90

전체 글

[TypeScript] 추상클래스(Abstract Class)란 무엇이고 어떻게 쓰는걸까? 타입스크립트에서 추상 클래스는 인스턴스를 생성할 수 없는 클래스로서, 다른 클래스에서 상속하여 사용하기 위해 설계됩니다. 추상 클래스는 일반적으로 하나 이상의 추상 메서드를 포함하며, 이러한 메서드는 구현 코드가 없는 메서드로서 하위 클래스에서 구현해야 합니다. 추상 클래스는 abstract 예약어를 사용하여 정의할 수 있으며, 하위 클래스에서 구현되어야 하는 추상 메서드는 abstract 키워드와 함께 메서드 이름과 파라미터를 정의합니다. 추상 클래스 내의 일반 메서드는 하위 클래스에서 오버라이드하여 구현할 수 있습니다. 예를 들어, 다음과 같은 추상 클래스를 정의할 수 있습니다. abstract class Shape { abstract area(): number; } class Circle exten.. 더보기
[TypeScript] 다형성(Polymorphism)과 제네릭(Generic) 다형성(Polymorphism)은 하나의 인터페이스, 클래스, 함수가 여러 다른 타입의 매개변수 또는 반환 값으로 동작할 수 있는 능력을 말합니다. 즉, 하나의 코드가 다양한 타입의 데이터에 대해 유연하게 작동할 수 있도록 만드는 것을 말합니다. 이는 코드의 재사용성과 유연성을 높여주는 중요한 개념 중 하나입니다. 다형성은 크게 두 가지 유형으로 나뉩니다. 매개변수 다형성(Parameter Polymorphism) 하나의 함수가 여러 다른 타입의 매개변수를 받아들일 수 있는 능력입니다. 예를 들어, console.log() 함수는 문자열, 숫자, 객체 등 다양한 타입의 값을 인자로 받아 출력할 수 있습니다. 반환값 다형성(Return Type Polymorphism) 하나의 함수가 여러 다른 타입의 반환.. 더보기
[TypeScript] 오버로딩(OverLoading) 이란? TypeScript에서 오버로딩(OverLoading)은 같은 이름의 함수를 여러 번 정의하되, 매개변수의 타입, 개수, 반환값의 타입 등을 다르게 하여 구현하는 것을 말합니다. 즉, TypeScript에서 오버로딩을 사용하면, 함수를 호출할 때 전달되는 매개변수의 타입과 개수를 판단하여 해당 매개변수와 일치하는 시그니처를 가진 함수를 호출하게 됩니다. 다음은 TypeScript에서 오버로딩을 사용한 함수의 예시입니다. function add(a: number, b: number): number; function add(a: string, b: string): string; function add(a: any, b: any): any { return a + b; } console.log(add(1, 2).. 더보기
[JavaScript] 1에서부터 주어진 숫자까지 홀수 구하기 (짝수는 싫어요) 프로그래머스 Day3의 마지막 문제이다. 이번에는 앞의 두 문제가 난이도가 있어서 그랬는지 매우 쉽게 풀었다. 짝수는 싫어요 문제 매개변수는 1~99 중 하나의 정수이다. 주어진 매개변수까지 홀수로 오름차순 정렬 된 배열을 return 한다. 문제풀이 방법 앞에 작성했던 몫값을 구하는 방법을 사용해서 문제풀이를 진행했다. 반복문을 만들어 충족되는 값이면 배열에 추가하는 방법이다. 1. n값만큼 증가하는 반복문을 만든다. 2. 안에 i % 2 = 1 을 충족하는 i를 answer의 배열에 push한다. function solution(n) { let answer = []; for (let i = 0; i 더보기
[JavaScript] 배열(Array)에서 최빈값 구하기 프로그래머스 LV0 Day3에 있는 최빈값 구하기 문제이다. 레벨0인데도 문제를 풀이하는데 1시간 이상의 시간을 소요하는 것 같다.. 자괴감이 든다 일단 내 수준에선 하나에 여러 기능을 한번에 담는것은 힘들어 하나씩 진행했다. 이번에도 문제를 풀어보고 기억하기 위해 풀이방법을 작성해보았다. 최빈값 구하기 문제 매개변수는 정수로만 이루어진 배열(Array) 이다. 주어진 매개변수에서 최빈값을 구해 return 한다. 최빈값이 여러개일 경우 -1을 return 한다. 문제풀이 방법 배열의 숫자와 개수를 기록할 수 있는 오브젝트를 만든 뒤 오브젝트의 value(개수) 중 가장 높은 값을 찾아 그 key(숫자)값을 반환한다. 그리고 반환 과정에서 최빈값이 2개 이상인지 확인한다. 1. 빈 오브젝트를 만든다. 2.. 더보기
[JavaScript] 배열(Array)에서 중앙값 구하기 프로그래머스 레벨0 문제를 풀기 시작했다. day3의 첫 번째 문제까지는 아주 쉽게 지나갔지만 이 문제부터 풀이에 시간이 걸리기 시작했으며 JavaScript에서 지원하는 기능을 사용하거나 for / if / while 등을 활용하여 문제를 풀어야 했다. 중앙값 구하기 문제 - 무작위로 입력된 홀수 길이의 배열에서 중앙에 위치한 값을 구한다. - 정수 배열만 주어진다. - 배열의 길이는 0 < Array < 100 - -1,000 < Array < 1,000 사이의 무작위 숫자 문제풀이 방법1 아래 방법은 배열을 크기로 정렬을 해준 뒤 양쪽 끝을 제거해가며 마지막 남은 중앙 값 하나를 남기는 방법으로 코드를 작성했다. 1. 무작위 숫자로 주어진 배열을 크기의 순서대로 정렬한다. 2. 배열의 길이를 계산하.. 더보기
월 4만원대 이하 요금제라면 통신사 약정말고 자급제폰 사세요... 제발 ✔ 해당 글은 월 6만원 이상의 요금제를 사용하시는 분들, 그리고 일명 '성지'를 통해 불법보조금까지 더 받고 개통하시는 분들에게는 자급제가 아닌 기존 개통 방법이 비슷하거나 더 저렴할 수 있습니다. 이 글에서 구매한 갤럭시S22 Ultra 512G 제품은 100% 작성자의 사비로 구매하였습니다. 이 포스팅을 쓰게 된 계기는 기존에 잘 쓰던 폰이 갑자기 맛이 가면서 계획에도 없던 S22 Ultra 512G를 구입하게 되었습니다 ㅠㅠ 기존 통신사 약정 노예였던 제가 자급제폰으로 전환하게 된 계기와 어떤 것이 더 이득인지 계산해보고 여러분들도 제가 사용하는 월 요금액과 비슷하다면 스마트폰 교체를 할 때 한번 고려해보시면 좋을 것 같아서 작성합니다! 이번엔 폰을 좀 오래 사용했네요. 18년도에 막 출시되서 구.. 더보기
[JavaScript] Promise대신 사용할 수 있는 async / await 2017년에 나왔고 ES6라고 할 수는 없고 ES8부터 Promise를 대신하여 사용할 수 있는 문법이 있습니다. async / await이라는 키워드입니다. 이 키워드는 Promise와 then을 더 쉽게 만들어주는 문법입니다. async / await async 키워드를 사용하면 Promise 오브젝트가 자동으로 생성됩니다. 이 키워드는 function 선언 앞에서만 붙일 수 있습니다. async function fc(){ 1+1; } function앞에 async를 붙임으로써 fc()는 Promise가 되었습니다. 이제 fc()는 then을 사용할 수 있습니다. async function fc(){ return 1+1; } fc().then(function(result){ console.log(re.. 더보기

728x90