클래스

· Java
내부 클래스란? 내부 클래스는 클래스 내에 선언된 클래스이다. 내부 클래스로 선언하면 두 클래스의 멤버든 간의 서로 쉽게 접근할 수 있다는 장점과 외부에는 불필요한 클래스를 감춤으로써 코드의 복잡성을 낮출 수 있다는 장점(캡슐화)이 있다. 내부 클래스는 외부 클래스를 제외하고는 다른 클래스에서 사용되지 않는 것이어야 한다. class A { ... class B { ... } } 내부 클래스의 종류와 특징 내부 클래스의 종류는 선언위치에 따른 변수의 종류와 같다. 내부 클래스의 선언 class Outer { class InstanceInner {} // 인스턴스 내부 클래스 static class StaticInner {} // 스태틱 내부 클래스 void method() { class LocalInne..
· Java
인터페이스란? 인터페이스는 일종의 추상클래스(abstract class)이다. 추상클래스(abstract class)는 일반 메서드도 포함할 수 있지만 인터페이스는 오직 추상메서드와 상수만을 멤버로 가실 수 있다. 추상클래스(abstract class)는 부분적으로 완성된 미완성 설계도라고 한다면, 인터페이스는 밑그림만 그려져 있는 기본 설계도라고 생각하면 된다. 인터페이스 자체만으로 사용되기 보다는 다른 클래스를 작성하는데 도움을 줄 목적으로 작성된다. 인터페이스 제약사항 모든 멤버변수는 public static final 이어야 하며, 이를 생략할 수 있다. 모든 메서드는 public abstract 이어야 하며, 이를 생략 할 수 있다. 단, static 메서드와 디폴트 메서드는 예외 (JDK1.8..
· Java
추상클래스란? 클래스를 설계도에 비유한다면, 추상클래스는 미완성 설계도에 비유할 수 있다. 미완성이라는 것은 멤버의 개수에 관계된 것이 아니라 미완성 메서드(추상 메서드)를 포함하고 있다는 의미다. 추상클래스는 상속을 통해 자손클래스에 의해서만 완성할 수 있다. 추상클래스는 추상메서드를 포함하고 있다는 것을 제외하고는 일반클래스와 다르지 않다. 추상클래스를 상속받은 자손클래스에서는 추상클래스에서 선언된 추상메서드를 모두 구현해야 한다. 만약 하나라도 구현하지 않았을 경우 자손클래스도 동일한 추상클래스로 선언되어야 한다. abstract class Car { // 추상 클래스 boolean enginePower; String engineMode; abstract void engineOnOff(); abst..
· Java
static - 클래스의, 공통적인 인스턴스변수는 하나의 클래스로부터 생성되었더라도 각기 다른 값을 유지하지만, 클래스변수(static멤버변수)는 모든 인스턴스가 공유하기 때문에 같은 값을 갖는다. static은 붙은 멤버변수와 메서드, 초기화 블럭은 인스턴스가 아닌 클래스에 관계된 것이기 때문에 인스턴스를 생성하지 않고도 사용할 수 있다. 인스턴스 메서드와 static 메서드의 근본적인 차이는 메서드 내에서 인스턴스 멤버를 사용하는가의 여부에 있다. 사용될 수 있는곳 : 메서드, 멤버변수, 초기화 블럭 final - 마지막의, 변경될 수 없는 변수에 사용되면 값을 변경할 수 없는 상수가 되며, 메서드에 사용되면 오버라이딩(overriding)을 할 수 없게 되고, 클래스에 사용되면 자신을 확장하는 자손..
· Java
변수의 초기화란? 변수를 선언하고 처음으로 값을 저장하는 것 경우에 따라서 필수적이기도 하고 선택적이기도 하지만, 가능하면 선언과 동시에 적절한 값으로 초기화 하는 것이 바람직하다. 멤버 변수는 초기화를 하지 않아도 변수의 자료형에 맞는 기본값으로 초기화 된다. 하지만 지역변수는 사용하기 전에 반드시 초기화 해야한다. class InitTest { int x; // 인스턴스 변수 int y = x; // 인스턴스 변수 void method() { int i; // 지역변수 int j = i; // 에러 발생. 지역변수를 초기화 하지않고 사용 } } 명시적 초기화(explicit initialization) 변수를 선언과 동시에 초기화하는 것을 명시적 초기화라고 한다. 여러 초기화 방법 중에서 가장 우선적..
· Java
변수는 클래스변수, 인스턴스변수, 지역변수 모두 세 종류가 있다. 변수의 종류를 결정짓는 중요한 요소는 변수의 선언된 위치이다. 인스턴스변수(instance variable) 클래스 영역에 선언되며, 클래스의 인스턴스를 생성할 때 만들어진다. 클래스 영역안에 선어되었기 때문에 사용하려면 인스턴스를 생성해야 한다. 각 인스턴스마다 다른 값을 저장할 수 있다. 클래스변수(class variable) 인스턴스변수 앞에 static을 붙히기만 하면 된다. 인스턴스변수와는 달리 모든 인스턴스는 공통적인 값을 유지해야한다. 인스턴스를 생성하지 않아도 '클래스이름.클래스변수'와 같은 형식으로 사용한다. 클래스가 메모리에 로딩될 때 생성되어 프로그램이 종료될 때 까지 유지된다. public을 앞에 붙이면 같은 프로그램..
· Java
클래스 - 데이터와 함수의 결합 변수 - 하나의 데이터를 저장할 수 있는 공간 배열 - 같은 종류의 여러 데이터를 하나의 집합으로 저장할 수 있는 공간 구조체 - 서로 관련된 여러 데이터를 종류에 관계없이 하나의 집합으로 저장할 수 있는 공간 클래스 - 데이터와 함수의 결합(구조체 + 함수) class Tv1 { // 구조체 // 변수 String color; boolean power; int channel; } class Tv { // 클래스 // 변수 String color; boolean power; int channel; // 함수 void powerOnOff() { // 전원 ON, OFF power = !power; } void channelUp() { // 채널 UP ++channel; } ..
· Java
클래스(Class)와 객체(Object)의 정의와 용도 클래스(Class)란? "객체를 정의해놓은 것" 또는 "객체의 설계도 또는 틀" 클래스의 정의 : 객체를 정의해 놓은 것 클래스의 용도 : 객체를 생성하는데 사용 객체(Object)란? 클래스에 정의된 내용대로 메모리에 생성된 것을 뜻한다. 객체의 정의 : 실제로 존재하는 것. 사물 또는 개념 객체의 용도 : 객체가 가지고 있는 기능과 속성에 따라 다름 예) TV설계도(클래스)는 TV(객체)를 정의한 것이며 TV(객체)를 만다는데 사용된다. 객체와 인스턴스 클래스로부터 객체를 만드는 과정을 클래스의 인스턴스화(instantiate)라고 하며, 어떤 클래스로부터 만들어진 객체를 그 클래스의 인스턴스(instance)라고 한다. 예) TV설계도(클래스)..
· Java
String 배열의 선언과 생성 & 초기화 배열의 타입이 String인 경우에도 배열의 선언과 생성방법 및 초기화는 다르지 않다. String의 기본값은 null이므로 각 요소의 값은 null로 초기화 된다. char 배열과 String 클래스 String 클래스는 char 배열에 여러 기능을 추가하여 확장한 것 그러므로 char 배열보다 String 클래스를 사용하는 것이 문자열을 다루기 쉽다. 다만 String 객체(문자열)는 읽을수만 있을 뿐 내용을 변경할 수 없다. (변경 가능한 문자열을 다루려면 StringBuffer클래스 사용) 문자열을 숫자로 변환하려면 Integer.parseInt()를 사용 String str = "java"; String strNum = "8"; str += strNum..
· Java
클래스 권장 규칙 클래스 이름의 첫 글자는 항상 대문자로 한다. 여러 단어로 이루어진 이름은 단어의 첫 글자를 대문자로 한다. 상수의 이름은 모두 대문자로 한다. 어러 단어로 이루어진 경우 '_'로 구분한다. 변수의 이름은 짧을수록 좋지만, 약간 길더라도 용도를 알기 쉽게 선언하는게 바람직하다. 식별자 생성 규칙 프로그래밍에서 사용하는 모든 이름을 '식별자(identifier)'라고 하며, 같은 영역 내에서 서로 구분(식별)될 수 있어야 한다. 식별자를 생성할때는 다음과 같은 규칙을 지켜야 한다. 대소문자가 구분되며 길이에 제한이 없다. 예약어를 사용해서는 안 된다. 숫자로 시작해서는 안된다. 특수문자는 '_'와 '$'만을 허용한다. 예약어 예약어는 키워드(keyword) 또는 '리져브드 워드(reser..
beekei
'클래스' 태그의 글 목록