티스토리 뷰
JAVA - 객체지향 (3)
클래스 메소드 & 인스턴스 메소드
인스턴스 메소드
이전에 말했듯이 인스턴스화를 통해 메소드호출을 하려면
참조변수.메소드이름(); / 참조변수.메소드이름(메개변수);
인스턴스 메소드는 인스턴스변수와 관련된 작업을 하는 메소드입니다
클래스 메소드
클래스 메소드는 클래스 변수를 사용하며 클래스이름을 사용합니다.
클래스이름.클래스메소드(); / 클래스이름.클래스메소드(매게변수);
인스턴스 메소드
인스턴스 메소드는 인스턴스 변수와 관련된 작업을 하고,
사용방법은 참조변수.메소드이름(); 참조변수.메소드이름(매개변수);
클래스&인스턴스 고려할점
1.클래스를 설계할때, 멤버변수를 모든 인스턴스에 공통적으로 사용해야 하는것은
static 을 붙인다.
2.클래스변수는 인스턴스생성이 필요없습니다.
3.클래스 변수는 인스턴스 변수를 사용할수 없다.
4.메소드 내에서 인스턴스 변수를 사용하지 않는다면,
메소드 선언부에 static 을 붙이는것을 고려해본다
5.클래스 멤버는 인스턴스 멤버를 사용할수없다.
메소드 오버로딩
JAVA의 메소드는 같은 이름이더라도 매개변수의 타입이나 개수가 다르면
오버로딩이라는게 가능합니다
비슷하거나 같은기능을 하는 메소드이지만,
사용하는 매개변수가 달라서 이름이 여러개가 되면,
작성하는 사람과 사용하는 사람 모두 불편하게됩니다
예를들어 System.out.print();함수도 메소드이다.
하지만 항상 출력시키고자 하는 변수의 개수와, 형태가 다른데
System.out.printbool();
System.out.printString();
System.out.printInt();
이런식으로 일일이 나누게 되면 매우 복잡해 질것입니다.
이런점을 없에기위해 JAVA에서는 메소드 오버로딩이라는게 존재합니다.
메소드 오버로딩을 하기위해선
메소드의 선언부에서 매개변수의 형태와 종류가 바뀌면 성립합니다.
매개변수의 개수와 형태는 같은데 순서만 바뀐다고해서 메소드 오버로딩이 되지는 않습니다.
다음포스팅에서는
생성자에대해서 알아보겠습니다.
'프로그래밍 > java' 카테고리의 다른 글
java - 객체지향(5) (411) | 2015.04.03 |
---|---|
JAVA - 객체지향(4) 생성자 (409) | 2015.04.03 |
Java - 객체지향(2) (403) | 2015.03.30 |
JAVA - 객채지향(1) (374) | 2015.03.25 |
java - 연습문제 (0) | 2015.03.21 |