프로그래밍 기본개념
1. 코멘트(comment)
한국말로 '주석' 이라고 하며, 코멘트는 실제 프로그램이 실행될 때는 무시된다.
코딩 하다가 메모 하는 거라고 생각하면 된다.
프로그램이 더 커질수록 코멘트는 중요하다.
코멘트 사용 이유
- 복잡한 코드 설명
- 하다가 만 부분 표시
- 다른 개발자들과 소통
- // , /* */ , #, <!-- --> 등등 코멘트는 여러개가 있다. 각각 맞는 프로그래밍 언어에 사용한다.
2. 자료형 개요
컴퓨터를 복잡한 계산기라고 생각할 수 있다.
프로그래밍이란? 계산할 수식들을 컴퓨터에게 알려주는 것 이라고 생각하면 된다.
자료형(Date Type) 이란? 컴퓨터는 계산기보다 더 다양한 종류의 값들을 쓸 수 있는데 이를 자료형이라고 한다.
자료형의 종류에는 여러가지가 있다.
(자료형 또는 데이터 타입(data type)은 컴퓨터 과학과 프로그래밍 언어에서 실수치, 정수, 불린 자료형 따위의 여러 종류의 데이터를 식별하는 분류)
Number(숫자) : 정수와 소수로 이루어진 수들을 의미한다.
- 정수(Integer)
- 소수(Floating Point)
- 정리하면 정수2 와 소수2.0은 date type이 다른 타입이기 때문에 약간의 차이가 있다
String(문자열) : 키보드로 쓸 수 있는 글자들을 표현하는 자료형
- " " 를 사용한다.
- 문자를 계산할 수 있다. "Hello" + "World" = "HelloWorld"
- 2 , 2.0 , "2" 세개 모두 date type이 다르다.
Boolean(불린)
- 참과 거짓을 나타내는 date type
- boolean의 값은 딱 2개 이다. true와 false
- 뭔가 값들을 비교할 때 많이 사용한다.
3. 추상화 개요
복잡한 내용은 숨기고, 주요 기능에만 신경 쓸 수 있게 해주는 것을 컴퓨터 과학에서는 추상화(Abstraction) 이라고 부른다.
추상화의 목적은 복잡한 디테일들을 숨기는 것 이다.
내부적인 것을 몰라도 아무 문제 없이 사용할 수 있다는게 추상화의 장점이자 목적이다.
프로그래밍에서 추상화는 세 단계로 나뉜다.
- 변수(Variable) : 값을 저장하는 것.
- 함수(Function) : 명령을 저장하는 것.
- 객체
4. 변수
데이터를 어떤 공간에 담아서 이름표를 붙여 주는 것이다.
변수는 프로그래밍에서 가장 기본적이며 중요한 개념이다.
ex) burger_price = 4990
- 4990 이라는 데이터를 buger_price 라는 변수에 저장한다는 뜻 이다.
- buger_price 변수를 정의했다 라고도 표현한다.
- 여기서 = 는 우리가 일반적으로 생각하는 수학 등호랑은 다르다. 수학 등호에서는 같다는 의미이지만 프로그래밍에서 등호는 지정 연산자 라고 해서 등호 오른쪽에 있는 값을 등호의 왼쪽에 있는 변수에 지정해 준다는 의미이다.
- 즉 4990 이라는 정수값을 buger_price 라는 이름의 변수에 넣어 준다는 것이다.
- burger_price 라는 변수를 사용하면 정수 4990을 사용하는 것과 같다.
변수 이름을 잘 짓는것도 프로그래밍의 중요한 스킬이다.
5. 함수
명령을 저장하는 역할
실제로 함수가 출력되기 까지 내부적으로 엄청나게 복잡한 과정이 있을 수 있다.
그런데 우린 그것을 굳이 알 필요가 없다.
그냥 어떻게 사용하는지 알면된다. 이게 추상화의 개념이다.
명령의 복잡한 디테일을 다 알 필요없이 주요 기능만 집중하기 위해 함수를 사용하는 것이다.
기본 제공되는 함수는 '내장 함수' 라고 부른다. (ex. consol.log API)
내장 함수는 프로그래밍 언어를 만든 개발자들이 미리 만들어 놓은 거라고 생각하면 된다.
즉 이런 내장 함수 외에는 우리가 직접 만들어야 한다.
ex) 파이썬에서 함수 정의시 def hello(): (def : define 의 줄임말로 '정의' 라는 뜻이다.)
→ 즉 새로운 함수를 정의하겠다는 의미이다.
→ 콜론(:) 을 쓰면 함수 정의의 첫 줄이 완성된다. 함수 정의의 첫 줄을 함수의 '헤더' 라고 부른다.
def hello():
# 함수에 실제로 어떤 동작을 할지 적어준다. (함수내용)
print("Hello!")
print("Welcome to Codeit!")
hello()
# 함수 실행 (hello 함수를 호출한다.)
# 함수를 사용한다는 것과 같다.
→ ** 함수를 정의해서 호출한다.
6. 파라미터
함수 호출 시 조금씩 다르게 동작하고 싶다면 파라미터와 전달인자를 이용한다.
def hello(name):
# hello 함수를 정의할 때 name 이라는 파라미터를 받도록 함
# 이 함수 내에서 name 이라는 값을 사용할 때 문자열 ray를 사용하는 것과 똑같다.
hello("ray")
# 함수를 호출하는 것은 함수를 사용하는 것과 같은 의미이다.
# 실제로 hello 함수를 사용할 때 우리가 원하는 값을 파라미터로 넘겨 줄 수 있다.
# 문자열 ray가 name 파라미터 안으로 들어간다. (문자열 ray을 파라미터로 넘긴것)
# "ray" 가 name에 지정된다. 그러면 hello 함수 내에서 name을 사용할 수 있다.
# hello(넘겨주는 값)
어떤 파라미터(매개변수)를 넘겨주냐에 따라서 함수의 동작을 조금씩 다르게 할 수 있다.
7. 여러개의 파라미터
한 함수에 여러 개의 파라미터를 동시에 전달해 줄 순 없을까?
변수명도 자유롭게 지을 수 있듯이 파라미터명도 자유롭게 지정가능하다.
하지만 의미있게 지정한다.
def print_sum(a, b):
# print_sum 함수는 파라미터 두 개를 받는다.
print(a + b)
print_sum(7, 3)
# 첫번째 파라미터로 7이 넘어가고, 두번째 파라미터로 3이 넘어간다.
8. return문
변수는 값을 저장하는 역할
함수는 명령을 저장하는 역할
파라미터는 함수에 넘겨 주는 값
파라미터로 정보를 넘겨주면 파라미터에 따라 함수가 조금씩 다르게 동작하도록 할 수 있다.
함수에 또 다른 중요한 개념 return에 대해서 배워본다.
return은 해석하면 돌려준다 라는 의미인데 함수에서 리턴은 실제로 어떤 정보를 돌려준다는 뜻이다.
함수에게 뭔가 정보를 주면 어떤 다른 정보로 돌려주는 것이다.
** = 는 지정연산자
'컴퓨터 개론' 카테고리의 다른 글
Codeit_특수 목적 언어 (0) | 2021.06.03 |
---|---|
Codeit_프로그래밍 언어의 스펙트럼 (0) | 2021.06.02 |
Codeit_프로그래밍 언어를 분류하는 두 가지 기준_변수의 데이터 타입 (0) | 2021.06.02 |
Codeit_프로그래밍 언어를 분류하는 두 가지 기준_객체 지향 (0) | 2021.06.01 |
Codeit_프로그래밍 언어 이해하기 (0) | 2021.06.01 |