java.lang 패키지 java.lang 패키지는 자바프로그램에 가장 기본이 되는 클래스들을 포함하고 있습니다. 그렇기 때문에 java.lang 패키지의 클래스들은 import문 없이도 사용할 수 있게 되어 있습니다. String클래스나 System클래스를 사용할 때 import문 없이 사용할 수 있는 이유가 바로 java.lang 패키지에 속한 클래스들이기 때문입니다. Object 클래스 Object클래스는 모든 클래스의 최고 조상이기 때문에 Object클래스의 멤버들은 모든 클래스에서 바로 사용 가능합니다.Object클래스의 메서드설 명protected Object clone()객체 자신의 복사본을 반환public boolean equals(Object obj)객체 자신과 객체 obj가..
예외 처리 프로그램 오류 프로그램이 실행 중 오작동을 하거나 비정상적으로 종료되는 경우가 있습니다. 이런한 결과를 초래하는 원인을 프로그램 에러 또는 오류라고 합니다. 이를 발생 시점에 따라 '컴파일 에러(compile-time error)'와 '런타임 에러(runtime error)'로 나눌 수 있는데, 글자 그대로 '컴파일 에러'는 컴파일 할 때 발생하는 에러고, 프로그램 실행 도중에 발생하는 에러를 '런타임 에러'라고 합니다. 이 외에도 '논리적 에러(logical error)'가 있는데, 컴파일도 잘되고 실행도 잘되지만 의도한 것과 다르게 동작하는 것을 말합니다. 예를 들어, 창고의 재고가 음수가 된다던가, 게임 프로그램에서 총알을 맞아도 죽지 않는 경우가 이에 해당합니다. 소스코드를 컴파일 하면..
상속(inheritance) 상속이란, 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것입니다. 상속을 통해서 클래스를 작성하면 보다 적은 양의 코드로 새로운 클래스를 작성할 수 있고 코드를 공통적으로 관리할 수 있기 때문에 코드의 추가 및 변경이 매우 용이합니다. 이러한 특징은 코드의 재사용성을 높이고 코드의 중복을 제거하여 프로그램의 생산성과 유지보수에 크게 기여합니다. 자바에서 상속을 위해서는 새로 작성하고자 하는 클래스의 이름 뒤에 상속받을 클래스의 이름을 키워드 'extends'와 함께 써주면 됩니다.class Child extends Parent {...}이 두 클래스는 서로 상속 관계에 있다고 하며, 상속해주는 클래스를 '조상 클래스'라 하고, 상속 받는 클래스를 '자손 클래스'라 합니..
객체지향언어 요즘은 컴퓨터의 눈부신 발전으로 활용 폭이 넓고 다양해져서 컴퓨터가 사용되지 않는 분야가 없을 정도지만, 초창기에는 주로 과학실험이나 미사일 발사실험과 같은 모의실험(Simulation)을 목적으로 사용되었습니다. 이 시절의 과학자들은 모의실험을 위해 실제 세계와 유사한 가상 세계를 컴퓨터 속에 구현하고자 노력하였으며 이러한 노력은 객체지향이론을 탄생시켰습니다. 객체지향이론의 기본 개념은 '실제 세계는 사물(객체)로 이루어져 있으며, 발생하는 모든 사건들은 사물간의 상호작용이다' 라는 것입니다. 실제 사물의 속성과 기능을 분석한 다음, 데이터(변수)와 함수로 정의함으로써 실제 세계를 컴퓨터 속에 옮겨 놓은 것과 같은 가상 세계를 구현하고 이 가상세계에서 모의실험을 함으로써 많은 시간과 비용을..
배열(Array) 같은 타입의 여러 변수를 하나로 묶은 것을 '배열(array)'이라고 합니다. 여기서 중요한 것은 같은 타입이어야 한다는 것이며, 서로 다른 타입의 변수들로 구성된 배열은 만들 수 없습니다. 배열은 변수의 선언과 달리 다뤄야할 데이터의 수가 아무리 많아도 단지 배열의 길이만 바꾸면 됩니다.위 그림은 5개의 int 값을 저장할 수 있는 배열을 그림으로 나타낸 것입니다. 그림에서 알 수 있듯이, 변수와 달리 저장공간이 연속적으로 배치되어 있다는 특징이 있습니다. 배열의 선언과 생성 배열은 원하는 타입의 변수를 선언하고 변수 또는 타입에 배열을 의미하는 대괄호[ ]를 붙이면 됩니다.int[] score; // 타입[] 변수이름;int score[]; // 타입 변수이름[]; 배열을 선언한 다..
조건문 코드의 실행흐름은 기본적으로 위에서 아래로 한 문장씩 순차적으로 수행되지만, 때로는 조건에 따라 문장을 건너뛰고, 때로는 같은 문장을 반복해서 수행해야할 때가 있습니다. 이처럼 프로그램의 흐름(flow)을 바꾸는 역할을 하는 문장들을 '제어문(flow control statement)'이라고 합니다. 제어문에는 조건문과 반복문이 있습니다. if문 if문 가장 기본적인 조건문이며, 다음과 같이 '조건식'과 '블럭{ }'으로 이루어져 있습니다.if (조건식) { // 조건식이 참(true)일 때 수행될 문장}if문에 사용되는 조건식은 일반적으로 비교 연산자와 논리 연산자로 구성됩니다. 블럭{ } 안에는 보통 여러 문장을 넣지만, 한 문장만 넣거나 아무런 문장도 넣지 않을 수 있습니다. 만일 블럭..