2024.05.03 이번 주간도 과제 요약제출 'ㅅ'
- 클래스의 기본
- 생성자
- 상속성
- 오버로딩
- 오버라이딩
- 인터페이스
- 람다
클래스의 기본
- 눈에 보이는 속성 = 상태 = 필드
- 행위 = 행동 = 메소드
클래스
: 추상적인 데이터 타입(클래스의 본질)
클래스 선언은 이렇게
: class 클래스 이름
접근 지정자
: public/ protected/ private
객체에서도 변수라고 하게되면 얘가 객체의 변수인지 기본타입의 변수인지 알 수 없어서
클래스 타입으로 선언한 변수를 객체라고 부르는 것
new Dog
라는 코드는 실제 dog라는 객체의 데이터 사이즈만큼 자동계산해서 메모리 할당
생성자
모든 변수는 선언시 초기화를 해야 함
객체도 본질적으로는 변수라 당연히 초기화 필요
상속성
현실 세계의 상속 개념(부모 - 자식)
이미 완성된 클래스를 다른 클래스에 상속할 수 있음
다형성
함수의 이름이 같더라도 전달인자의 타입이나 개수에 따라 구분
오버로딩, 오버라이딩
오버로딩
겉모습은 똑같지만 내용이 다른 경우
이름이 같아도 전달인자 타입이나 개수 다를 경우
e.g. 스타크래프트 저그 - 오버로드 유닛
오버로드 유닛이 수송기인데 다 똑같이 생겼지만
그 안에 여러 애들을 태울 수 있음
오버로드1 - 저글링 네마리
오버로드2 - 히드라 리스크 네마리
오버로드3 - 럴커 네마리
= 겉모습으로는 구분 불가(그치만 타고있는 타입이 달라서 서로 다른 유닛으로 인식)
오버라이딩
기존의 것을 덮어버리는 개념
상속의 개념이 기반
인터페이스
본질은 타입(사용자 정의 타입)
메소드 목록만 선언하고 구현은 X
사용하는 이유
: 기존 기능 추가하거나 수정보다는, 동일한 개념의 기능 새롭게 구현
= 그래서 명세 목록만 작성함(실제 구현은 X)
람다
화살표 함수를 이해해보자
JS에서 주로 콜백함수(익명 메소드) 사용
익명 메소드와 화살표 함수
: 원조가 람다식
콜백함수가 익명 메소드를 사용하는 이유?
: 꼭 익명으로 정의하란 법은 없음
기본적으로 함수는 함수이름을 통해 호출하게 되어있음
(일반적으로 함수 만들고 호출하려면 이름알아야 호출가능)
But, 콜백 함수는 이벤트 발생시 미리 등록된 함수 호출하는 구조
(=다양한 곳에서 사용하는 함수가 X
특정 이벤트에서만 사용하는 함수)
그래서 굳이 이름이 필요가 없음
람다식 표현 사용법
: (인수) => 표현식 또는 명령문
'프로그래머스 > 프로그래머스 Study' 카테고리의 다른 글
[11-3] 타입스크립트 기초7 (0) | 2024.05.12 |
---|---|
[11-2] 타입스크립트 기초6 (0) | 2024.05.11 |
[10-4] 타입스크립트 기초4 (2) | 2024.05.02 |
[10-2] 타입스크립트 기초3 (0) | 2024.04.30 |
[10-1] 타입스크립트 기초2 (0) | 2024.04.29 |