1. 객체 지향
- 객체지향 패러다임 : 객체를 우선적으로 생각해서 프로그램을 만든다는 방법론
- 객체 지향 프로그래밍 언어들은 클래스를 활용해 객체를 효율적이고 안전하게 만든다.
- 추상화 : 프로그램에 필요한 요소만 사용해서 객체를 표현하는 것
2. 클래스
- 클래스 : 객체를 만들때 수많은 지원을 하는 대신 제한이 많음 .
- 프로토타입 : 재한은 없지만 지원도 별로 없는 문법
class 클래스 이름 {
}
- 인스턴스 : 클래스를 기반으로 만든 객체
- 인스턴스 생성시 사용하는 문법
new 클래스 이름()
- 클래스 이름은 첫글자를 대문자로 지정하는 것이 개발자들의 약속이다.
3. 생성자와 메소드
- 생성자 : 객체가 생성될때 호출되는 함수
- 메소드의 이름은 constructor 지만, 실제 호출될때는 클래스의 이름을 부른다.
class 클래스 이름 {
constructor(){
/* 생성자 코드 */
}
}
- 메소드 : 클래스 내부에 선언하는 함수, 일반 함수를 선언하듯 클래스 내부에 선언하면 된다.
4. 상속
- 상속 : 어떤 클래스가 가지고 있는 속성과 메소드를 다른 클래스에게 물려주는 형태
- 이때 속성과 메소드를 주는 클래스가 부모클래스, 받는 클래스가 자식 클래스라고 부른다.
class 클래스 이름 extends 부모클래스 이름{
}
5. private 속성과 메소드
- 클래스 사용자가 속성이나 메소드를 의도하지 않은 방향으로 사용하는 것을 막아 클래스의 안정성을 확보하기 위해 나온 문법
- 속성과 메소드 이름에 #을 붙이면 된다.
class 클래스 이름 {
#속성이름
#메소드이름 (){
}
}
- private 속성으로 변경하면 클래스 외부에서는 해당 속성에 접근할 수 없다.
- 만약 접근하고 싶다면 getter나 setter를 사용하면 된다.
- getter : 속성 값을 확인할때 사용하는 메소드
- setter : 속성 값을 지정할때 사용하는 메소드
class 클래스 이름 {
get 이름 () {return 값}
set 이름 (value) {}
}
6. static 속성과 메소드
- 인스턴스를 만들지 않고 사용할 수 있는 속성과 메소드.
- 정적 속성, 정적 메소드라고 부르기도 한다.
class 클래스 이름 {
static 속성 = 값
static 메소드 (){
}
}
- static은 클래스 이름 뒤에 점을 찍고 속성과 메소드를 사용한다.
클래스 이름.속성
클래스 이름.메소드()
※ 오버라이드
- 부모가 갖고 있는 함수를 다시 선언해서 덮어쓰는 것
'혼공단 > 혼공단 6기' 카테고리의 다른 글
[혼공단 6기] 혼자 공부하는 자바스크립트 6주차 후기 및 미션 인증 및 소감 (2) | 2021.08.13 |
---|---|
혼자 공부하는 자바스크립트 10장 - 리액트 라이브러리 맛보기 (0) | 2021.08.10 |
[혼공단 6기] 혼자 공부하는 자바스크립트 5주차 후기 및 미션 인증 (0) | 2021.08.03 |
혼자 공부하는 자바스크립트 8장 - 예외처리 (0) | 2021.08.03 |
혼자 공부하는 자바스크립트 7장 - 문서 객체 모델(2) (0) | 2021.08.03 |