Inflearn brand logo image
Inflearn brand logo image
개발 · 프로그래밍

/

프로그래밍 언어

제대로 배우는 JavaScript: 객체지향 프로그래밍 완성 & 전략형 AI 틱택토 실전 Part2 [중급편]

📌 이 강의는 전략형 AI 틱택토 프로젝트로 시작해, 객체지향 프로그래밍의 핵심 개념까지 실전 예제로 완성하는 커리큘럼입니다. 게임 구현으로 로직 설계와 AI 전략 사고를 훈련하고, 이어서 상속, 조합, 위임, 캡슐화 같은 OOP 설계 기술을 직접 코드로 경험합니다. 실제 프로젝트로 문법을 넘어서 ‘설계하는 개발자’로 성장하고 싶은 분께 추천드립니다.

9명 이 수강하고 있어요.

이런 걸 배울 수 있어요

  • 콘솔 기반 틱택토 게임 전체 구현 능력

  • 사용자 입력 처리 및 게임 진행 제어 로직 구성 능력

  • 기본 랜덤 AI부터 전략형 AI까지 직접 설계 및 구현

  • 게임 상황을 조건 기반으로 판단하고 우선순위 적용하는 로직 구현

  • JavaScript 객체와 생성자 함수의 개념 확립

  • prototype과 class 문법의 차이와 연결 구조 이해

  • 상속, super, override 등 객체지향의 핵심 문법 실전 적용

  • 조합(Composition), 위임(Delegation)을 통한 유연한 기능 설계

  • 캡슐화를 통한 안전한 객체 보호와 내부 정보 은닉 구현

  • 객체 협력 구조에서 역할과 책임을 구분하며 구조화된 설계 가능



🎮 《제대로 배우는 JavaScript: 전략형 AI 틱택토 제작과 객체지향 완성》


🔥 “이제 더 이상 ‘흩어진 문법’으로는 살아남을 수 없습니다!”

지금까지 변수, 함수, 조건문, 반복문을 배웠는데…
막상 코딩하려니 “어디서부터 시작해야 할지 몰라 손이 멈춘 적” 있지 않으셨나요?

📌 왜일까요?

문법은 배웠지만 ‘설계하는 힘’을 배운 적이 없으니까!
코드는 짜봤지만, ‘왜 그렇게 짰는지’ 설명할 수 없으니까!
돌아가기만 하면 된다고 생각했지만, 시간이 지나면 내 코드조차 이해할 수 없으니까!

💣 그리고 무엇보다…
“스스로 판단하고 움직이는 코드”를 만든 적이 없으니까!


🚨 지금 깨달으세요.
현업 개발자와의 결정적 차이는 ‘설계력’에서 만들어집니다.

이걸 놓치면, 앞으로도 계속 ‘검색형 코더’로만 남게 됩니다.
더 늦기 전에, 지금 이 순간부터 ‘설계자’로 성장하세요.


🚀 이번 강의는 이런 현실을 완전히 깨부숩니다!

당신은 흩어진 문법을 하나로 통합하고,
사고하고 판단하는 코드를 직접 설계하며,
마침내 ‘나만의 전략형 AI’를 창조하는 개발자로 성장합니다!


🎮 직접 만들어보세요 – 진짜 ‘생각하는 프로그램’!

🤖 무작위로 움직이는 초보 AI를 넘어서…
🛡 수비 전략, 공격 전략, 중앙 장악, 코너 선점, 그리고 궁극의 포크 전략까지!

👉 이제 당신의 코드가 묻습니다.
“이번엔 어떻게 이길 수 있을까?”

마치 사람처럼 스스로 판단하고 승리를 향해 움직이는 코드,
당신의 손으로 직접 만들어보세요!


👨‍💻 그리고, 여기서 진짜 개발자의 길로 나아갑니다.


📚 왜 객체지향 프로그래밍(OOP)을 배워야 할까요?

객체지향은 단순한 기술이 아닙니다.
복잡한 세상을 해석하고, 질서를 부여하며,
혼란을 구조화하는 ‘사고의 틀’입니다.

우리는 모두 객체지향적으로 사고하며 살아갑니다.
사람, 자동차, 회사, 심지어 국가조차 ‘역할과 책임’을 가진 객체로 이루어져 있죠.

