Java - 상속(Inheritance)

1. 상속의 정의와 장점 상속이란 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것 으로 상속을 통해 클래스를 작성하면 보다 적은 양의 코드로 새로운 클래스를 작성할 수 있고, 코드를 공통적으로 관리할 수 있기 때문에 코드의 추가와 변경이 매우 용이하다. // 상속을 구현하는 방법 class Child extends Parent { // ... } class Parent { // ... } 위의 두 클래스는 서로 상속관에 있다고하며, 상속해주는 클래스를 조상 클래스라 하고, 상속받는 클래스를 자손 클래스라고 한다. 조상 클래스 : 부모(parent) 클래스, 상위(super) 클래스, ...

더보기

Java - 변수 초기화

1. 변수의 초기화 변수를 선언하고 처음으로 값을 저장하는 것을 변수 초기화 라고 한다. 변수의 초기화는 경우에 따라 필수적일수도 선택적일수도 있지만 가능하면 선언과 동시에 적절한 값으로 초기화하는 것이 바람직하다. 멤버변수는 초기화를 하지 않아도 변수의 타입에 맞는 기본값으로 초기화가 이루어지지만 지역변수는 사용하기 전에 반드시 초기화가 이루어져야 한다. class InitTest { int x; // 인스턴스 변수 int y = x; // 인스턴스 변수 void method() { int i; // 지역변수 int j = i; // 에러, 지역변수를 초기화하지...

더보기

Java - 생성자(Constructor)

1. 생성자란? 생성자라는 이름만 언듯 보면 무엇인가를 새로 생성하는 작업을 하는 역할을 하는 것처럼 보이지만 실제로는 인스턴스가 생성될 때 호출되는 인스턴스의 초기화 메서드 이다. 주로 인스턴스 변수의 초기화 작업에 주로 사용되며, 인스턴스 생성시 수행되어야할 작업을 위해서도 사용된다. ClassName(Type variableName) { // Initialization code } 생성자를 작성하는데 아래와 같은 2가지 조건 을 반드시 만족해야한다. 생성자 이름은 클래스 이름과 같아야한다. 반환 값이 없다. 생성자가 가지는 특징 은 다음과 같다. 생성자도 오버로딩이 가능하기 때문...

더보기

Java - 오버로딩(overloading), 가변인자(varargs)

1. 오버로딩이란? 메서드도 변수와 마찬가지로 같은 클래스 내에서 서로 구분할 수 있어야 하기 때문에 서로 다른 이름을 가져야만 한다. 하지만 한 클래스 내에서 사용하려는 이름과 동일한 메서드가 존재하더라도 매개변수의 타입과 갯수가 다르다면 같은 이름의 메서드를 정의할 수 있다. 즉, 한 문장으로 정리해보면 한 클래스 내에 같은 이름의 메서드를 여러 개 정의하는 것 을 메서드 오버로딩(method overloading) 또는 오버로딩(overloading) 이라고 한다. 2. 오버로딩의 조건 같은 이름의 메서드를 정의한다고 해서 무조건 오버로딩이 될 순 없다. 오버로딩이 성립되기 위해서는 아래와 같은 조건이...

더보기