본문 바로가기

Language76

[TypeScript] 타입스크립트에서 타입힌트를 이용한 인자를 전달하는 방법 (기본, 인터페이스, 클래스) 기본적으로 사용하는 방법(인자를 파싱해서 전달해주는 방법) const person = { name: "eric", age: 25, gender: "male" } // 인자를 파싱해서 전달해주는 방법 const sayHi = (name: string, age: number , gender?: string): string => { return `Hello ${name}, you are ${age}, you are a ${gender}`; }; console.log(sayHi(name, age, gender)); 전통적인 방법이다. 파라미터들을 전달해준다. 인터페이스를 이용한 호출 interface Human { name: string; age: number; gender: string; } const per.. 2021. 12. 29.
[Python] Type Hint, Callable types Type Hint 파이썬에서 Type Hint는 다음과 같이 진행할 수 있다. 심플 타입일 경우 int_var: int = 88 str_var: str = "hello world" float_var: float = 88.9 bool_var: bool = True Type Hint라고 하는 이유는 아래 예제와 같다 int_var: str = 88 예를 들어, int_var 이라는 변수에 88이라는 값을 할당해주면 int형이지만 타입 힌트에서 str로 해줬을 경우 에러가 날 것 같지만, 에러가 나지 않는다. 말 그대로 힌트이기 때문에 타입 검사를 하지 않는다. 리스트일 경우 from typing import List, Tuple, Dict list_var: List[str] = ["1", "2", "3"] .. 2021. 12. 19.
[Python] 컴포지션(composition) 컴포지션(composition) 컴포지션은 다른 클래스의 일부 메서드를 사용하고 싶지만, 상속은 하고 싶지 않을 경우 사용합니다. 일반적으로 상속을 했을 때, 부모 클래스가 변하면 자식 클래스는 계속 수정되어야 한다. - 다른 클래스의 일부 메서드를 사용하고 싶지만, 상속은 하고 싶지 않을 경우 사용한다. - 상속 관계가 복잡할 경우, 코드에 대해 상세한 이해가 어려워 상속을 할 경우 위험성이 증가 - 상속 관계일 경우, 부모 클래스가 변하면 자식 클래스를 계속 수정되어야 한다. class Robot: __population = 0 def __init__(self, name, age): self.__name = name self.__age = age Robot.__population += 1 @prope.. 2021. 12. 16.
[Python] 캡슐화(encapsulation) - @property 와 getter와 setter의 개념 @property의 개념 class Robot: __population = 0 def __init__(self, name, age): self.__name = name self.__age = age Robot.__population += 1 def __say_hi(self): print(f"Greetings, my masters call me {self.__name}.") droid = Robot("R2-D2", 2) print(droid.__age)#에러 >>> AttributeError: 'Robot' object has no attribute '__age' 클래스 변수와 인스턴스 변수, 인스턴스 메서드를 위와 같이 private 형태로 만들었다고 하자. 이 경우에 droid 인스턴스에 __age로 .. 2021. 12. 14.