클래스 : 메서드, 객체생성(객체화 = 인스턴스화), 오버로딩(overloading)
메서드
- 메서드란 어떤 작업을 수행하는 명령문(코드)의 집합을 표현한다.
다른 언어에서는 함수라고도 부른다. - 메서드를 작성하는 이유 :
- 반복적으로 사용되는 코드의 중복을 방지.
- 코드양을 줄여주어 유지 보수성을 향상하기 위함.
- main메서드 : system소속으로 실행을 담당하는 특별한 메서드이다.
메서드종류 | 생김새 | 특징 |
---|---|---|
main메서드 | public static voide main(String[] args){ } | system소속, 실행을 담당. |
void형 메서드 | void 메서드명(){ } | return값 없음. 변수에 담아서 사용X, 호출만 가능. |
return형 메서드 | 리턴데이터타입 메서드명(){ } | return값이 있기에 리턴데이터타입작성필수, 변수에 담아서 사용가능. |
메서드의 형태
매개변수는 호출시에만 메모리에 할당받고 메서드실행이 끝나는 순간 매개변수는 사라진다.
매서드는 return값이 없으면 void를 붙여준다.
1 | 제한자/리턴_타입 메서드명(타입 변수명, 타입 변수명, ...){ |
void 메서드 예시
void는 return값이 없는 메서드이다
return이 없기때문에 system.out,print(person())에서 사용할 수 없고 변수에 담아서 사용할 수 없다.
오직 호출만가능하다.
1 | public class Person { |
리턴타입이있는 메서드 예시
return값이 있는 메서드는 리턴타입을 적어주면된다
1 | public class Person { |
메서드 오버로딩(Method overloading)
- 동일한 기능을 수행하는 메서드를 매개변수를 달리하여 추가로 작성하는 것을 의미.
- 데이터타입이 다른 매개변수에 따라 메서드를 여러개 정의하는 것을 말한다.
- 메서드오버로딩방법 : 동일한 이름의 메서드에 파라미터의 개수 또는 파라미터의 타입을 다르게 작성하면 된다.
- 오버로딩 사용하는 이유 : 재사용성을 높이기 위해서.
- 오버로딩과 오버라이딩은 차이가 있으니 용어에 주의하자
- 오버로딩(Overloading) : 같은 이름의 메서드 여러개를 가지면서 매개변수의 유형과 개수가 다르도록 하는 기술
- 오버라이딩(Overriding) : 상속관계일때 사용. 상위 클래스가 가지고 있는 메서드를 하위 클래스가 재정의해서 사용
- 메서드뿐만 아니라 생성자도 오버로딩이 가능하다.
- 생성자 오버로딩 : 파라미터를 다르게 해서 여러 개의 생성자를 정의하는 것
객체(인스턴스)
클래스가 붕어빵틀이라면 객체는 붕어빵 그 자체이다.
배열과 마찬가지로 객체도 선언 후에 생성을 해야 사용할수있다.
객체생성을 하지않으면 메모리에 올가가지않기에 사용할수가없다. 따라서 객체생성을 꼭해야한다.
객체생성
1 | 객체명 변수명 = new 클래스명(); //객채생성 |