method overriding 2

디자인 패턴 - 템플릿 메소드 패턴(Template Method Pattern)

디자인패턴이란? 소프트웨어 설계에서 얻은 세세한 경험들에서 얻어낸 패턴을 정의해 놓은 것, 다시말해 시스템을 만들기 위해서 전체 중 일부 의미 있는 클래스들을 묶은 각각의 집합을 말한다. 이러한 반복되는 의미있는 집합을 정의하고 이름을 지정해서, 누가 이야기하더라도 동일한 의미의 패턴이 되도록 만들어 놓은 것이다. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides 라는 [Design Patterns : Elements of Reusable Object-Oriented Software]라는 책에서 최초로 객체 지향에 맞는 디자인 패턴을 정리해 놓았다. 4명의 아저씨가 만들어서 Gof (Gangs of Four)로 부른다. 템플릿 메소드 패턴을 이해하기 위..

메소드 오버로딩(overloading) vs 메소드 오버라이딩(overriding)

메소드 오버로딩(Method Overloading)같은 이름을 가진 메소드를 여러개 정의하는 것. (메소드 이름은 같고, 매개변수의 선언이 다른 메소드를 만드는 것)인자는 다르지만 기능은 같은 메소드들을 하나의 메소드 이름으로 접근한다는 개념.생성자, 기타 다른 메소드에 적용가능사용이유 : 하나의 메소드 이름에 하나의 형채로만 메소드가 정의 된다면, 인자가 다르지만 같은 기능을 하는 메소드들을 각기 다른 이름으로 설정해야 한다. 사용자는 같은 기능의 메소드라도 인자의 형태에 따라 일일이 메소드의 이름을 기억해야한다.이러한 이유로 메소드의 이름은 그대로 사용하면서 다양한 형태의 메소드를 정의 하면, 어떠한 형태의 인자를 사용더라도 해당 기능을 맡은 메소드 이름만 기억하면 된다. ※ 오버로딩의 주의사항메소드..