본문 바로가기

OOP2

오버로딩과 오버라이딩 1. 오버로딩(overloading) 한 클래스 안에 같은 이름의 메서드를 여러 개 정의하는 것을 메서드 오버로딩이라고 한다.오버로딩을 통해 같은 기능을 하는 메서드의 이름을 통일함으로써 한 눈에 알아보기 쉽고 메서드 이름을 절약할 수 있다. 이와 같이 메서드 오버로딩을 위해서는(1)메서드의 이름이 같아야하고 (2)매개변수의 개수 또는 타입이 달라야하는 조건이 있다. 매개변수에 따라 10가지가 구현되어 있는 println() 메서드는 메서드 오버로딩의 좋은 예이다. 2. 오버라이딩(overriding) 조상 클래스로부터 상속받은 메서드의 내용을 변경하 것을 메서드 오버라이딩이라고 한다.상속을 통해 구현하려는 경우 기존의 메서드가 아닌 확장된 기능이 요구되는 경우가 많다. 이 경우 오버라이딩 메서드를 활용.. 2017. 6. 16.
객체(Object)와 인스턴스(Instance) 클래스로부터 객체를 만드는 과정을 클래스의 인스턴스화라고 하며,어떤 클래스로부터 만들어진 객체를 그 클래스의 인스턴스라고 한다. 결국 인스턴스는 객체와 같은 의미이지만, 객체는 모든 인스턴스를 대표하는 포괄적인 의미를 갖고 있으며,인스턴스는 어떤 클래스로부터 만들어진 것인지를 강조하는 보다 구체적인 의미를 갖고 있다. - 자바의 정석 中 - 이런 개념적인 내용들은 들을 때마다 내용이 달라 머릿속에 확 박히질 못하는 것 같다... 현실 세계의 사물(Object)들도 객체라고 부르고 클래스 생성에 따라 메모리에 할당된 객체인 인스턴스 또한 객체라고 부르니 헷갈릴 만도 하다. 결론적으로 인스턴스는 객체에 포함되는 말인 것 같다. 다만 객체는 현실 세계에 가깝고 인스턴스는 소프트웨어 세계에 가까운 느낌이다. 2017. 6. 16.