본문 바로가기

분류 전체보기

(77)
익명 클래스(anonymous class) 익명클래스는 이름이 없는 클래스로 클래스의 선언과 생성이 동시에 되는 클래스이다. 단, 익명 클래스는 말 그대로 이름이 없는 클래스이기 때문에 재사용이 불가능하다. → 같은 내용의 익명클래스를 두 번 선언하고 생성해도 이를 컴파일하면 .class파일이 다른 이름으로 2개가 생성된다. ( ex 외부클래스이름$1, 외부클래스이름$2 // 이름이 없기 때문에 숫자로 구분된다.) 익명 클래스의 특징 재사용이 불가능하다. 선언과 동시에 생성이 된다. 이름이 없기 때문에 생성자를 가질 수 없다. 하나의 클래스를 상속받거나 인터페이스를 구현 가능하다. (2개 이상 x) 익명 클래스를 사용하는 이유 익명 클래스를 사용하는 이유는 코드 내에서 한 번만 만들어지고 사용되는 객체의 경우 별도의 클래스 파일을 만드는 것보다 ..
연결리스트 연결리스트는 포인터로 연결된 논리적 선형리스트를 의미한다. #include #include typedef struct Node { int data; struct Node* nextNode; } Node; Node* Head = NULL; void printList(); int add(int data); int addFirst(int data); bool addIndex(int data, int index); bool delAll(); bool del(int index); int main() { add(10); add(20); add(30); add(40); add(50); del(3); printList(); return 0; } // 모든 리스트 출력 void printList() { Node* ptr..
내부 클래스(inner class) 내부 클래스란 클래스를 클래스 안에 선언하는 것이다. 이는 클래스의 멤버변수로 클래스의 참조변수를 갖는 것과는 다르다. 내부 클래스의 종류 내부 클래스 종류 설명 인스턴스 클래스(Instance Class) 멤버변수 필드에 위치하며 위부 클래스와 관련된 작업에만 사용 스태틱 클래스(Static Class) 멤버변수 필드에 위치하며 static멤버나 static메서드에 관련된 작업에 사용된다. 지역 클래스(Local Class) 외부 클래스의 메서드나 초기화 블록안에 위치한다. 해당 블록 내에서만 사용이 가능하다. 익명 클래스(Anonymous Class) 클래스의 선언과 객체의 생성을 동시에 하는 1회용 클래스이다. 아래와 같은 방식은 내부 클래스의 한 종류로 중첩클래스 또는 인스턴스클래스 라고 한다. ..
초기화 블록 인스턴스를 생성하고 초기화를 할 경우 생성자 말고도 초기화를 하는 방법이 있는데 이것이 바로 초기화 블록이다. 초기화블록의 선언 초기화 블록에는 클래스변수를 초기화하는 블록이랑 인스턴스변수를 초기화하는 블록으로 나누어진다. 인스턴스변수의 초기화 블록은 멤버변수를 선언하는 위치에 { } 이런 식으로 블록을 생성해 주면 된고 클래스변수의 초기화블록은 static { }처럼 블록 앞에 초기화 키워드를 붙이면 된다. 초기화 블록을 사용하는 이유 초기화 블록에는 모든 생성자(오버로딩된 생성자들)들이 공통적으로 포함해야 하는 코드를 작성해서 코드의 중복을 줄여주는 효과와 가독성이 높아진다는 장점이 있다. 초기화 순서 인스턴스 생성 시 기본값이 가장 먼저 들어가며 명시적 초기화, 초기화블록 생성자 순으로 초기화가 된..