Tag: oop

JAVA - 내부클래스(innerClass또는 nestedClass)

클래스 안에 클래스, 즉 내부 클래스를 생성할 수 있다. 중첩되는 객체이므로 nested class라고도 하고, 그냥 inner class라고도 하는 것 같다. 내부 클래스는 크게 4가지로 분류된다. 일반 내부 클래스, 내부 static 클래스, 내부 지역 중첩 클래스, 익명 중첩 클래스가 있다. 일반 내부 클래스 내부 static 클래스 내

Java - 인터페이스(Interface)

객체지향의 주요 개념중 하나이다. 인터페이스는 추상 클래스의 일종이지만 추상화 클래스보다 추상화 정도가 높다. 추상화 클래스와 달리 인터페이스는 아예 몸통을 가지지 않기 때문이다. 오직 추상 메서드와 상수만을 가질 수 있다고 한다. ToC 인터페이스 작성규칙 인터페이스 다중상속 default 메서드와 static 메서드 추상 클래스와 인터페이스간 비교

JAVA - 추상 클래스/추상 메서드

추상 클래스란, 미완성 클래스를 의미한다. 일단 선언은 했지만, 완성되지 않아서 오버라이딩을 통해 기능을 작성해야 한다. 아래 코드를 통해 확인해보자. 123456789package devandy.java.abstraction;public abstract class Bird { public abstract void sing(); pu

Java - 상속 (Extends)

상속은 부모 클래스를 상속받은 자식 클래스가 기능을 물려받는 걸 의미한다. 아래 예제 코드를 보자. Bus 클래스는 아무것도 선언되지 않았지만, Car 클래스를 상속받고 있으며, passenger 클래스에서 Bus 클래스의 인스턴스를 생성해서 Car 클래스의 메서드 run()을 실행하는 코드이다. Car.java 1234567package devand

Java - 오버로딩과 오버라이딩

상속을 배우면서 빠질 수 없는 개념들, 오버로딩(overloading)과 오버라이딩(overriding)에 대한 부분이다. 간단히 정의하면 아래와 같다. 개념 설명 Overloading오버로딩 오버로딩은 수퍼 클래스와 같은 이름의 메서드를 서브 클래스에서 여러개 만들어서 사용할 때 쓰는 개념

JAVA - 생성자

생성자란 인스턴스가 생성될 때 호출되는 인스턴스 초기화 메서드이다. 인스턴스를 생성하기 위해 객체를 초기화하는 메서드가 필요한데, 생성자가 이 역할을 한다. 생성자는 기본적으로 메서드와 동일한 역할을 하는데, 메서드와 달리 아래의 두가지 조건을 필요로 한다. 생성자의 이름은 클래스의 이름과 같아야 한다. 리턴값이 없어야 한다. (리턴 타입은 생략한다.

JAVA - This()

123456789101112131415161718public class Car { String name; int number; public Car(){ name = "undefined"; number = 0; } public Car(String name) { this.