멋사 프론트엔드 스쿨 1기 - 50일차

서지영·2022년 1월 13일
0
post-thumbnail

리액트를 이용해서 blog 만드는 수업을 했다. 리액트를 사용해서 blog를 손쉽게 만드는 것을 보고 리액트가 그리 어렵지 않게 느껴지긴 했는데, 이전 수업을 거의 통으로 날려먹어서 사실 수업을 따라가진 못했다. 로컬호스트 연결 거부 도대체 뭔데.. 구글링 해도 뭐라는지ㅜㅜ

나중에 리액트 따로 공부해야겠다!! 노마드코더 전 코스 달려야지 ㅎㅎ

여튼, 수업 조금씩 들으면서 혼공스 공부한 거 정리!!


★ [혼공JS] 8단원 - 예외 처리

★ 용어 정리

  • 구문 오류(syntax error)
    : 괄호 개수를 잘못 입력하는 등의 오류로 코드가 실행조차 되지 않는 오류 / 프로그램 실행 전에 발생하는 오류

  • 예외(exception) 또는 런타임 오류(runtime error)
    : 구문 오류 등 문법적 오류를 제외하고, 코드 실행 중에 발생하는 오류
    - TypeError
    - ReferenceError
    - RangeError

  • 예외 처리(exception handling) : 예외를 처리하는 것

  • 예외 객체(exception object)
    : 발생된 예외 정보를 확인할 수 있게 해주는 것
    : try catch 구문에서 catch 괄호 안에 입력하는 식별자


★ 기본 예외 처리

: 조건문을 사용해서 예외가 발생하지 않게 만드는 것

결과값 : h1 태그를 추출할 수 없습니다.

★ 고급 예외 처리

: try catch finally 구문을 사용하여 예외를 처리하는 것

try { 예외가 발생할 가능성이 있는 코드 }
catch (exception) { 예외가 발생했을 때 실행할 코드 }
finally { 무조건 실행할 코드 }

  • try 구문 안에서 예외가 발생하면 더 이상 try 구문을 진행하지 않고 catch 구문을 실행함

  • finally 구문은 필요한 경우에만 사용함

  • 예외를 강제로 발생시킬 때 throw 키워드를 사용함

  • 예외를 강제로 발생시킴으로써, 사용자에게 주의를 줄 수 있으며, 의도한 대로 처리하게 유도할 수 있음

★ [혼공JS] 9단원 - 클래스

★ 용어 정리

  • 객체 : 속성과 메소드를 갖는 것

  • 객체 지향 패러다임
    : 객체를 우선적으로 생각해서 프로그램을 만든다는 방법론
    -> 객체 지향 프로그래밍 언어들은 클래스(class)라는 문법으로 객체(object)를 효율적이고 안전하게 만들어 객체 지향 패러다임을 쉽게 프로그래밍에 적용할 수 있도록 도와줌

  • 추상화(abstraction) : 프로그램에 필요한 요소만 사용해서 객체를 표현하는 것 / 필요한 정보만 추출하는 것

  • 객체 지향 프로그래밍 : 객체들을 정의하고 그러한 객체를 활용해서 프로그램을 만드는 것 -> 클래스와 프로토타입이라는 문법으로 이용함

  • 프로토타입(prototype) : 제한을 많이 하지 않지만, 대신 지원도 별로 하지 않는 문법

  • 클래스(class) : 객체를 만들 때 수많은 지원을 하는 대신 많은 제한을 거는 문법 / 대부분 클래스 문법을 제공함
    -> 붕어빵 틀
    -> 클래스 이름은 첫 글자를 대문자로 지정함

  • 인스턴스(instance) : 클래스를 기반으로 만든 객체
    -> 붕어빵

  • 생성자(constructor) : 클래스를 기반으로 인스턴스를 생성할 때 처음 호출되는 메소드
    -> 생성자에서는 속성을 추가하는 등 객체의 초기화 처리를 함

  • 메소드(method) : 메소드를 만들면 내부적으로 메소드가 중복되지 않고 하나만 생성되어 활용됨

  • 오버라이드(override) : 부모가 갖고 있는 함수를 자식에서 다시 선언해서 덮어쓰는 것

  • super( ) 함수 : 부모의 생성자를 나타내는 함수


★ 상속(inheritance)

: 클래스의 선언 코드를 중복해서 작성하지 않도록 함으로써 코드의 생산 효율을 올리는 문법
: 어떤 클래스가 가지고 있는 유산(속성과 메소드)을 다른 클래스에게 물려주는 형태로 사용함
-> 부모 클래스 : 유산을 주는 클래스
-> 자식 클래스 : 유산을 받는 클래스

class 클래스 이름 extends 부모클래스 이름 { }


★ private 속성과 메소드

: 클래스 내부에서만 접근할 수 있는 속성 / 메소드
: 클래스 사용자가 클래스 속성(또는 메소드)을 의도하지 않은 방향으로 사용하는 것을 막아 클래스 안정성을 확보하기 위해 나온 문법

class 클래스 이름 {
#속성 이름
#메소드 이름 ( ) { }

}

-> 속성과 메소드 이름 앞에 #을 붙이기만 하면 됨
-> private 속성은 사용하기 전에 미리 외부에 어떤 속성을 private 속성으로 사용하겠다고 선언해줘야 함
-> private 속성으로 변경하면 클래스 외부에서는 해당 속성에 접근할 수 없음


★ 게터와 세터

  • 게터(getter) : 속성 값을 확인할 때 사용하는 메소드 (getOO)
  • 세터(setter) : 속성에 값을 지정할 때 사용하는 메소드 (setOO)

class 클래스 이름 {
get 이름 ( ) { return 값 }
set 이름 (value) { }

}


★ static 속성과 메소드

  • 정적 속성, 정적 메소드라고 불리며, 인스턴스를 만들지 않고 사용할 수 있는 속성과 메소

class 클래스 이름 {
static 속성 = 값
static 메소드 ( ) { }

}

클래스 이름.속성
클래스 이름.메소드( )


★ 긍정의 한줄

세상에 쉬운 것은 없다. 그렇기에 계속 전진해 나가야 한다. 그리고 작은 문제들로 인해 절대 포기해서는 안 된다. - Stella Maeve -

쉽지 않은 코딩!!
하지만, 난 포기하지 않고 전진할 것이다.
인내력 왕 서지영이 되자!!! 아자아자 화이자~

profile
코딩코딩

0개의 댓글