프로그래밍(27)
-
예외처리
프로그램의 오류 프로그램이 실행 중 어떤 원인에 의해 오작동을 하거나 비정상적으로 종료되는 경우가 있습니다 이러한 결과를 초래하는 원인을 프로그램 에러 또는 오류라고 합니다 이를 발생 시점에 따라 컴파일 에러와 런타임 에러로 나눌 수 있는데 글자 그대로 컴파일 에러는 컴파일할 때 발생하는 에러이고 프로그램의 실행 도중에 발생하는 에러를 런타임 에러라고 합니다 이 외에도 논리적 에러가 있는데 컴파일도 잘되고 실행도 잘되지만 의도한 것과 다르게 동작하는 것을 말합니다 예를 들어 창고의 재고가 음수가 된다던가 게임 프로그램에서 비행기가 총알을 맞아도 죽지 않는 경우가 이에 해당됩니다. 소스코드를 컴파일 하면 컴파일러가 소스코드에 대해 오타나 잘못된 구문 자료형 체크 등의 기본적인 검사를 수행하여 오류가 있는지..
2020.05.22 -
상속
상속 상속이란 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것입니다 상속을 토해 클래스를 작성하면 보다 적은 양의 코드로 새로운 클래스를 작성할수 있고 코드를 공통적으로 관리할 수 있기 때문에 코드의 추가 및 변경이 매우 용이합니다. 이러한 특징때문에 코드를 재사용을 쉽게할수있으며 중복을 제거하여 프로그램의 생산성과 유지보수에 큰 도움이됩니다. 그럼 자바에서 상속을 구현하는방법을 알아 보겠습니다 새로 작속하고자 하는 클래스의 이름을 뒤에 상속받고자 하는 클래스의 이름을 키워드 extends와 함께 써주면됩니다 class Lec08{//부모클래스 } public class Ex08 extends Lec08{//자식클래스, Ex클래스는 Lec08클래스에 상속을 받습니다 } 위의 Ex08 클래스처럼 상..
2020.05.20 -
배열
배열 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것을 배열(array)이라고 합니다 많은 양의 데이터를 저장하기 위해서 그 데이터의 숫자만큼 변수를 선언해야 한다면 매우 곤란할 것입니다 예를 들어 수백 개의 데이터를 저장해야 할 때 같은 수의 변수를 선언해야 한다면 상당히 지루하고 불편할 것입니다 이런 경우에 배열을 사용하면 많은 양의 데이터를 손쉽게 다룰 시 있게 됩니다. 여기서 중여한점은 같은 타입이어야 한다는 것 입니다 서로 다른 타입의 변수들로 구성된 배열은 만들 수 없습니다 한 학급의 시험 점수를 저장하고자 할 때 배열을 사용하기 좋은 예이니다 많일 배열을 사용하지 않는다면 5명의 학생의 점수를 저장해주기 위해 아래의 코드처럼 변수를 선언해주어야 합니다 public class Ex11 { ..
2020.05.19 -
제어자와 캡슐화
제어자 제어자는 클래스 변수 또는 메서드의 선언부에 함께 사용되어 부가적인 의미를 부여합니다 제어자의 종류는 크게 접근 제어자와 그외 제어자로 나눌수 있습니다 접근 제어자: public, protected,default,private 그외 :static, final,abstract,native,transient,synchronized,volatile,strictfp 제어자는 클래스나 멤버 변수와 메서드에 주로 사용되며 사나의 대상에 대해서 여러 제어자를 조합하여 사용하는것이 가능합니다 단 접근 제어자는 한 번에 네가지 중에 하나만 선택해서 사용할 수 있습니다 즉 하나의 대상에 대해서 public과 private을 함께 사용할수 없습니다. 접근제어자 객체지향 에서 정보은닉은 사용자가 굳이 알 필요가 없는 ..
2020.05.18 -
객체지향 언어
객체지향 요즘에는 거의 모든 분야에서 컴퓨터를 사용하지만 초창기에는 과학실험이나 미사일 발사 실험 같은 모의실험을 목적으로 사용되어 왔습니다 이 시절의 과학자들은 모의실험을 위해 실제 세계와 유사한 가상 세계를 컴퓨터 속에 구현하고자 노력했으며 이러한 노력이 객체지향 이론을 탄생시켰습니다. 즉 객체지향의 기본이념은 실제 세계는 사물(객체)로 이루어져 있으며 발생하는 모든 사건들은 사물간의 상호작용이다 라고 할 수 있습니다. 객체지향 언어 그럼 프로그램으로서 객체지향은 무엇인지 알아보겠습니다. 객체지향 언어는 기종의 프로그래밍 언어와 다른 전혀새로운 것이 아니라 기종의 프로그래밍 언어에 몇 가지 새로운 규칙을 추가한 보다 발전된 형태라고 할 수 있습니다. 이러한 규칙들을 이용하여 코드 간에 서로 관계를 맺..
2020.05.15 -
클래스와 메서드 오버로드
클래스 클래스는 객체 지향 프로그래밍에서 특정 객체를 생성하기 위해 변수와 메서드를 정의하는 일종의 틀로, 객체를 정의하기 위한 상태(멤버 변수)와 메서드(함수)로 구성되어 있습니다. class MyClass{ } 클래스를 지정할 때 시작은 영어 대문자로 시작하며 나머지는 소문자로 입력합니다. 만일 2개 이상의 단어일 경우 각 단어의 첫 글자를 대문자로 구분 짓어줍니다. 특수문자는 $,_ 를 사용이 가능하지만 특별한 경우가 아닐 경우 거의 사용되지 않습니다. $같은 경우 다중 클래스를 표현하는 것일 수 있기 때문에 오해를 할 수 있어 사용하지 않는 것이 좋습니다. 클래스명과 클래스 파일명 잘못 알고 있을 수 있는 것 중에 소스코드의 파일명이 클래스의 이름과 일치해야 한다고 생각하지만 그렇지 않습니다. 컴..
2020.05.13