Java에 대해 배우기 위해 그 근간이 되는 객체지향 프로그래밍과 관련 개념들에 대해 정리해보고자 합니다. 해당 포스트는 자바 공식홈페이지를 참고(번역?)했습니다. What is an Object? 프로그래밍을 해봤으면, 객체지향 프로그래밍(Object-Oriented Programming, OOP)이라는 것에 대해 한번 쯤은 듣게 됩니다. 가장 먼저, OOP에서 객체(Object)가 무엇인지에 대해 간략히 정리를 해보고자 합니다. 객체란, 서로 관련된 상태와 행동을 하나로 묶어놓은 소프트웨어의 번들입니다. 이러한 객체는 모두 상태(state)와 행동(behavior)이 있다는 특징을 가지고 있습니다. 예를 들어, 개라는 객체는 이름, 색깔, 품종, 배고픔정도와 같은 상태와, 짖고, 꼬리를 흔들고, 물건..
OOP
composition이라는 강력한 기능에 대해 알아보고 실제로 코드에 어떻게 적용 할 수 있는지에 대해 알아보자. 만약, 타입스크립트와 OOP의 개념에 익숙치 않고 자세히 알고 싶다면 이전 글을 참고하자. Composition? composition이란 클래스 상속을 하지 않고 여러개의 클래스간에 관계를 맺는 방식을 의미한다. 근데 상속이라는 좋은 방법이 있는데 굳이 composition을 이용해야 하는 이유가 있을까? 우선, 아래 사진처럼 상속은 interface를 implements하는 것 처럼 여러개를 할 수가 없다. 상속을 이용하게 되면 결국 클래스 그 자체로 서로 의사소통을 해야 한다. 이렇게 되면 클래스간의 관계가 매우 견고해져 재사용성이 매우 떨어지게 된다. 그렇기 때문에 Compositio..
그 유명한 OOP(Object-Oriented Programming)!!! 어떠한 원칙들이 있는지, 그리고 이 원칙들을 코드에 어떻게 녹여 낼 수 있는지 알아보자. 우리는 여기서 헬스장을 OOP를 이용하여 만들어 볼 예정이다. 먼저, OOP없이 헬스장을 코딩했을 때와 OOP의 중요 4원칙을 적용했을 때 해당 코드가 어떻게 변하게 되는지 알아보자! OOP 없이 함수 만들어 보기 TypeScript를 이용하여 운동을 하는 함수를 만들어보자. 운동을 하면 근육량과 피로도가 증가하게 된다. type Muscle = { muscles: number; fatigability: number; }; let muscles = 0; let fatigability = 50; let deltaPerHour = 10; func..
TypeScript가 좋다는 말은 이미 많이 들었다. 근데 도대체 왜 사람들은 그렇게 TypeScript에 열광하는 것 일까? TypeScript에 대해 자세히 들어가기 전에 TypeScript가 무엇인지 왜 사용해야 하는 이유부터 알아보자. What is TypeScript? 공식 홈페이지에서는 TypeScript is JavaScript with syntax for types 라고 소개하고 있다. 즉, JavaScript 이지만, types를 지정할 수 있는 문법이 추가 됐다는 뜻이다. (superset of JavaScript) 이러한 TS(TypeScript)는 어떠한 특징들을 가지고 있을까? 1. TS는 자바스크립트의 superset이다. 그렇기 때문에 TS는 JS가 사용되는 모든 곳(node...