플레이그라운드

#코드스쿼드 - 자바플레이그라운드 by 박재성

구구단 구현을 통해서 뭘 경험하게 되는가?

  • 구구단 프로그램을 구현하고 실행하는 방법
  • 프로그래밍 구현시 단축키를 사용하는 방법
  • 사용자 값을 입력하는 방법과 콘솔에 값을 출력하는 방법
  • 변수, 데이터 타입, 반복문, 조건문을 사용하는 방법
  • 배열, 메소드, 클래스를 활용해 프로그래밍하는 방법

프로그래밍 개념 맛보기

프로그래밍에 대한 기본 개념을 이해하고, 프로그래밍 언어가 하는 일이 무엇인지 이해하면 실습을 진행하면서 큰 그림을 그리는데 도움이 되겟다. 다음 문서를 통해 프로그래밍 관련 기본 용어와 개념을 이해할 것을 추천한다.

프그래밍이란 무엇인가?

우리가 사고하는 방식

해야 할 일의 흐름

해야 할 일의 순서

사람은 본능적으로 어떤 일을 작업의 순서 또는 절차의 관점에서 생각하려고 합니다.

어떤 일을 하나 떠올리고 순서에 따라 나열할 수 있는지 고민해 봅시다.

컴퓨터와 대화하기

  1. 필요한 작업들을 순서대로 나열(순서도)

  2. Programming

  3. 컴퓨터가 이해할 수 있도록 프로그래밍 언어로 표현

컴퓨터의 관점에서 컴퓨터가 이해할 수 있는 언어로 표현하는 방법을 학습(자바스크립트 등등)

작업의 순서를 설명하는 방법

논리적인 순서를 이해하기 쉽게 그림으로 표현

  • 순서도(Flowchart)

작업의 순서를 그림으로 표현한 것

중요한 것은 작업을 논리적인 순서에 따라 요리책처럼 정리하는 사고 능력

순서도는 단지 사고의 결과를 표현하고 다른 사람에게 설명하기 위한 도구

컴퓨터가 세상을 바라보는 방식

입력(Input) - 처리(Process) - 출력(Output)

프로그래밍은 기능의 변경에 가능성에 따라 데이터의 형태(자료구조)와 작업의 순서(알고리즘)를 끊임없이 조정해가는 트레이드오프의 연속

  • 이벤트

시작 -> 입력 -> 처리 -> 출력 -> 끝

프로그램은 이벤트의 연속

  • 모듈

    비슷한 것들끼리 모아 다른 것과 경계를 짓는 것.

    블록도 일종의 모듈(순서대로 실행되어야 하는 작업의 모듈화.)

    데이터와 기능을 하나의 단위 모듈로 모아 놓은 것.


만들고자 하는 ‘그것’을 작게 나누고, 반복 하고, 분류 하는 방법

정보를 입력하고, 처리하고, 출력하고 그리고 그것들을 같은 방식으로 연결하는 방법

  • 프로그램을 만들기 위해 첫 번째로 해야하는 일은?

    구체적인 “목표“를 생각하는 일입니다.

    추상적이고, 커다란 목표는 좋지 않아요.

    작고 구체적인 목표를 만드세요.

    홈페이지를 만들어보자.

    내 소개와 방명록에 글 쓰기 기능이 있는 홈페이지를 만들어보자.

    목표를 만들고 난 후 문법 공부만 하면 될까?

    프로그래밍 언어 책 한권을 다 읽었는데 간단한 프로그램 하나 작성하기 힘든 이유?

    프로그래머처럼 생각하지 못하기 때문이다. 그럼 프로그래머처럼 생각하기란?

    만들고자 하는 “그것“을 작게 나누고, 반복하고, 분류 하는 방법

    정리 : 프로그래밍이란?

    • 재현하고자하는 복잡한 현실세계의 상황을 극단적으로 단순한 컴퓨터에서 실행되도록 하기위한 행위.

    • 복잡한 상황을 컴퓨터가 이해할 수 있는 수준의 단순한 형태로 분해하고 그것을 행동, 상태, 조건, 분기, 반복 등의 방식으로 표현하는 작업.

    • 인간의 언어로 표현하는 글쓰기도 시, 소설, 연설문 등 다양한 패턴이 있듯 프로그래밍 언어로 기술하는 방식도 특정 목적에 맞게 진화된 패턴이 존재(디자인 패턴)


프로그래밍에서 약속이란?

인터페이스, 프로토콜, API …

모듈 : 함수, 라이브러리, 패키지, SDK

가장 작고 기본적인 모듈 만들기란? 함수

현실 세계의 개념 구현을 위해 함수, 모듈 등의 결합된 집합을 일컫는 단어를 객체라고 한다.

객체는 필요한 약속(인터페이스)를 노출하고 입력과 처리과정(은닉)의 결과를 출력한다.

Comments