💡 진짜 개발자는 코드만 짜지 않습니다.
세상을 바라보는 눈을 기르고,
문제를 해결하는 사고의 방식을 배웁니다.


📚 OOP로 배우는 진짜 설계 기술!

🧩 필요한 기능만 조립하고 (Composition)
📦 일을 똑똑하게 분담하고 (
Delegation)
🚚 역할에 따라 완벽하게 협력하고 (
역할과 책임 분리)
🔐 정보를 스스로 보호하며 (
캡슐화)
🧬 상황에 따라 능력을 자유롭게 바꾸는 (다형성)

💡 이 모든 기술, 당신이 직접 구현합니다.
더 이상 코드가 당신을 지배하지 않습니다.
이제 당신이 코드를 지배하는 설계자가 됩니다.


🎯 당신이 그토록 원하던 실력, 바로 이 과정에서 완성됩니다.

“지시만 기다리는 코드” → “스스로 사고하고 움직이는 코드”

이번 강의로, 당신의 코드 인생이 완전히 바뀔 것입니다.


📣 시간은 지금 이 순간도 흘러가고 있습니다.
🚀 주저하면 늦습니다.
‘전략형 AI’와 ‘객체지향 설계’의 세계로 지금 입장하세요!

👉 지금 시작하지 않으면, 1년 뒤에도 똑같은 고민을 반복하고 있을지도 모릅니다.


💥 이번엔 진짜로, 제대로 성장할 차례입니다.
지금, 코딩을 넘어서 ‘세상을 설계하는 개발자’로 거듭나세요!

강의를 듣고 나면 이런 결과물을 만들 수 있어요

🤖 스스로 판단하는 전략형 AI 틱택토 완성

랜덤 선택은 초보 AI의 한계입니다.

공격 우선, 수비 우선, 중앙 장악, 코너 선점,
그리고 마침내 두 갈래 승리 포크 전략까지!
📌 상황을 인식하고, 가장 유리한 전략을 스스로 선택하는 AI를 설계하고 구현합니다.

📦 현실 문제를 코드로 풀어내는 역할 분리 설계 시스템

배송, 결제, 알림… 복잡한 문제를 역할에 따라 정확히 분리!
필요할 때만 연결하는 유연한 설계 구현!
📌 SRP(단일 책임 원칙)전략 패턴(Strategy Pattern) 으로 확장 가능한 서비스를 직접 만들어봅니다.

🧬 변화에 강한, 유연한 다형성 설계 경험

같은 메서드 이름, 다른 동작!
상황에 따라 능동적으로 변화하는 코드 작성!
📌 다형성(Polymorphism) 을 적용해 새로운 기능 요구에도 기존 코드를 수정하지 않고 확장 가능한 실전형 유연한 코드를 만들어냅니다.

🧩 불필요한 코드 없는 스마트 기능 조합 설계

무겁고 복잡한 코드는 이제 그만!
꼭 필요한 기능만 골라 레고 블록처럼 조립!
📌 필요한 기능만 효율적으로 결합하는 최적의 조합 설계를 완성합니다.

💬 VIP 전용 챗봇 – 상속과 오버라이드로 고급 기능 확장

공통 기능은 상속(Inheritance) 으로 물려주고,
VIP 전용 응답은 오버라이드(Override) 로 맞춤 제공!
📌 객체지향 설계로 일반 챗봇과 VIP 챗봇의 기능을 분리하고, 차별화된 고급 응답 시스템을 직접 만듭니다.

🔐 철통 보안! 완벽한 정보 은닉 캡슐화 설계

Symbol, #private 필드, WeakMap 으로 외부 접근 완전 차단!
중요한 데이터는 안전하게 숨기고 보호!
📌 캡슐화(Encapsulation) 를 통해 보안성과 안정성이 뛰어난 프로그램을 직접 설계하고 구현합니다.

📚 강의 커리큘럼 구성


🎮 섹션 1. 전략형 콘솔 틱택토 프로젝트 – 실전 JavaScript 연습과 AI 전략 구현

목표:
콘솔 환경에서 완전한 틱택토 게임을 설계하고, 전략형 AI를 구현하며 JavaScript 기본 문법과 사고력을 실전으로 연결합니다.


🗂 Part 1. 게임 로직 구현

