프로그래밍 언어 활용 2장 프로그래밍 언어 활용
Updated:
데이터 타입
데이터 타입
데이터 타입(Data Type)은 변수(Variable)에 저장될 데이터의 형식을 나타내는 것으로, 변수에 값을 저장하기 전에 문자형, 정수형, 실수형 등 어떤 형식의 값을 저장할지 데이터 타입을 저장하여 변수를 선언해야 한다. 테이터 타입의 유형은 다음과 같다.
- 정수타입(Integer Type)
- 부동 소수점 타입(Floating Point Type)
- 문자 타입(Character Type)
- 문자열 타입(String Type)
- 불린 타입(Boolean Type)
- 배열 타입(Array Type)
C/C++의 데이터 타입 크기 및 기억 범위
- char: 1Byte
- unsigned char: 1Byte
- short: 2Byte
- int, long: 4Byte
- long long: 8Byte
- unsigned short: 2Byte
- unsigned int, unsigned long: 4Byte
- float: 4Byte
- double, long double: 8Byte
- bool: 1Byte
JAVA의 데이터 타입 크기 및 기억 범위
- char: 2Byte
- byte: 1Byte
- short: 2Byte
- int: 4Byte
- long: 8Byte
- float: 4Byte
- double: 8Byte
- boolean: 1Byte
Python의 데이터 타입 크기 및 기억 범위
- str: 무제한
- int: 무제한
- float: 8Byte
- double: 16Byte
Python의 시퀀스 자료형(Sequence Type)이란 리스트(List), 튜플(Tuple), range, 문자열처럼 값이 연속적으로 이어진 자료형을 말한다.
- 리스트(List): 다양한 자료형의 값을 연속적으로 저장하며, 필요에 따라 개수를 늘리거나 줄일 수 있음
- 튜플(Tuple): 리스트처럼 요소를 연속적으로 저장하지만, 요소의 추가, 삭제, 변경은 불가능함
- range: 연속된 숫자를 생성하는 것으로, 리스트, 반복문 등에서 많이 사용됨
변수
변수의 개요
변수(Variable)는 컴퓨터가 명령을 처리하는 도중 발생하는 값을 저장하기 위한 공간으로, 변할 수 있는 값을 의미한다. 변수는 저장하는 값에 따라 정수형, 실수형, 문자형, 포인터형 등으로 구분한다.
변수명 작성 규칙
- 영문자, 숫자, _를 사용할 수 있다.
- 첫 글자는 영분자나 _로 사작해야 하며, 숫자는 올 수 없다.
- 글자 수에 제한이 없다.
- 공백이나 특수문자를 사용할 수 없다.
- 대•소문자를 구분한다.
- 예약어를 변수명으로 사용할 수 없다.
- 변수 선언 시 문장 끝에 반드시 세미클론을 붙여야 한다.
- 변수 선언 시 변수명에 데이터 타입을 명시하는 것을 헝가리안 표기법(Hungarian Notation)이라고 한다.
기억 클래스
변수 선언 시 메모리 내에 변수의 값을 저장히기 위한 기억영역이 할당되는데, 할당되는 기억영역에 따라 사용 범위에 제한이 있다. 이러한 기억영역을 결정하는 작업을 기억 클래스(Storage Class)라 한다. C언어에서는 다음과 같이 5가지 종류의 기억 클래스를 제공한다.
종류 | 기억영역 | 예약어 | 생존기간 | 사용범위 |
---|---|---|---|---|
자동 변수 | 메모리(스택) | auto | 일시적 | 지역적 |
레지스터 변수 | 레지스터 | register | 일시적 | 지역적 |
정적 변수(내부) | 메모리(데이터) | static | 영구적 | 지역적 |
정적 변수(외부) | 메모리(데이터) | static | 영구적 | 전역적 |
외부 변수 | 메모리(데이터) | extern | 영구적 | 전역적 |
- 자동 변수(Automatic Variable)
- 자동 변수는 함수나 코드의 범위를 한정하는 블록 내에서 선언하는 변수이다.
- 함수나 블록이 실행되는 동안에만 존재하며 이를 벗어나면 자동으로 소멸된다.
- 초기화하지 않으면 쓰레기값(Garbage Value)이 저장된다.
- 가비지 콜렉터(Garbage Collector): 변수를 선언만 하고 사용하지 않으면 이 변수들이 점유한 메모리 공간은 다른 프로그램들이 사용할 수 없게된다. 이렇게 선언만 하고 사용하지 않는 변수들이 점유한 메모리 공간을 강제로 해제하여 다른 프로그램들이 사용할 수 있도록 하는 것을 가비지 콜렉션(Garbage Collection)이라고 하며, 이 기능을 수행하는 모듈을 가비지 콜렉터라고 한다.
- 외부 변수(External Variable)
- 외부 변수는 현재 파일이나 다른 파일에서 선언된 변수나 함수를 참조(reference)하기 위한 변수이다.
- 외부 변수는 함수 밖에서 선언한다.
- 함수가 종료된 뒤에도 값이 소멸되지 않는다.
- 초기화하지 않으면 자동으로 0으로 초기화 된다.
- 다른 파일에서 선언된 변수를 참조할 경우 초기화 할 수 없다.
- 정적 변수(Static Variable)
- 정적 변수는 함수나 블록 내에서 선언하는 내부 정적 변수와 함수 외부에서 선언하는 외부 정적 변수가 있다.
- 내부 정적 변수는 선언한 함수나 블록 내에서만 사용할 수 있고, 외부 정적 변수는 모든 함수에서 사용할 수 있다.
- 두 변수 모두 함수나 블록이 종료된 뒤에도 값이 소멸되지 않는다.
- 초기화는 변수 선언 시 한 번만 할 수 있으며, 초기화를 생략하면 자동으로 0으로 초기화 된다.
- 레지스터 변수(Register Variable)
- 레지스터 변수는 메모리가 아닌 CPU 내부의 레지스터에 기억영역을 할당받는 변수이다.
- 자주 사용되는 변수를 레지스터에 저장하여 처리 속도를 높이기 위해 사용한다.
- 함수나 블록이 실행되는 동안에만 존재하며 이를 벗어나면 자동으로 소멸된다.
- 레지스터의 사용 개수는 한정되어 있어 데이터를 저장할 레지스터가 없는 경우 자동 변수로 취급되어 메모리에 할당한다.
- CPU에 저장되어 메모리 주소를 가질 수 없기 때문에 변수의 주소를 구하는 주소 연산자(&)를 사용할 수 없다.
변수의 선언
변수는 일반적으로 다음과 같은 형식으로 선언한다.
- 자료형 변수명 = 값;
연산자
연산자
- 산술 연산자
- 산술 연산자는 가, 감, 승, 재 등의 산술 계산에 사용되는 연산자를 말한다. 산술 연산자에는 일반 산술식과 달리 한 변수의 값을 증가하거나 감소시키는 증감 연산자가 있다.
- 관계 연산자
- 관계 연산자는 두 수의 관계를 비교하여 참(true) 또는 거짓(false)을 결과로 얻는 현산자이다. 거짓은 0, 참은 1로 사용되지만 0이외 모든 숫자고 참으로 간주된다.
- 비트 연산자
- 비트 연산자는 비트별(0, 1)로 연산하여 결과를 얻는 연산자이다.
- 논리 연산자
- 논리 연산자는 두 개의 논리 값을 연산하여 참(true) 또는 거짓(aalse)을 결과로 얻는 연산자이다. 관계 연산자와 마찬가지로 거짓은 0, 참은 1이다.
- 대입 연산자
- 연산 후 결과를 대입하는 연산식을 간략하게 입력할 수 있도록 대입 연산자를 제공한다. 대입 연산자는 산술, 관계, 비트, 논리 연산자에 모두 적용할 수 있다.
- 조건 연산자
- 조건 연산자는 조건에 따라 서로 다른 수식을 수행한다.
기타 연산자
- sizeof: 자료형의 크기를 표시한다.
- ,: 콤마로 구분하여 한 줄에 두 개 이상의 수식을 작성하거나 변수를 정의한다. 순서 연산자라 부르기도 한다.
- (자료형): 사용자가 자료형을 다른 자료형으로 변환할 때 사용하는 것으로, cast(캐스트) 연산자라고 부른다.
연산자 우선순위
한 개의 수식에 여러 개의 연산자가 사용되면 기본적으로 다음과 같은 순서대로 처리한다.
- 단항 연산자
- 산술 연산자
- 시프트 연산자
- 관계 연산자
- 비트 연산자
- 논리 연산자
- 조건 연산자
- 대입 연산자
- 순서 연산자
데이터 입•출력
C언어의 표준 입•출력 함수의 개요
표준 입출력 함수(Input-Output Functions)란 키보드로 입력받아 화면으로 출력할 때 사용하는 함수로, 대표적으로 scanf(), getchar(), gets(), printf(), putchar(), puts() 등이 있다.
scanf() 함수
scanf() 함수는 C언어의 표준 입력 함수로, 키보드로 입력받아 변수에 저장하는 함수이다.
- scanf(서식 문자열, 변수의 주소)
- 서식 문자열: 입력받을 데이터의 자료형을 지정한다.
- 변수의 주소: 데이터를 입력받을 변수를 적는다. 변수의 주소로 입력받아야 하기 때문에 변수에 주소연산자 &를 붙인다.
- 서식 문자열과 변수의 자료형은 일치해야 한다.
printf() 함수
printf() 함수는 C언어의 표준 출력 함수로, 인수로 주어진 값을 화면에 출력하는 함수이다.
- printf(서식 문자열, 변수)
- 서식 문자열: 변수의 자료형에 맞는 서식 문자열을 입력한다.
- 변수: 서식 문자열의 순서에 맞게 출력할 변수를 적는다. 주소 연산자 &를 붙이지 않는다.
기타 표준 입•출력 함수
- 입력
- getchar(): 키보드로 한 문자를 입력받아 변수에 저장하는 함수
- gets(): 키보드로 문자열을 입력받아 변수에 저장하는 함수로 Enter를 누르기 전까지를 하나의 문자열로 인식하여 저장함
- 출력
- putchar(): 인수로 주어진 한 문자를 화면에 출력하는 함수
- puts(): 인수로 주어진 문자열을 화면에 출력한 후 커서를 자동으로 다음 줄 앞으로 이동하는 함수
제어문
컴퓨터 프로그램은 명령어가 서술된 순서에 따라 무조건 위에서 아래로 실행되는데 조건을 지정해서 진행 순서를 변경할 수 있다. 이렇게 프로그램의 순서를 변경할 때 사용하는 명령문을 제어문이라고 한다. 제어문의 종류에는 if문, 다중 if문, switch문, goto, 반복문 등이 있다.
- 단순 if문
- if문은 조건에 따라서 실행할 문장을 달리하는 제어문이며, 단순 if문은 조건이 한 개 일 때 사용하는 제어문이다.
- 다중 if문
- 다중 if문은 조건이 여러 개 일 때 사용하는 제어문이다.
- switch문
- switch문은 조건에 따라 분기할 곳이 여러 곳인 경우 간단하게 처리할 수 있는 제어문이다.
- goto문
- goto문은 프로그램 실행 중 현재 위치에서 원하는 다른 문장으로 건너뛰어 수행을 계속하기 위해 사용하는 제어문이다.
- goto문은 원하는 문장으로 쉽게 이동할 수 있지만 많이 사용하면 프로그램의 이해와 유지 보수가 어려워져 거의 사용하지 않는다.
반복문
반복문은 제어문의 한 종류로 일정한 횟수를 반복하는 명령문을 말한다. 보통 변수의 값을 일정하게 증기시키면서 정해진 수가 될 때까지 명령이나 명령 그룹을 반복 수행한다. 반복문에는 for, while, do~while문이 있다.
- for문
- for문은 초기값, 최종값, 증가값을 지정하는 수식을 이용해 정해진 횟수를 반복하는 제어문이다.
- 초기값, 최종값, 증가값 중 하나 이상을 생략할 수 있고, 각각의 요소에 여러 개의 수식을 지정할 수도 있다.
- for(;;)와 같이 조건에 참여하는 수식을 모두 생략하면 for문은 무한 반복된다.
- for문은 처음붜 최종값에 대한 조건식을 만족하지 못하면 한 번도 수행하지 않는다.
- 문자도 for문을 수행할 수 있다.
- while문
- while문은 조건이 참인 동안 실행할 문장을 반복 수행하는 제어문이다.
- 조건이 처음부터 거짓이면 한 번도 수행하지 않는다.
- do~while문
- do~while문은 조건이 참인 동안 정해진 문장을 반복 수행하다가 조건이 거짓이면 반복문을 벗어나는 while문과 같은 동작을 하는데, 다른 점은 실행 문장을 무조껀 한 번 실행한 다음 조건을 판단하여 탈출 여부를 결정한다는 것이다.
- break, continue
- switch문이나 반복문의 시행을 제어하기 위해 사용되는 예약어이다.
- break: switch문이나 반복문 안에서 break가 나오면 블록을 벗어난다.
- continue: continue 이후의 문장을 실행하지 않고 제어를 반복문의 처음으로 옮긴다. 반복문에서만 사용된다.
배열과 문자열
배열은 동일한 데이터 유형을 여러 개 사용해야 할 경우 이를 손쉽게 처리하기 위해 여러 개의 변수들을 조합해서 하나의 이름으로 정의해 사용하는 것을 말한다. 배열은 행 우선으로 데이터가 기억장소에 할당된다.
- 1차원 배열
- 1차원 배열은 변수들을 일직선상의 개념으로 조합한 배열이다.
- 2차원 배열
- 2차원 배열은 변수들을 평면, 즉 행과 열로 조합한 배열이다.
- 자료형 변수명[행개수][열개수]
- 배열의 초기화
- 배열 선언 시 초기값을 지정할 수 있다.
- 배열 형태의 문자열 변수
- C언어에서는 큰따옴표로 묶인 글자는 글자 수에 관계없이 문자열로 처리된다.
- 배열에 문자열을 저장하면 문자열의 끝을 알리기 위한 널 문자(‘\0’)가 문자열 끝에 자동으로 삽입된다.
- 문자열 끝에 자동으로 널 문자가 삽입되므로, 널 문자까지 고려하여 배열 크기를 지정해야 한다.
포인터
포인터는 변수의 주소를 말하며, C언어에서는 주소를 제어할 수 있는 기능을 제공한다. 포인터 변수를 선언할 때는 자료의 형을 먼저 쓰고 변수명 앞에 간접 연산자 *를 붙이다. 포인터 변수에 주소를 저장하기 위해 변수의 주소를 알아낼 때는 변수 앞에 번지 연산자 &를 붙인다.
포인터 변수는 필요에 의해 동적으로 할당되는 메모리 영역인 힙 영역에 접근하는 동적 변수이다.
포인터와 배열
배열을 포인터 변수에 저장한 후 포인터를 이용해 배열의 요소에 접근할 수 있다. 배열 위치를 나타내는 첨자를 생략하고 배열의 대표명만 지정하면 배열의 첫 번째 요소의 주소를 지정하는 것과 같다. 배열 요소에 대한 주소를 지정할 때는 일반 변수와 동일하게 & 연산자를 사용한다.
구조체
배열이 자료의 형과 크기가 동일한 변수의 모임이라면 구조체는 자료의 종류가 다른 변수의 모임이라고 할 수 있다. 구조체를 정의한다는 것은 int나 char 같은 자료형을 하나 만드는 것을 의미한다. 구조체는 ‘structure(구조)’의 약어인 ‘struct’를 사용하여 정의한다.
Python의 기초
Python의 기본 문법
- 변수의 자료형에 대한 선언이 없다.
- 문장의 끝을 의미하는 세미클론을 사용할 필요가 없다.
- 변수에 연속하여 값을 저장하는 것이 가능하다.
- if나 for와 같이 코드 블록을 포함하는 명령문을 작성할 때 코드 블록은 클론과 여백으로 구분한다.
- 여백은 일반적으로 4칸 또는 한 개의 탭만큼 띄워야하며, 같은 수준의 코드들은 반드시 동일한 여백을 가져야 한다.
Python의 데이터 입•출력 함수
- input()함수
- input() 함수는 Python의 표준 입력 함수로, 키보드로 입력받아 변수에 저장하는 함수이다. 입력되는 값은 문자열로 취급되어 저장한다.
- 변수 = input(출력문자)
- 변수1, 변수2, … = input(출력문자).split(분리문자)
- print()함수
- print(출력값1, 출력값2, …, sep=분리분자, end=종료문자)
- print(서식 문자열 % (출력값1, 출력값2, …))
리스트(List)
C와 Java에서는 여러 요소들을 하나의 이름으로 처리할 때 배열을 사용했는데 Python에서는 리스트를 사용한다. 리스트는 필요에 따라 개수를 늘이거나 줄일 수 있기 때문에 리스트를 선언할 때 크기를 적지 않는다. 배열과 달리 하나의 리스트에 정수, 실수, 문자열 등 다양한 자료형을 섞어서 저장할 수 있다. Python에서 리스트의 위치는 0부터 시작한다.
- 리스트명 = [값1, 값2, …]
- 리스트명 = list([값1, 값2, …])
딕셔너리(Dictionary)
딕셔너리는 연관된 값을 묶어서 저장하는 용도로 사용한다. 리스트는 저장된 요소에 접근하리 위한 키로 위치에 해당하는 0, 1, 2 등의 숫자를 사용하지만 딕셔너리는 사용자가 원하는 값을 키로 지정해 사용한다. 딕셔너리에 접근할 때는 딕셔너리 뒤에 대괄호를 사용하며, 대괄호 안에 키를 지정한다.
- 딕셔너리명 = {키1:값1, 키2:값2, …}
- 딕셔너리명 = dict({키1:값1, 키2:값2, …})
Range
Range는 연속된 숫자를 생성하는 것으로, 리스트, 반복문 등에서 많이 사용된다.
- range(최종값) : 0에서 최종값-1 까지 연속된 숫자를 생성
- range(초기값, 최종값)
- range(초기값, 최종값, 증가값): 증가값이 음수인 경우 초기값에서 최종값+1 까지 증가값 만큼 감소하면서 숫자를 생성한다.
슬라이스(Slice)
슬라이스는 문자열이나 리스트와 같은 순차형 객체에서 일부를 잘라(slicing) 반환하는 기능이다.
- 객체명[초기위치:최종위치]
- 객체명[초기위치:최종위치:증가값]
슬라이스는 일부 인수를 생략하여 사용할 수 있다.
- 객체명[:] 또는 객체명[::]
- 객체명[초기위치:]
- 객체명[:최종위치]
- 객체명[::증가값]
Python의 활용
- if문 ```python if 조건: 실행할 문장
if 조건: 실행할 문장1 else: 실행할 문장2
if 조건1: 실행할 문장1 elif 조건2: 실행할 문장2 elif 조건3: 실행할 문장3 else: 실행할 문장4
* for문
```python
for 변수 in range(최종값):
실행할 문장
for 변수 in 리스트:
실행할 문장
- while문
while 조건: 실행할 문장
- 클래스 ```python class 클래스명: 실행할 문장 def 메소드명(self, 인수): 실행할 문장 return 값
변수명 = 클래스명() ```
스크립트 언어
스크립터 언어(Script Language)의 개요
스크립터 언어는 HTML 문서 안에 직접 프로그래밍 언어를 삽입하여 사용하는 것으로, 기계어로 컴파일 되지 않고 별도의 번역기가 소스를 분석하여 동작하게 하는 언어이다. 게시판 입력 등과 같읕 데이터베이스 처리 작업을 수행하기 위해 주로 사용한다.
스크립터 언어는 클라이언트의 웹 브라우저에서 해석되어 실행되는 클라이언트용 스크립트 언어와 서버에서 해석되어 실행한 후 결과만 클라이언트로 보내는 서버용 스크립트 언어가 있다.
- 서버용 스크립터 언어: ASP, JSP, PHP, 파이썬
- 클라이언트용 스크립트 언어: 자바 스크립트, VB 스크립트
스크립트 언어의 장단점
- 컴파일 없이 바로 실행하므로 결과를 바로 알 수 있다.
- 배우고 코딩하기 쉽고 개발 시간이 짧다.
- 소스 코드를 쉽고 빠르게 수정할 수 있다.
- 코드를 읽고 해석해야 하므로 실행 속도가 느리다.
- 런타일 오류가 많이 발생한다.
스크립트 언어의 종류
- 자바스크립트(Javascript)
- 웹 페이지의 동작을 제어하는 데 사용되는 클라이언트용 스크립트 언어이다.
- 클래스 기반의 객체 상속을 지원하여 객체지향 프로그래밍 언어의 성격도 갖고 있다.
- Prototype Link와 Prototype Object를 통해 프로토타입 개념을 활용할 수 있다.
- PHP(Professional Hypertext Preprocessor)
- 서버용 스크립트 언어로, Linus, Unix, Windows 운영체제에서 사용 가능하다.
- C, Java 등과 문법이 유사하므로 배우기 쉬워 웹 페이지 제작에 많이 사용된다.
- 파이썬(Python)
- 객체지향 기능을 지원하고 플랫폼에 독립적이며 문법이 간단하여 배우기 쉽다.
- 쉘 스크립트
- 유닉스/리눅스 계열이 쉘(Shell)에서 사용되는 명령어들의 조합으로 구성된 스크립트 언어이다.
- 컴파일 단계가 없어 실행 속도가 빠르다.
- 저장 시 확장로 ‘.sh’가 붙는다.
- 쉘의 종류: Bash Shell, Bourne Shell, C Shell, Korn Shell 등
- 쉘 스크립트에서 사용되는 제어문: if, cas, for, while, until
- Basic
- 절차지향 기능을 지원하는 대화형 인터프리터 언어로, 초보자도 쉽게 사용할 수 있는 문법 구조를 갖는다.
라이브러리
라이브러리의 개념
라이브러리는 프로그램을 효율적으로 개발할 수 있도록 자주 사용하는 함수나 데이터들을 미리 만들어 모아 놓은 집합체이다.
- 자주 사용하는 함수들의 반복적인 코드 작성을 피하기 위해 미리 만들어 놓은 것으로, 필요할 때는 언제든지 호출하여 사용할 수 있다.
- 프로그래밍 언어에 따라 일반적으로 도움말, 설치 파일, 샘플 코드 등을 제공한다.
- 라이브러리는 모듈과 패키지 모두를 의미한다.
- 모듈: 하나의 기능이 한 개의 파일로 구현된 형태
- 패키지: 하나의 패키지 폴더 안에 여러 개의 모듈을 모아 놓은 형태
- 라이브러리에는 표준 라이브러리와 외부 라이브러리가 있다.
- 표준 라이브러리: 프로그래밍 언어에 기본적으로 포함되어 있는 라이브러리로, 여러 종류의 모듈이나 패키지 형태이다.
- 외부 라이브러리: 개발자들이 필요한 기능들을 만들어 인터넷 등에 공유해 놓은 것으로, 외부 라이브러리를 다운받아 설치한 후 사용한다.
C언어의 대표적인 표준 라이브러리
- stdio.h: 데이터의 입출력에 사용되는 기능들을 제공한다.
- math.h: 수학 함수들을 제공한다.
- string.h: 문자열 처리에 사용되는 기능들을 제공한다.
- stdlib.h: 자료형 변환, 난수 발생, 메모리 할당에 사용되는 기능들을 제공한다.
- time.h: 시간 처리에 사용되는 기능들을 제공한다.
JAVA의 대표적인 표준 라이브러리
- java.lang: 자바에 기본적으로 필요한 인터페이스로, 자료형, 예외 처리 등에 관련된 기능을 제공한다. import문 업이도 사용할 수 있다.
- java.util: 날자 처리, 난수 발생, 복잡한 문자열 처리 등에 관련된 기능을 제공한다.
- java.io: 파일 입출력과 관련된 기능 및 프로토콜을 제공한다.
- java.net: 네트워크와 관련된 기능을 제공한다.
- java.awt: 사용자 인터페이스(UI)와 관련된 기능을 제공한다.
예외 처리
예외 처리의 개요
프로그램의 정상적인 실행을 방해하는 조건이나 상태를 예외(Exception)라고 하며, 이러한 예외가 발생했을 때 프로그래머가 해당 문제에 대비해 작성해 놓은 처리 루틴을 수행하도록 하는 것을 예외 처리(Exception Handling)라고 한다.
- 예외가 발생했을 때 일반적인 처리 루틴은 프로그램을 종료시키거나 로그를 남기도록 하는 것이다.
- C**, Ada, JAVA, JS와 같은 언어에는 예외 처리 기능이 내장되어 있으며, 그 외의 언어에서는 필요할 경우 조건문을 이용해 예외 처리 루틴을 작성한다.
- 예외의 원인에는 컴퓨터 하드웨어 문제, 운영체제의 설정 실수, 라이브러리 손상, 사용자의 입력 실수, 받아들일 수 없는 연산, 할당하지 못하는 기억장치 접근 등 다양하다.
JAVA의 예외 처리
JAVA는 잘못된 동작이나 결과에 영향을 줄 수 있는 예외를 객체로 취급하며, 예외와 관련된 클래스르 java.lang 패키지에서 제공한다.
- JAVA는 try ~ catch 문을 이용해 예외를 처리한다.
- try 블록 코드를 수행하다 예외가 발생하면 예외를 처리하는 catch 블록으로 이동하여 예외 처리 코드를 수행하므로 예외가 발생한 이후의 코드는 실행되지 않는다.
댓글남기기