ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [JAVA]구조적 프로그래밍(1)
    JAVA 2021. 3. 2. 00:01

    절차적 프로그래밍(procedural programming)은 절차지향 프로그래밍 혹은 절차지향적 프로그래밍이라고도 불리는 프로그래밍 패러다임의 일종으로서, 때때로 명령형 프로그래밍과 동의어로 쓰이기도 하지만, 프로시저 호출의 개념을 바탕으로 하고 있는 프로그래밍 패러다임을 의미하기도 한다. 프로시저는 루틴, 하위프로그램, 서브루틴, 메서드, 함수(수학적 함수와는 다르고 함수형 프로그래밍에 있는 함수와는 비슷한 의미이다.)라고도 하는데, 간단히 말하여 수행되어야 할 연속적인 계산 과정을 포함하고 있다. 프로그램의 아무 위치에서나 프로시저를 호출될 수 있는데, 다른 프로시저에서도 호출 가능하고 심지어는 자기 자신에서도 호출 가능하다.

    절차적 프로그래밍은 복잡도가 지나치지 않고 유지보수하기 쉽기 때문에 단순한 순차적 프로그래밍이나 비구조적 프로그래밍보다 여러 상황에서 장점이 많다. 다음과 같은 것들이 있다:

    • 복사해서 붙이지 않고도 같은 코드를 다른 장소에서 다시 사용할 수 있게 해 준다.
    • GOTO문이나 JUMP문을 쓰는 것보다 프로그램의 흐름을 더 쉽게 따라갈 수 있게 해준다. (GOTO문이나 JUMP문을 많이 쓰면 크고 복잡한 프로그램이 일명 스파게티 코드가 될 수도 있다.)
    • 모듈화를 하거나 구조화를 할 수 있다

    -출처- 위키백과

     

     

    자! 오늘은 구조적인 프로그래밍에 대해 알아보겠습니다!

     

    오늘의 학습 목표!

    소리내서 읽어봐요~~

     

    절차적프로그래밍과 구조적 프로그래밍의 차이점을 말 할 수 있다!

     

    잘했어요~~ 오늘 포스팅에서는 한 가지만 알고 갑시다! ONE POINT LESSON 

    (사실 제가 알고싶어요) 하핳..

     

     

    자 이제 간단하게 정리해보자! 이번에도 뉴렉처님 강의를 참고해서 포스팅합니다! 

    www.youtube.com/watch?v=hycqWIsLng4&list=PLq8wAnVUcTFWQ4TpRPZRa5nj1VwfyO7st&index=1기수

     

    (본 포스팅의 목적은 정리의 목적입니다. 기술 설명은 위의 영상을 보는것이 더 바람 직한 방법입니다.)

     

     

    상황1. 어떤 프로그램을 짠다고 했을 때, 어떻게 짜야 효율적일까?

    위 같은 생각을 한다고 했을 때, 가장 효율적인 방법은 큰 구조를 짜놓고 세부적인 것들을 채워놓는 방법이 효율적이라고 생각할 것입니다!

    위와 같이 절차적인 방법으로는 어려움이 있다!

    위의 예시는 크게 복잡하지 않은 구조인데도, 절차적으로 실행한다고 한다면 복잡할 것입니다!

     

    단위별로 쪼개!!

    하지만! 위와 같이 단위별로 쪼개서 합친다면!? 

    아무리 어렵고 큰 프로그램이라도 여러 단위로 쪼개고 합친다면 절차적인 방법보다는 쉽게 되는 것입니다!

    또한 코드를 나누다보면 코드의 구조가 나타나게 됩니다!

    구조적인 프로그램

    요로케~

     

    함수를 이용하면

    1.   코드의 직접 사용을 차단

    2.   코드를 작게 나누어서 만듦

    3.   코드를 집중화 할 수 있음.

    4.   코드를 재사용할 수 있음. 

     

     

    자 그럼, 우리 학습목표를 돌아봅시다!

     

    첫번째 학습 목표

    절차적프로그래밍과 구조적 프로그래밍의 차이점을 말 할 수 있다!

     

    말 할수 있게 되었나요?  하핳 걱정마세요 다시한번 정리 해드릴게요

     

    절차적프로그래밍은 말그대로 start에서 출발해서 end까지 하나하나 로직을 연역적인 방법으로 짜는 것

    구조적프로그래밍은 절차적프로그래밍의 어려움을 해결하기 위한 방법! 예를 들어 로직을 부분 부분 나눈 후, 

    하나로 합치는 방법을 말합니다.

     

    이번 포스팅에서는 이론적인 부분을 건드렸고 다음 포스팅은 코딩을 해가면서 설명해드리겠습니다!

    안녕

     

     

     

     

    'JAVA' 카테고리의 다른 글

    [JAVA]구조적 프로그래밍(4)  (0) 2021.03.03
    [JAVA]구조적 프로그래밍(3)  (0) 2021.03.03
    [JAVA]구조적 프로그래밍(2)  (0) 2021.03.02
    [JAVA] 배열의 중요성  (0) 2021.02.26
    [JAVA] 제어 구조 if 와 while  (0) 2021.02.25

    댓글

Designed by Tistory.