📋 3x3 보드 출력 및 현재 상태 표시 함수 구현
🎯 플레이어 마커 선택과 선공 결정 로직 개발
🔄 턴을 번갈아 진행하며 올바르게 마커를 배치하는 코드 작성
🏆 승리 조건 검사 (가로, 세로, 대각선) 및 무승부 처리
🛠 전체 게임 흐름을 제어하는 run() 함수 완성


🤖 Part 2. AI 전략 개발

🎲 랜덤 AI: 무작위로 빈 칸을 선택하는 가장 기본적인 AI
🛡 수비형 AI: 플레이어가 승리할 수 있는 자리를 막는 방어적 전략
공격형 AI: 승리 가능한 자리를 먼저 찾고 선택하는 공격적 전략
🎯 중앙 장악 전략 AI: 게임 주도권을 위한 중앙 우선 점령 전략
📐 코너 전략 AI: 코너를 선점해 승리 확률을 높이는 전략
🧩 포크(Fork) 전략 AI: 두 갈래 승리 루트를 동시에 설계하는 고급 전략



📚 섹션 2. 클래스 문법으로 객체지향 프로그래밍 입문

목표:
JavaScript 객체지향 프로그래밍의 기초를 다지고, 효율적인 코드 재사용과 설계 방법을 학습합니다.


📖 절차지향 프로그래밍 한계 이해 및 OOP 필요성 인식
🛠 생성자 함수로 반복되는 객체 생성 자동화
🔗 prototype과 proto 구조 완전 정복
📖 ES6 class 문법으로 가독성 높고 유지보수 쉬운 코드 작성


🏗 섹션 3. 객체지향 클래스 설계 Part 1 – 상속과 유연한 확장

목표:
상속과 오버라이드를 통해 코드 재사용성과 확장성을 높이는 설계 기법 학습.


📚 상속 (Inheritance): 부모 클래스로부터 공통 기능을 물려받기
🔧 Override (오버라이드): 자식 클래스에서 부모 메서드 재정의
🎛 혼합형 Override: 부모 로직을 유지하며 자식 로직 추가
🎯 실전 미션: 사용자 관리 시스템 & VIP 챗봇 시스템 설계


🎭 섹션 4. 다형성과 인터페이스 설계 – 유연한 시스템 구축

목표:
다형성과 인터페이스를 통해 유연하고 확장 가능한 객체 설계를 학습.


📖 다형성 (Polymorphism): 같은 메서드 이름, 상황에 따른 다른 동작
📢 인터페이스와 추상 클래스: 공통 약속 정의 및 일관된 시스템 유지
🎯 실전 미션: 글로벌 알림 시스템, 택배사 자동 선택 시스템 구현


섹션 5. 협력과 조합 – 효율적 객체 협력 설계

목표:
조합과 위임을 통해 필요한 기능만 선택하고, 효율적으로 책임을 분산하는 설계 능력 배양.


🧩 조합 (Composition): 필요한 기능만 선택해 유연하게 조립
📦 위임 (Delegation): 복잡한 작업을 다른 객체에 맡기기
👔 역할과 책임 분리 (SRP): 객체의 단일 책임 원칙 실천
🎯 실전 미션: 스마트워치 기능 조립 & 글로벌 알림 시스템 개발


🔐 섹션 6. 정보 보호와 보안 설계 – 캡슐화 완전 정복

목표:
캡슐화와 보안 설계를 통해 민감한 데이터를 보호하고, 안전한 객체를 설계하는 기술 습득.


🗝 Symbol로 비공개 속성 설계: 숨겨진 속성으로 데이터 보호
🔒 #private 필드: 최신 문법으로 외부 접근 완전 차단
📚 WeakMap으로 보안 저장소 구현: 외부에서 절대 접근 불가한 데이터 은닉
📌 static 메서드로 공통 유틸리티 구현: 객체 없이도 호출 가능한 고정 기능 설계로 효율적인 코드 작성
🎯 실전 미션: 보안 강화 시스템, 실시간 번역 캐시 시스템, 사용자 시스템 고유 ID 발급 및 로그인 설계


