오버로딩(Overloading) 오버로딩(Overloading)이라는 뜻은 사전적으로 '과적하다.'라는 뜻이다. C언어에서는 함수명이 고유하게 존재해야 한다. 즉 하나의 함수가 하나의 기능만을 구현해야 한다는 것이다. 하지만 자바에서는 하나의 메소드 이름으로 여러 기능을 구현하기 때문에 '과적하다.'라는 뜻의 이름을 붙여준 것으로 보인다. 오버로딩의 정의는 자바의 한 클래스 내에 이미 사용하려는 이름과 같은 이름을 가진 메소드가 있더라도 매개변수의 개수 또는 타입이 다르면, 같은 이름을 사용해서 메소드를 정의할 수 있다. 오버로딩의 조건 메소드의 이름이 같고, 매개변수의 개수나 타입이 달라야 한다. 주의할 점은 '리턴 값만' 다른 것은 오버로딩을 할 수 없다는 것이다. 아래의 코드를 통해서 예를 들어보자..
제어자 클래스, 메소드, 변수의 앞에 public, final 이런식으로 선언부를 제외하고 앞에 붙어있는 것들을 보았을 것이다. public static void main(String[] args) { // TODO Auto-generated method stub } 이클립스에서 자동으로 main을 생성하면 위와같은 형식의 main메소드가 생성된다. void main(String[] args)까지는 이해할 수 있겠다. 근데 앞에 붙어있는 public과 static은 어떤 역할을 하는 것일까? 이들은 제어자라고 불린다. 선언부에 함께 사용되어 부가적인 의미를 부여하는 역할을 한다. 대표적으로 접근 제어자가 있고, 그 이외에 다른 기능을하는 제어자들이 존재한다. 이 개시물에서는 접근 제어자만 다뤄보도록 하겠..