독하게 시작하는 JAVA part1-섹션 04

2024. 12. 12. 15:46언어들/자바

728x90
반응형

프로그램을 "쓰다"

생각 정리가 본질...

  • 절차적 순서를 기술한 글쓰기
  • 논리적으로 하나씩 풀어내는 훈련이 필요
  • 최대한 단순하게 시작 - Just Do It

생각 정리가 안되면 생각은 사라지고 타자만 남는다...

 

https://www.youtube.com/watch?v=3VG2OgkRJK0

https://www.youtube.com/watch?v=cDA3_5982h8&t=0s

 

절차적 글쓰기 해보기 - 식빵에 잼 발라 먹기

  1. 식빵, 잼, 수저를 준비한다.
  2. 식빵 2개를 식빵 뭉치에서 꺼낸다.
  3. 양손을 이용해 잼 뚜껑을 연다.
  4. 수저로 잼을 푼다.
  5. 푼 잼을 꺼낸 하나의 식빵에 바른다.
  6. 잼이 안 발려진 식빵을 발라진 식빵을 포갠다.
  7. 식빵을 먹는다.

고민 없는 글쓰기의 부작용

  • 부족한 이해
  • 부적격으로 가는 지름길
  • 우연에 맡기는 코드

상수

  • 연산식을 기술하는 시점( 컴파일 타임 - 코드 작성 시점 )에 값이 정해진 수
  • 값이 확정되어 앞으로 변할 가능성이 없는 수
  • 리터럴 (상수)
    • 'A', "Hello', 3, 3.4F, 1213,45
  • 심볼릭 상수
    • final
    • 80이 아니라 "합격기준"이라고 적어 줘야함.

변수

  • 연산식을 기술하는 시점에 값이 정해지지 않은 수
  • 구체화하지 않았거나 앞으로 변경될 가능성이 있는 수 (혹은 미지의 수)
  • 개발자가 메모리를 사용하는 가장 일반적인 방법
  • 구체적으로 결절되는 값에 따라 연산의 내용이 달라질 수 있는 원인으로 작용
    • 날씨변수 (맑음, 흐림, 비, 눈, 온도)
    • 의존성의 시작
변수의 범위 그리고 나올수 있는 경우의 수 파악이 중요

변수가 있다 그러면 범위가 있고 경우의 수가 따라온다

  1. X, 잼, 수저를 준비한다.
  2. X 2개를 식빵 뭉치에서 꺼낸다.
  3. 양손을 이용해 잼 뚜껑을 연다.
  4. 수저로 잼을 푼다.
  5. 푼 잼을 꺼낸 하나의 X에 바른다.
  6. 잼이 안 발려진 X을 발라진 식빵을 포갠다.
  7. X을 먹는다.

경우의 수 그리고 흐름 제어

  • 빵의 종류가 세 가지로 한정된다고 가정
    • 식빵, 크로와상, 소금빵
  • 잼과 더불어 버터가 존재하는 경우를 고려
    • 잼만 바르는 경우
    • 버터만 바르는 경우
    • 둘다 바르는 경우
  • 잼 바르기 절차는 여전히 유효한 것인지 확인
    • 넓은면에 바르는 경우는 식빵에만 유효, 면적이 적은 빵들은 유효하지 않음
    • 식빵이 아닌 경우 칼로 자르고 나온 면에 바르다던지 하는 다른 경우의 수를 작성할 필요가 있음

함수의 탄생

구문을 이어서 절차를 "단위"를 만들면 그것이 함수(루틴, 프로시저)이다.

특징
절차 함수
정의 특정 작업을 수행하는 코드 블록으로, 일반적으로 반환값이 없습니다. 특정 작업을 수행하고 결과를 반환할 수 있는 코드 블록입니다.
목적 주로 일련의 명령을 순차적으로 실행하기 위해 사용됩니다. 입력값을 받아 처리한 후 결과를 반환하거나 특정 작업을 수행합니다.
재사용성 재사용성이 제한적이며, 주로 동일 프로그램 내에서만 사용됩니다. 다양한 프로그램이나 모듈에서 재사용 가능합니다.
구조적 차이 일반적으로 프로시저라고 불리며, 함수와 달리 반환값이 없습니다. 함수는 반환값을 가질 수 있으며, 매개변수를 통해 외부 데이터를 처리합니다.
예시 언어 Pascal, 일부 C 언어 스타일 C, C++, Java, Python 등 대부분의 현대 프로그래밍 언어

 

이 함수가 OOP를 만나면 Method라고 한다.

#include <iostream>
using namespace std;  

int SmallNum(int num1, int num2)
{
    if (num1 <= num2)
    {
        return num1;
    }
    else
    {
        return num2;
    }
}

int main(void)
{
    int result;  
    result = SmallNum(4, 6);
    cout << " 두 수 중 더 작은 수는 " << result << "입니다." << endl;
    result = SmallNum(8, 6);
    cout << " 두 수 중 더 작은 수는 " << result << "입니다." << endl;
    result = SmallNum(2, 8);
    cout << " 두 수 중 더 작은 수는 " << result << "입니다." << endl;
    return 0;
}

https://www.tcpschool.com/cpp/cpp_function_basic

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com


참고

  • 독하게 시작하는 자바 part 1
반응형