STS 101::기본 개념

2. 프로그래밍언어 개요


본 강좌에서는 컴퓨터 사용이 익숙하지 않은 분들을 위한 기초 학습 입니다. 컴퓨터와 운영체제, 파일관리 및 명령프롬프트 사용, 크롬 웹 브라우저 등 프로그램 개발 이전에 반드시 알아야 할 컴퓨터 사용법에 대해 다루게 됩니다. 만일 컴퓨터 사용이 익숙하다면 이번 장은 넘어가도 됩니다.

이 강의를 통해 컴퓨터와 인터넷의 구조와 동작원리를 이해하고 프로그래밍 언어 학습에 필요한 배경 지식을 습득 할 수 있습니다.



01: 자료형

자료형은 해당 데이터의 메모리 저장방식과 프로그램 처리방식을 명시적으로 알려줍니다. 기본 타입은 정수형, 실수형, 문자형으로 나뉩니다.

1) 정수형

정수란 부호를 가지고 소수가 없는 수를 의미합니다. unsigned 정수는 음수를 표현할 수는 없지만, 0을 포함한 양의 정수를 두 배 더 많이 표현합니다. 음의 정수까지 표현할 수 있는 signed 키워드가 모든 타입에서 기본값이 됩니다.

type 할당메모리 크기 데이터의 표현 범위
(signed) short 2byte - 32,768 ~ 32,767
unsigned short 2byte - 0 ~ 65,535
(signed) int 4byte - 2,147,483,648 ~ 2,147,483,647
unsigned int 4byte - 0 ~ 4,294,967,296
(signed) long 4byte - 2,147,483,648 ~ 2,147,483,647
unsigned long 4byte - 0 ~ 4,294,967,296

2) 실수형

실수란 소수부나 지수가 있는 수를 가리키며 정수보다 더 넓은 표현 범위를 가집니다.

type 할당메모리 크기 데이터의 표현 범위
float 4byte (3.4 X 10E-308) ~ (3.4 X 10E308)
double 8byte (1.7 X 10E-308) ~ (1.7 X 10E308)
long double 8byte (1.7 X 10E-308) ~ (1.7 X 10E308)

3) 문자형

문자형 데이터란 문자 하나를 표현할 수 있는 타입을 의미합니다. 컴퓨터는 2진수까지 인식할 수 있어 문자도 숫자로 표현해야 합니다. 따라서 어떤 문자를 어떤 숫자에 대응시킬 것인가에 대한 약속이 필요한데 그것을 아스키코드(ASCII)라고 합니다.

type 할당메모리 크기 데이터의 표현 범위
(signed) char 1byte -128 ~ 128
unsigned char 2byte 0 ~ 256

아스키코드(ASCII)는 영문 대소문자를 사용하는 7비트의 문자 인코딩 방식으로 총 128개의 문자를 표현할 수 있습니다. 아스키코드는 영문 대소문자 52개와 숫자 10개 그리고 특수문자 32개 등으로 구성됩니다.

동영상 강좌

참고 자료

퀴즈

1) 영문 대소문자를 사용하는 7비트의 문자 인코딩 방식은 무엇입니까?

해답보기

  • 아스키코드



2) 컴퓨터는 몇진수를 사용하는가?

해답보기

컴퓨터는 16진수를 사용합니다.


02: 조건문과 반복문

조건문

조건문은 주어진 조건식의 결과에 따라 별도의 명령을 수행하도록 제어하는 명령문입니다.

basic_2-1

1) if문

조건식의 결과가 참(true)이면 명령문 실행하고 거짓(false)이면 아무것도 실행하지 않습니다.

if(a == 1) {
  printf("a는 1입니다.");
}

2) if/else문

if문과 함께 사용하는 else문은 주어진 조건식의 결과가 거짓(false)이면 주어진 명령문을 실행합니다.

if(a == 1) {
  printf("a는 1입니다.");
} else {
  printf("a는 1이 아닙니다.");
}

3) if/else if/else 문

else if문은 중첩된 if문을 간결하게 표현할 수 있도록 해줍니다. 하나의 조건문 안에서 if문과 else문은 한 번만 사용될 수 있습니다. 하지만 else if문은 여러 번 사용될 수 있어서 복잡한 조건도 표현할 수 있습니다.

if(a == 1) {
  printf("a는 1입니다.");
} else if (a == 2) {
  printf("a는 2입니다.");
} else {
  printf("a는 1도 아니고, 2도 아닙니다.");
}

반복문

반복문이란 프로그램 내에서 똑같은 명령을 일정 횟수만큼 반복하여 수행하도록 제어하는 명령문입니다. 프로그램이 처리하는 대부분의 코드는 반복적인 형태가 많아 가장 많이 사용됩니다.

1) while문

while문은 특정 조건을 만족할 때까지 계속해서 주어진 명령문을 반복 실행합니다. while문은 우선 조건식이 참(true)인지를 판단하여 내부의 명령문을 실행합니다.

int a = 0;

while(true) {
  a++;
  printf("a가 10이 될때까지 실행합니다.");

  if(a = 10){
    break;
  }
}

2) do while문

while문은 루프에 진입하기 전, 먼저 조건식부터 검사합니다. 하지만 do while문은 먼저 루프를 한 번 실행한 후에 조건식을 검사합니다. 즉, do while문은 조건식의 결과와 상관없이 무조건 한 번은 루프를 실행합니다.

int a = 0;
do {
  printf("일단 실행합니다.");
  a++;
} while(a < 10);

3) for문

for문은 while문과 달리 자체적으로 초기식, 조건식, 증감식을 모두 포함하고 있는 반복문입니다. 따라서 while문보다는 간결하게 반복문을 표현할 수 있습니다.

for (int i=0; i<10; i++) {
  printf("이 실행문을 10번 수행합니다.");
}

동영상 강좌

참고 자료

퀴즈

1) 조건문에는 어떤 문법이 있는가?

해답보기

  • if문
  • if/else문
  • if/else if/else문
  • switch문

2) 반복문에는 어떤 문법이 있는가?

해답보기

  • while문
  • do while문
  • for문

03: 함수

1) 사용 이유

2) 함수 구조

basic_2-3

동영상 강좌

퀴즈

1) 함수를 사용하는 이유는?

해답보기

반복적인 프로그래밍을 피하기 위해서.


4. 객체지향 프로그래밍

basic_2-4

1) 클래스(Class)

클래스와 객체는 길가에서 파는 붕어빵으로 간단히 비유하여 이해할 수 있습니다. 프로그래머 관점에서는 붕어빵 틀이 클래스(class)이며, 붕어빵 하나하나를 객체(object)라고 이해할 수 있습니다.

2) 클래스 구성

모든 물체를 속성과 동작으로 분리해서 분석해보는 습관을 들이면 클래스를 디자인하는데 쉽게 접근할 수 있습니다. 이러한 방식으로 프로그래밍을 설계하는 것을 객체 지향 프로그래밍(Object Oriented Programming)이라고 합니다.

3) 객체(Object)

동영상 강좌

참고 자료

퀴즈

1) 객체지향의 특징 4가지를 쓰시오.

해답보기

  • 추상화
  • 캡슐화
  • 다형성
  • 상속

05: 실습 예제

실습-1: 자바 개발환경 구축

06: 참고 자료