목록2020/12 (3)

수학과의 좌충우돌 프로그래밍

[JAVA] 05. 객체지향 프로그래밍 (3)

1. 다형성(polymorphism) 다형성이란 여러 가지 형태를 가질 수 있는 능력을 의미하며 자바에서는 한 타입의 참조변수로 여러 타입의 객체를 참조할 수 있도록 함으로써 다형성을 구현하였습니다. 이로서 조상클래스 타입의 참조변수로 자손클래스의 인스턴스를 참조할 수 있도록 하였습니다. 아래 예시를 봅시다. class Tv { int channel; void channelUp() { ++channel; } void channelDown() { --channel; } } class CaptionTv extends Tv { String text; } 일반적으로 그 동안 각 클래스의 인스턴스를 생성하기 위해 아래와 같이 인스턴스의 타입과 일치하는 타입의 참조변수만을 사용했습니다. Tv t = new Tv()..

프로그래밍 언어/Java 2020. 12. 27. 22:13
[JAVA] 04. 객체지향 프로그래밍 (2)

1. 상속(inheritance) 자바에서 상속은 extends라는 키워드를 통해 가능합니다. class Child extends Parent { } 이 때 멤버만 상속되므로 생성자와 초기화 블럭은 상속되지 않습니다. 클래스간의 관계 상속 이외에도 클래스를 재사용하는 또 다른 방법이 존재합니다. 클래스 간에 포함(Composite) 관계를 맺어주는 것입니다. 클래스 간의 포함관계를 맺어주는 것은 한 클래스의 멤버변수로 다른 클래스 타입의 참조변수를 선언하는 것을 의미합니다. 아래와 같이 Circle과 Point 클래스가 있다고 가정합시다. class Circle{ int x; int y; int r; } class Point{ int x; int y; } Point 클래스를 재사용하여 Circle을 재정..

프로그래밍 언어/Java 2020. 12. 27. 22:06