목록객체 (2)
AiPE
다형성(Polymorphism)은 객체지향 프로그래밍의 핵심 개념 중 하나이다. 다형성은 한 가지 인터페이스나 부모 클래스를 여러 가지 형태로 구현하거나 확장할 수 있는 능력을 의미한다. 즉, 쉽게 말하면 "하나를 만들면 그걸 얼마나 여러 군데에 살짝씩 바꾸어 써먹을 수 있냐"는 의미이다. 말 그대로 "많은 형태를 가질 수 있는 속성"이다. 따라서, 다형성이 높으면 코드의 재사용성이 높으며 효율적인 프로그래밍이 가능해진다. 다형성은 크게 "메서드 다형성(Method Polymorphism)"과 "객체 다형성(Object Polymorphism)"의 두 가지로 나뉜다. 1. 메서드 다형성(Method Polymorphism) 부모 클래스(혹은 인터페이스)로부터 비롯된 다양한 자식 클래스들을 사용할 수 있는..

클래스와 객체, 인스턴스의 경우 용어의 정의가 꽤나 헷갈린다. 보통 클래스와 객체를 붕어빵 틀과 붕어빵에 많이들 비유를 하는데, 엄밀히 말하면 이 설명은 오류가 있다. 이 비유를 기반으로 생각을 이어나가다보면 분명 오류를 만나게 되므로, 이 비유는 사용하지 않는 것이 좋다. 따라서 이 포스팅에서는 붕어빵, 붕어빵 틀 대신 다른 적절한 비유를 사용했다. 위 비유가 왜 틀렸는지에 대해서는 이 포스트를 맨 아래로 내려 "3. 참고자료"의 첫번째 글을 참고하자. 다른 분의 포스팅인데, 설명이 명쾌해서 가져와보았다. 또한 객체와 인스턴스의 경우 두 개의 용어를 혼용한다고 알려져 있는데, 엄밀히 말하면 둘은 서로 다르다. 사람들이 제대로 구분할 줄을 모르기 때문에 (혹은 의사소통의 편의상) 혼용하는 것이다. 비슷하..