💥 강의를 마친 후, 당신은…

  • 📈 단순 코더에서 문제를 해결하는 개발자로 성장

  • 🎯 복잡한 문제를 설계적 사고로 구조화하여 해결

  • 🔐 보안성과 유지보수성을 고려한 고급 설계 능력 확보

  • 🧩 유연하고 확장 가능한 객체지향 설계를 체득

  • 🚀 실무에서도 통하는 전략적 사고와 프로그래밍 감각 완성


📚 수강 전 참고 사항

필수 선수 지식

  • 자바스크립트기본적인 문법을 알고 계시면 좋습니다.
    (예: 변수 선언, 조건문, 반복문, 함수 정의 등)

  • 만약 문법이 완벽하지 않더라도, 실습을 통해 자연스럽게 익히며 학습할 수 있도록 강의가 구성되어 있습니다.

💻 실습 환경

  • 운영체제: Windows / macOS / Linux (모두 가능)

  • 필수 프로그램:

    • Chrome 브라우저 (최신 버전 권장)

    • Visual Studio Code (VSCode) – 설치 및 사용법 강의 포함

📂 제공 학습 자료 (ALL-IN-ONE 패키지)

  • 💻 모든 실습 코드와 프로젝트 소스 코드 (GitHub 링크 제공)

    • 강의에서 작성한 전체 예제 코드 및 실전 프로젝트 소스 코드 제공

    • 코드 주석과 상세 설명 포함, 복습과 실전 적용까지 한 번에!

  • 📑 실전 미션 템플릿 & 정답 해설 자료 제공 (GitHub 링크 제공)

    • 실습용 미션 템플릿과 직접 풀어볼 수 있는 과제 제공

    • 미션별 정답 코드 + 왜 이렇게 작성했는지 상세한 해설 주석 포함

  • 📂 수업 관련 상세 정리본 & 고급 자료 전부 제공 (GitHub 링크 제공)

    • OOP 설계 패턴, 전략 패턴, 캡슐화, 다형성 같은 고급 개념까지
      이론 + 실전 적용 코드를 빠짐없이 정리한 고급 자료 제공

    • 중요한 키워드, 설계 흐름도, 패턴 적용 예제까지 깔끔하게 정리

📢 수강 전 유의 사항

  • 실습 위주의 강의로, 직접 코드를 작성하며 배우는 과정입니다.

  • 강의 속도를 조절하며 반복 학습하셔도 충분히 따라오실 수 있습니다.

  • 강의 관련 질문은 Q&A 게시판을 통해 빠르게 답변드립니다 (최대 24시간 내 응답).

💡 TIP!
HTML과 CSS에 대한 간단한 이해가 있으면 더 쉽게 따라올 수 있습니다.
하지만 필수는 아니며, 필요한 부분은 강의 내에서 함께 설명합니다!

📢 수강생 전용 커뮤니티 안내

이 강의를 수강하시는 분들은 누구나 전용 커뮤니티에 참여하실 수 있습니다.
함께 공부하며 질문하고, 고민을 나누고, 최신 개발 소식까지 빠르게 공유하세요!

  • 서로의 학습 노하우와 경험을 나누고

  • 궁금한 내용을 빠르게 질문하고 답변받고

  • 실시간으로 트렌드와 정보를 공유하며 함께 성장합니다!

📱 카카오톡 오픈 채널 참가:
👉https://open.kakao.com/o/gC10Fnoh

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • 자바스크립트 기초 문법은 익혔지만, 직접 프로젝트를 만들어본 경험이 없는 분

  • 자바스크립트로 AI 로직이나 전략 기반 프로그램을 구현해보고 싶은 분

  • OOP(객체지향 프로그래밍) 개념을 코드와 함께 체계적으로 배우고 싶은 분

  • 자바스크립트의 class 문법, prototype 구조, private field 등을 명확히 이해하고 싶은 분

  • 클래스 기반 코드 구조를 이해하고 팀 프로젝트를 위한 기초를 다지고 싶은 분

  • 게임 프로젝트를 통해 자바스크립트 실력을 재미있게 끌어올리고 싶은 분

  • 캡슐화, 은닉, 정보 보호 등 보안적인 관점에서 객체 설계를 이해하고 싶은 분

  • 실무에서 사용할 수 있는 유연하고 안전한 객체 설계 기술을 익히고 싶은 개발자 지망생

