Development/Java(849)
-
Object Class(오브젝트 클래스), Object 클래스, java.lang 패키지
♣ Object Class(오브젝트 클래스)· java.lang 패키지에 속해있는 클래스입니다.· 모든 클래스의 최상위 클래스. 즉, 모든 자바 클래스들은 Object 클래스로부터 상속받습니다.· 명시적으로 extends하지 않아도 자동으로 상속합니다. 즉, 프로그래머가 명시적으로 extends 하는 클래스가 없으면 자동으로 자바 컴파일러가 Object 클래스를 상속받도록 처리합니다.· Object 클래스의 모든 메서드와 변수는 다른 모든 클래스에서도 사용 할 수 있습니다. java.lang 패키지자바에서 가장 기본적인 동작을 수행하는 클래스들의 묶음입니다.자바에서는 java.lang 패키지의 클래스들은 import 문을 사용하지 않아도 클래스 이름만으로 바로 사용할 수 있도록 자동으로 import하고 ..
-
Anonymous 내부 클래스(익명 내부 클래스), Anonymous 내부 클래스의 구성
Anonymous 내부 클래스(익명 내부 클래스)· 익명이란 이름이 없는 것을 의미합니다. 이것을 자바 프로그램적으로 해석하면 정의된 클래스의 이름이 없다는 것을 의미하게 됩니다. · 클래스의 이름이 정의되어 있지 않다는 사실에서만 Local 클래스와 차이가 있습니다.· 맨 마지막에 ;(세미콜론) 사용해야 합니다. 익명 클래스 선언· 익명 클래스는 클래스의 선언과 동시에 객체를 생성하므로, 단 하나의 객체만을 생성하는 일회용 클래스입니다.· 생성자를 선언할 수 없으며, 오로지 단 하나의 클래스나 단 하나의 인터페이스를 상속받거나 구현할 수 있습니다 class Inner(){ …; } class Outer { … Inner inner = new Inner(){ …; }; public void methodA..
-
로컬 내부 클래스(Local Inner Class), Local 내부 클래스, 로컬 내부 클래스의 특징, Local 내부 클래스의 구성 형식 - Local 클래스의 지역변수, 매개변수 접근
로컬 내부 클래스(Local Inner Class)· Outer클래스의 메소드 안에 정의한 클래스· Inner클래스의 특징을 모두 가지고 있습니다.· Local 내부 클래스는 특정 메서드 안에서 정의되는 클래스(특정 메서드 안에서 선언되는 지역변수와 같습니다)입니다· Local 내부 클래스는 메소드 내에 정의가 되어서, 메소드 내에서만 인스턴스의 생성 및 참조 변수의 선언이 가능합니다.(메서드가 호출될 때 생성할 수 있으며 메서드의 수행력이 끝나면 지역변수와 같이 자동 소멸됩니다.)· 외부 클래스의 메소드나 초기화 블록에 선언된 클래스를 의미합니다. 이러한 지역 클래스는 선언된 블록 내에서만 사용할 수 있습니다. 로컬 내부 클래스의 특징· 지역변수 처럼 사용· 로컬 내부 클래스의 메모리 생성 시점은 메소..
-
static 내부 클래스, static 내부 클래스의 구성
static 내부 클래스· static 내부 클래스로 어쩔 수 없이 정의하는 경우가 있는데 그것은 바로 내부 클래스 안에 static변수를 가지고 있다면 어쩔 수 없이 해당 내부 클래스는 static으로 선언하여야 합니다. · 정적 클래스는 주로 외부 클래스(outer class)의 클래스 메소드에 사용될 목적으로 선언됩니다. static 내부 클래스의 구성 class OuterClass { … static class InnerClass { } … }
-
내부 클래스 정의 시 주의사항( 장점), 내부 클래스(Inner Class)의 종류, Inner 클래스의 특징
내부 클래스(Inner Class)· 내부 클래스는 특정 클래스 내에 또 다른 클래스가 정의되어 있는 클래스를 의미합니다. · 내부 클래스가 필요한 이유는 지금까지 작업해 왔던 클래스들과는 다르게 독립적이지는 않지만 하나의 멤버처럼 사용할 수 있는 특징이 있기 때문입니다.· 주로 외부 클래스(outer class)의 인스턴스 변수나 인스턴스 메소드에 사용될 목적으로 선언됩니다. 내부 클래스 정의 시 주의사항이자 장점· 내부 클래스는 외부 클래스의 모든 멤버들을 마치 자신의 멤버처럼 사용할 수 있습니다.· static 내부 클래스를 제외하고 다른 내부 클래스는 항상 외부 클래스를 통해서만 생성이 가능합니다.
-
NestClass 를 만드는 이유
NestClass 를 만드는 이유· 코드를 간단하게 표현하기 위해· 내부 클래스에서 외부 클래스의 멤버에 손쉽게 접근할 수 있게 됩니다.· 소스의 가독성과 유지보수성을 높이고 싶을 때· 클래스 외부에 공개하고 싶지 않은 형식을 만들고 싶을 때· 외부에서는 내부 클래스에 접근할 수 없으므로, 코드의 복잡성을 줄일 수 있습니다.· 현재 클래스의 일부처럼 즉, 하나의 멤버처럼 사용할 수 있게 만들고 싶을 때· 서로 관련 있는 클래스를 논리적으로 묶어서 표현함으로써, 코드의 캡슐화를 가능하게 합니다.