오버로딩과 오버라이딩 한방에 이해하기 (Overloading vs Overriding) Overloading vs Overriding 이름이 비슷해서 매번 헷갈리셨죠? 이번 포스팅에서 둘의 차이를 까먹지 않도록 한방에 이해시켜드리겠습니다. 둘다 함수에 대한 성질을 말하는 개념이며 표기는 비슷하지만, 전혀 다른 의미입니다. 간단히 정리하자면 아래와 같습니다. Overloading = 이름은 같지만 그냥 전혀 다른 함수 Overriding = 부모에게 물려받아 변형한 함수 하나씩 좀 더 자세히 알아보겠습니다. 1. 오버로딩 (Overloading) 오버로딩은 앞서 말씀드린 것 처럼 "이름은 같지만 그냥 다른 함수"입니다. ..
객체 지향 프로그래밍 4가지 특징 (추상화, 캡슐화, 상속, 다형성) 앞선 포스팅 (객체지향 프로그래밍 한방에 이해하기)에 이어 "객체 지향 프로그래밍"의 핵심 특징 4가지에 대해 알아보겠습니다. 1. 추상화 (Abstraction) 개념적으로 먼저 설명드리자면 추상화란 쉽게 말해서 "복잡한것은 몰라도 되고, 이것만 써" 라고 표현된 것입니다. 카메라를 예로 들어볼까요? 카메라에는 사진을 찍는 "버튼"이 있습니다. 사진기에 특별히 관심이 많은 사람이 아니라면, 버튼을 눌렀을때 어떤 원리에 의해서 사진이 찍히며 그것이 메모리에 어떻게 저장 되는지 구체적으로는 알지 못합니다. 그러나, 누구나 셔터를 누르는 것만으로 쉽게 ..