<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>이것저것 공부하기</title>
    <link>https://essence00.tistory.com/</link>
    <description>배움의 과정을 남기고 기록합니다.</description>
    <language>ko</language>
    <pubDate>Wed, 12 Aug 2026 04:46:26 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>혁신의 동반자</managingEditor>
    <image>
      <title>이것저것 공부하기</title>
      <url>https://tistory1.daumcdn.net/tistory/8332354/attach/ac8114110d66403ba6997d94c742d4b0</url>
      <link>https://essence00.tistory.com</link>
    </image>
    <item>
      <title>프로그래밍 언어에 대한 이해</title>
      <link>https://essence00.tistory.com/1</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;1. 서브프로그램&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;전체 프로그램을 이루는 작은 코드 블록에 이름을 붙인것을 의미한다. 프로그램이 복잡한 경우 특별한 코드 일부분을 별개 단위로 묶어서 진행하게는 편하기 때문에 서브프로그램이 필요하다. 또한 서브프로그램은 한번 정의해두면 여러번 사요가능하기 때문에 서브루틴이라고 하기도 한다.&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1760192755781&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# 서브 프로그램(= 함수) 정의
# 예시 코딩으로 이해

def 계산하기(가격, 수량):
    합계 = 가격 * 수량
    return 합계

# 메인 프로그램
커피가격 = 4500
수량 = 2
총금액 = 계산하기(커피가격, 수량)  # 서브 프로그램 호출
print(&quot;총 결제금액:&quot;, 총금액)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 &quot;계산하기&quot; 함수가 바로 서브 프로그램이라고 할 수 있다. 메인 프로그램이 커피가격과 수량을 계산해줘라고 명령하면, 서브 프로그램이 계산을 대신 수행하고 결과를 반환한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;서브프로그램의 유형은 다음과 같다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ㄷ1. 함수 : 연산수행 결과 값을 반환하는 서브프로그램&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 프로시저 : 결과 값을 반환하지 않는 서브프로그램&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;서브프로그램을 사용하는 이유는 중복 코드를 줄이고, 유지보수가 쉬워지며, 프로그램 구조가 명확해진다. 또한 다른 프로그렘에서도 재활용이 가능해진다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;2. 모듈&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모듈은 독립적인 프로그램의 구성단위로서 서브프로그램도 모듈의 일종이라고 할 수있다. 여러 개의 서브 프로그램(함수, 클래스 등)을 하나의 파일로 묶은 것이라고 할 수 있다. 독자적인 이름 공간( &amp;ldquo;같은 이름을 가진 변수나 함수가 서로 충돌하지 않도록, 구분된 방에 저장하는 구조&amp;rdquo; )을 차지하고 관리하는 것이 특징임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;대부분의 객체지향 업어에서는 클래스를 모듈로 활용이 가능하다. 객체지향 언어가 아닌 언어에서 모듈이라 할때 변수, 함수, 타입 등 프로그래밍 언어에서 제공하는 모든 것을 포함하는 단위를 의미하기도 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;C 언어처럼 함수 담위로 구성된 언어에서는 외부변수/타입/함수 등을 포함한 소스 코드 하나를 모듈로 취급하기도 한다. 또한 컴파일러와 인터프리터 모듈 인터페이스를 찾기 위한 경로가 중요하기에 운영체제의 환경변수로 등록하는 경우가 많다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;C의 컴파일러는 헤더파일을 찾기 위해 환경변수 include를 검색한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;특히 모듈은 다수의 프로그래머가 협업시에 유용하다.&lt;/p&gt;
&lt;pre id=&quot;code_1760193778090&quot; class=&quot;python&quot; data-ke-language=&quot;python&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# calculator.py
def add(a, b):
    return a + b

# main.py
import calculator

print(calculator.add(3, 5))
# 결과값 : 8&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>비전공자</category>
      <category>프로그래밍언어</category>
      <category>프로그래밍언어공부</category>
      <author>혁신의 동반자</author>
      <guid isPermaLink="true">https://essence00.tistory.com/1</guid>
      <comments>https://essence00.tistory.com/1#entry1comment</comments>
      <pubDate>Sat, 11 Oct 2025 23:49:16 +0900</pubDate>
    </item>
  </channel>
</rss>