본문 바로가기
패스트캠퍼스/프론트엔드 아카데미 : 제 1강 JavaScript & TypeScrip

패스트캠퍼스 환급챌린지 32일차 : 김민태의 프론트엔드 아카데미 : 제 1강 JavaScript & TypeScript Essential 강의 후기

by Tan- 2025. 8. 1.

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
https://fastcampus.info/4n8ztzq


250801(금) 32일차

문법 - 클래스

 

클래스는 설계도, 객체는 구현물

기본적으로 클래스는 인스턴스를 만들기 이ㅜ한 청사진

인스턴스를 생성해야만 실제 객체가 되고, 그 안에 정의된 속성들과 메소드들이 현실화된다는 점

인스턴스마다 공유할 필요가 없고 클래스 자체에 귀속되어야 할 값이라면 static으로 선언하는 것이 훨씬 명확하고 깔끔하다

 

접근 제어자

클래스의 속성과 메서드에 접근 제어자를 부여함으로써 의도된 캡슐화를 구현할 수 있다

 

- private은 해당 클래스 내부에서만 접근 가능
- protected는 상속받은 자식 클래스까지 접근 가능
- public은 외부 인스턴스에서 자유롭게 접근 가능

특히 private 속성과 getter/setter를 조합하여 외부의 직접 접근을 막고, 내부 제어를 가능하게 만드는 구조는 실무 설계에서도 자주 활용할 수 있는 패턴

 

추상 클래스와 추상 메서드

abstract 키워드를 통해 클래스 자체를 추상화하거나, 특정 메서드 구현을 하위 클래스에 강제할 수 있다는 점은 객체지향적 설계의 강점을 보여주는 부분

 

Shape는 면적(area)을 반드시 계산해야 하는 도형이다.
→ Shape 클래스는 area()라는 추상 메서드를 선언하고,
→ 하위 클래스인 Circle, Rect는 각각 면적 계산을 구체적으로 구현

 

인터페이스

인터페이스를 활용해 클래스의 구현 규격을 제한하고, 이를 implements 키워드로 연결하여
강의 후반부에는 설계도로서의 인터페이스와 실제 구현의 관계를 명확히 이해할 수 있었다

특히 인터페이스는 오직 public 요소만을 다룬다는 점, 즉 외부에 보여지는 API의 형태만을 설계 대상으로 삼는다는 원칙은 유의미했다

 

이번 강의는 문법만을 나열하는 방식이 아니라, 실제 예제 클래스의 구조를 통해 상속, 재정의, 접근 제어, 추상화, 인터페이스 구현 등 객체지향의 기본 패턴을 왜 쓰는가, 어떻게 설계하는가 관점으로 깊이 있게 다뤘다

단순히 코드를 짜는 기술을 넘어 클래스를 어떻게 구조화할 것인지, 속성과 메서드의 범위를 어떻게 나눌 것인지 설계 원칙을 어떻게 코드에 녹일 것인지
이런 구조적 사고를 훈련할 수 있었던 시간