흔히 '변수'를 값이 특정지어지지 않아 임의의 값을 가질 수 있는 문자라 생각한다. 이는 수학적 개념에서 바라본 변수다. 그러나 프로그래밍에서 변수는 '값을 저장할 수 있는 메모리상의 공간'을 의미한다. 하나의 변수는 단 하나의 값만 저장 가능해, 새로운 값을 저장하
객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다. 코드의 재사용성이 높다. 코드의 관리가 용이하다. -
변수(variable)는 클래스 변수, 인스턴스 변수, 지역 변수 총 세 종류가 있다. 변수는 종류를 결정 짓는 중요한 요소는 '변수의 선언된 위치'이다. 멤버 변수를 제외한 나머지 변수들은 모두 지역변수이며, 멤버변수 중 static이 붙은 것은 클래스 변수,
인스턴스가 생성될 때, 호출되는 '인스턴스 초기화 메서드'이다.인스턴스 변수의 초기화 작업에 주로 사용되며, 인스턴스 생성 시에 실행되어야 할 작업을 위해서도 사용된다.생성자 역시 메서드처럼 클래스 내에 선언되며, 구조도 메서드와 유사하지만 리턴값이 없으며 void를
상속의 정의와 자점 >상속이란, 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다. 상속을 통해서 클래스를 작성하면 보다 적은 양의 코드로 새로운 클래스를 작성할 수 있고, 코드를 공통적으로 관리할 수 있기 때문에 코드의 추가 및 변경이 매우 용이하다.
제어자(modifier)란? 제어자는 클래스, 변수 또는 메서드의 선언부에 함께 사용되어 부가적인 의미를 부여한다. 제어자의 종류는 크게 접근 제어자와 그 외 제어자로 나눌 수 있다. > 접근 제어자   public, protected, defau
다형성(polymorphism)이란? >* 하나의 객체가 여러 가지 타입을 가질 수 있는 것 조상 클래스 타입의 참조변수로 자손클래스의 인스턴스를 참조할수 있는 것.
한 클래스 내에 같은 이름의 메서드를 여러 개 정의하는 것을 '메서드 오버로딩' 또는 '오버로딩'이라고 한다. 메서드 이름이 같아야 한다.매개변수의 개수 또는 타입이 달라야 한다.오버로딩된 메서드들은 매개변수에 의해서만 구별될 수 있으므로 반환 타입은 오버로딩을 구현하
추상클래스(abstract class)란? > * 하나 이상의 추상 메소드를 포함하는 클래스 반드시 구현해야 하는 부분에 대해 명시적으로 표현 추상 클래스 자체는 객체(인스턴스) 생성 불가 추상 클래스는 추상 메서드를 포함하고 있다는 것을 제외하고는 일반 클래스와 다
인터페이스란? > 추상 메서드의 집합이다. 다중 상속처럼 사용할 수 있다. 오직 추상메서드와 상수만을 멤버로 가질 수 있으며, 그 외의 다른 어떤한 요소도 허용하지 않는다. 추상클래스가 '미완성 설계도'라고 한다면, 인터페이스는 밑그림만 그려져 있는 '기본 설계도
내부 클래스는 클래스 내에 선언된 클래스이다. 클래스 안에 클래스를 선언하는 이유는 두 클래스가 서로 긴밀한 관계에 있기 때문이다. 내부 클래스의 장점내부 클래스에서 외부 클래스의 멤버들을 쉽게 접근할 수 있다.코드의 복잡성을 줄일 수 있다.(캡슐화)B는 내부 클래스(
프로그램이 실행 중 어떤 원인에 의해서 오작동을 하거나 비정상적으로 종료되는 경우가 있다. 이러한 결과를 초래하는 원인을 프로그램 에러 또는 오류라고 한다.컴파일 에러 : 컴파일 시에 발생하는 에러런타임 에러 : 실행시에 발생하는 에러논리적 에러 : 실행은 되지만, 의
java.lang 패키지는 자바프로그래밍에 가장 기본이 되는 클래스들을 포함하고 있다. 때문에 import문 없이도 사용할 수 있다. 모든 클래스의 최고 조상인 Object 클래스의 멤버들은 모든 클래스에서 바로 사용 가능하다. Object 클래스는 멤버 변수가 없고
String 클래스 > 데이터(char[ ]) + 메서드(문자열 관련) 불변(immutable) 클래스 > 한 번 생성된 String 인스턴스가 갖고 있는 문자열은 읽어 올 수만 있고 변경할 수 없다. ( read only ) Strig 클래스에는 문자열을 저장하
내부적으로 문자열 편집을 위한 버퍼(buffer)를 가지고 있으며, StringBuffe 인스턴스를 생성할 때 그 크기를 지정할 수 있다.(mutable)String 클래스는 인스턴스를 생성할 때, 문자열을 변경할 수 없지만 StringBuffer 클래스는 변경이 가능
Math 클래스 > - 기본적인 수학계산에 유용한 메서드로 구성. 생성자의 접근제어자가 private이다. 메서드는 모두 static이다. E(자연로그), PI(원주율) 2개의 상수를 정의해 놓았다. 올림, 버림, 반올림 > - 올림 : Math.ceil() 버림 :
데이터 군을 저장하는 클래스들을 표준화한 설계여러 데이터를 편리하게 관리할 수 있게 만들어 놓은 것컬렉션 프레임워크는 컬렉션 데이터 그룹을 크게 3가지 타입이 존재한다 인식하고 각 컬렉션을 다루는데 필요한 기능을 가진 3개의 인터페이스를 정의하였다. 그리고 인터페이스
다양한 타입의 객체들을 다루는 메서드나 컬레션 클래스에 컴파일 시의 타입 체크를 해주는 기능이다. 객체 타입을 컴파일 시에 체크하기 때문에 객체의 타입 안정성을 높이고 형변환의 번거로움이 줄어든다. 타입 안전성을 높인다는 것은 의도하지 않은 타입의 객체가 저장되는 것을