Programming/Java 4

다형성 (Polymorphism)

다형성이란? 다형성은 상속과 함께 객체지향 언어의 중요한 특징중 하나이다. 다형성은 상속과 관계가 있기 때문에 앞선 포스팅에 있는 상속을 미리 읽어 보는 것을 추천한다.객체지향에서 다형성의 의미는 '다양한 형태의 객체를 참조할 수 있는 것'을 의미한다. 자바에서는 한 타입의 참조 변수를 이용하여 여러 가지 타입의 객체를 참조할 수 있도록 기능을 제공하여 다형성을 제공하고 있다. 결론부터 말하면, 부모 클래스 타입의 참조 변수를 이용하여 자식 클래스의 인스턴스를 참조할 수 있다는 것이다. class Tv { boolean power; int channel; void power(); void channelUp(); void channelDown(); } class CaptionTv extend Tv { St..

Programming/Java 2015.07.12

제어자(Modifier)

1. Introduction 제어자는 클래스, 변수 혹은 메서드의 선언부에 함께 사용되어 부가적인 의미를 부여한다. 2. static static은 멤버변수, 메서드, 초기화 블럭에 사용될 수 있다. static이 의미하는 것은 아래와 같다. Member variables 모든 인스턴스에서 공통적으로 사용되는 클래스 변수가 된다.(전역 변수처럼) 클래스 변수는 인스턴스를 생성하지 않고 사용가능하다. 클래스가 메모리에 로드될 때 생성된다. Method 인스턴스를 생성하지 않아도 호출이 가능한 static 메서드를 생성할 때 사용 static 메서드 내에서는 일반적인 멤버 변수를 사용할 수 없다. 3. final final은 변경될 수 없는 의미를 가지고 있다. 변수에 사용되면 변경할 수 없는 상수(c나 c..

Programming/Java 2015.06.28

오버라이딩 (Overriding)

1. 오버라이딩이란? 부모 클래스로부터 상속 받은 메서드의 내용을 변경하는 것 class Point { int x; int y; String getLocation() { return "x :" + x + ", y :" + y; } } class Point3D extends Point { int z; Point3D(int x, int y, int z) { this.x = x; this.y = y; this.z = z; } String getLocation() {// 오버라이딩 return "x :" + x + ", y :"+ y + ", z :" + z; } } 위의 코드와 같이 상속 받은 클래스의 메서드를 그대로 사용하지 않고 자신에 맞게 변경하는 것을 오버라이딩이라고 한다. 2. 오버라이딩의 조건 메서..

Programming/Java 2015.06.24

상속 (Inheritance)

상속의 정의 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것Why? 재사용성 코드 중복 제거 생산성 및 유지 보수 용이 자바의 상속 자바에서는 상속받고자 하는 클래스의 이름을 extends 키워드를 사용하여 상속을 수행한다. class Super {} class Sub extends Super {} 상속 관계를 그림으로 표현하면 아래의 Figure 1과 같다. Figure 1. 상속 관계도 단일 상속 (Single inheritance) 자바에서는 단일 상속만 허용한다. C++에서는 이와 다르게 다중 상속(Multiple inheritance)를 허용하지만 자바에서는 단일 상속만을 허용하는 이유는 다음과 같다. 클래스 간의 관계가 복잡해짐 서로 다른 두개의 클래스로부터 상속을 받은 멤버간의 이름이..

Programming/Java 2015.06.22
반응형