선수 지식,
필요할까요?

  • JavaScript의 기본 문법

  • 배열과 객체의 기초 사용법

  • console.log()와 prompt() 같은 콘솔 입출력 사용 경험

안녕하세요
입니다.

안녕하세요, 우리동네코딩 스튜디오에 오신 것을 환영합니다!

우리동네코딩 스튜디오는 카네기 멜론, 워싱턴, 토론토, 워터루 등 북미의 주요 대학에서 컴퓨터공학을 전공하고, Google, Microsoft, Meta 등 글로벌 IT 기업에서 실무 경험을 쌓은 개발자들이 함께 만든 교육 그룹입니다.

처음에는 미국과 캐나다의 컴퓨터공학 전공자들끼리 함께 공부하며 성장하고자 만든 스터디 모임에서 시작되었습니다. 각기 다른 대학, 다른 시간대에 있었지만 함께 문제를 해결하고 서로에게 배운 그 시간은 매우 특별했고, 자연스럽게 이런 생각이 들었습니다.

“우리가 공부하던 이 방식, 그대로 다른 사람에게도 전하면 어떨까?”

그 물음이 바로 우리동네코딩 스튜디오의 출발점이었습니다.

현재는 약 30명의 현직 개발자와 컴퓨터공학 전공 대학생들이 각자의 전문 분야를 맡아, 입문부터 실전까지 아우르는 커리큘럼을 직접 설계하고 강의합니다. 단순한 지식 전달을 넘어, 진짜 개발자의 시선으로 배우고 함께 성장할 수 있는 환경을 제공합니다.

“진짜 개발자는, 진짜 개발자에게 배워야 합니다.”

저희는 웹 개발의 전 과정을 처음부터 끝까지 체계적으로 다루되, 이론에 머무르지 않고 실습과 실전 중심의 피드백을 통해 실력을 키워드립니다.
수강생 한 사람, 한 사람의 성장을 함께 고민하고 이끌어가는 것이 우리의 철학입니다.

🎯 우리의 철학은 분명합니다.
"진정한 배움은 실천에서 오고, 성장은 함께할 때 완성된다."

개발을 처음 시작하는 입문자부터, 실무 능력을 키우고 싶은 취업 준비생, 진로를 탐색 중인 청소년까지.
우리동네코딩 스튜디오는 모두의 출발점이자, 함께 걷는 든든한 동반자가 되고자 합니다.

이제, 혼자 고민하지 마세요.
우리동네코딩 스튜디오가 여러분의 성장을 함께하겠습니다.


Welcome to Neighborhood Coding Studio!

Neighborhood Coding Studio was founded by a team of developers who studied computer science at top North American universities such as Carnegie Mellon, the University of Washington, the University of Toronto, and the University of Waterloo, and went on to gain hands-on experience at global tech companies like Google, Microsoft, and Meta.

It all began as a study group formed by computer science students across the U.S. and Canada, created to grow together by sharing knowledge, solving problems, and learning from one another.
Though we were attending different schools in different time zones, the experience was so meaningful that it led us to one simple thought:

“What if we shared this way of learning with others?”

That thought became the foundation of Neighborhood Coding Studio.

Today, we are a team of around 30 active developers and computer science students, each taking responsibility for their area of expertise—designing and delivering a curriculum that spans from foundational knowledge to real-world development.
We’re not just here to teach—we’re here to help you see through the lens of real developers and grow together.

“To become a real developer, you must learn from real developers.”

Our courses take you through the entire web development journey—from start to finish—focused on hands-on practice, real-world projects, and practical feedback.
We care deeply about each learner’s growth and are committed to supporting your path every step of the way.

🎯 Our philosophy is simple but powerful:
"True learning comes from doing, and true growth happens together."

Whether you're just getting started, preparing for your first job, or exploring your future in tech,
Neighborhood Coding Studio is here to be your launchpad—and your trusted companion on the journey.

You don’t have to do it alone.
Let Neighborhood Coding Studio walk with you toward your future in development.

커리큘럼

전체

68개 ∙ (3시간 32분)

해당 강의에서 제공:

수업자료
  • 1. 📚 강의 수강 전 필독 안내

강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!

nhcodingstudio님의 다른 강의

지식공유자님의 다른 강의를 만나보세요!

비슷한 강의

같은 분야의 다른 강의를 만나보세요!