인터페이스 3

[타입스크립트 1분 상식] 인터페이스 존재 이유(feat. type alias)

type alias vs interface type alias는 모든 타입에 이름을 달아줄 수 있음. interface는 객체 타입에만 가능. 그럼 객체 타입도 그냥 type alias로 이름 달아주면 되는 거 아닙니까? 하지만 type alias는 새로운 프로퍼티 정의가 불가능하고, interface는 가능하다. (같은 이름의 인터페이스에 새로운 타입을 선언할 수 있음) 그럼 왜 굳이 이렇게 확장 가능한 방법과 확장 불가능한 방법으로 나눠 놨습니까? type alias를 쓰는 게 좀 더 명확하긴 하다. 확장될 일이 없기 때문에. 하지만 interface를 활용해서 선언 병합을 하는 경우가 필요할 때도 있다. // @emotion/react/types export interface Theme {} // ..

타입스크립트 인터페이스

인터페이스와 타입 별칭 사이에는 몇 가지 차이점이 있다. 인터페이스는 속성 증가를 위해 merge할 수 있다. 이 기능은 내장된 전역 인터페이스 또는 npm 패키지와 같은 외부 코드를 사용할 때 특히 유용하다. 인터페이스는 클래스 구조의 타입을 확인하는 데 사용할 수 있지만 타입 별칭은 그 용도로 사용할 수 없다. 인터페이스는 이름 없는 객체 리터럴의 별칭이 아닌, '이름 있는 객체'로 간주되므로 특이한 오류 케이스를 좀 더 쉽게 읽을 수 있다. 속성 타입 선택적 속성 객체 타입과 마찬가지로 모든 객체가 필수적으로 인터페이스 속성을 가질 필요는 없다. 타입 애너테이션 : 앞에 ?를 사용해 인터페이스의 속성이 선택적 속성임을 나타낼 수 있다. interface Book { author?: string; p..

2022년 12월 15일 생활코딩 자바 기초

키워드 정리 객체 인터페이스 생성자, new 은닉화 메소드 객체는 비슷한 변수나 함수를 담는 그릇이다. 연관된 것끼리 모으고 관련 없는 것끼리는 분리시킨다. 객체는 부품이다. 여러 완제품에 재사용될 수 있는. 인터페이스는 장비(컴퓨터)와 장비(모니터)를 연결하는 역할(HDMI) 생성자는 객체(?)를 초기화시킨다. 예를 들어 객체에 '이름'이라는 요소를 넣고 싶을 때, '이름 : 하곤' 넣고 '하곤'을 반환하는 함수를 입력했다고 한다면, 다른 이름을 넣고 싶을 때는 매번 똑같은 함수를 입력해야 하는데, 생성자를 이용하면 맨 위에 함수 하나만 써놓고, 계속 이름 넣어가며 반환할 수 있다. 은닉화는 사용자가 부품의 기본적인 사용법만 알면 되게끔 어려운 기동 원리를 숨겨두는 것을 말한다. (확실하진 않음. 이런..