JAVA - 내부클래스(innerClass또는 nestedClass)
클래스 안에 클래스, 즉 내부 클래스를 생성할 수 있다. 중첩되는 객체이므로 nested class라고도 하고, 그냥 inner class라고도 하는 것 같다. 내부 클래스는 크게 4가지로 분류된다. 일반 내부 클래스, 내부 static 클래스, 내부 지역 중첩 클래스, 익명 중첩 클래스가 있다. 일반 내부 클래스 내부 static 클래스 내
클래스 안에 클래스, 즉 내부 클래스를 생성할 수 있다. 중첩되는 객체이므로 nested class라고도 하고, 그냥 inner class라고도 하는 것 같다. 내부 클래스는 크게 4가지로 분류된다. 일반 내부 클래스, 내부 static 클래스, 내부 지역 중첩 클래스, 익명 중첩 클래스가 있다. 일반 내부 클래스 내부 static 클래스 내
객체지향의 주요 개념중 하나이다. 인터페이스는 추상 클래스의 일종이지만 추상화 클래스보다 추상화 정도가 높다. 추상화 클래스와 달리 인터페이스는 아예 몸통을 가지지 않기 때문이다. 오직 추상 메서드와 상수만을 가질 수 있다고 한다. ToC 인터페이스 작성규칙 인터페이스 다중상속 default 메서드와 static 메서드 추상 클래스와 인터페이스간 비교
추상 클래스란, 미완성 클래스를 의미한다. 일단 선언은 했지만, 완성되지 않아서 오버라이딩을 통해 기능을 작성해야 한다. 아래 코드를 통해 확인해보자. 123456789package devandy.java.abstraction;public abstract class Bird { public abstract void sing(); pu
상속은 부모 클래스를 상속받은 자식 클래스가 기능을 물려받는 걸 의미한다. 아래 예제 코드를 보자. Bus 클래스는 아무것도 선언되지 않았지만, Car 클래스를 상속받고 있으며, passenger 클래스에서 Bus 클래스의 인스턴스를 생성해서 Car 클래스의 메서드 run()을 실행하는 코드이다. Car.java 1234567package devand
상속을 배우면서 빠질 수 없는 개념들, 오버로딩(overloading)과 오버라이딩(overriding)에 대한 부분이다. 간단히 정의하면 아래와 같다. 개념 설명 Overloading오버로딩 오버로딩은 수퍼 클래스와 같은 이름의 메서드를 서브 클래스에서 여러개 만들어서 사용할 때 쓰는 개념
생성자란 인스턴스가 생성될 때 호출되는 인스턴스 초기화 메서드이다. 인스턴스를 생성하기 위해 객체를 초기화하는 메서드가 필요한데, 생성자가 이 역할을 한다. 생성자는 기본적으로 메서드와 동일한 역할을 하는데, 메서드와 달리 아래의 두가지 조건을 필요로 한다. 생성자의 이름은 클래스의 이름과 같아야 한다. 리턴값이 없어야 한다. (리턴 타입은 생략한다.
123456789101112131415161718public class Car { String name; int number; public Car(){ name = "undefined"; number = 0; } public Car(String name) { this.