반응형
Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
05-19 04:57
관리 메뉴

ImJay

[자바] 객체지향 - 인스턴스 메서드(Instance method) 본문

자바/기본 개념

[자바] 객체지향 - 인스턴스 메서드(Instance method)

ImJay 2022. 6. 28. 20:40
반응형

Exam 이라는 클래스에서 선언되어있는 여러가지 함수를 사용하고 싶다고 가정해보자.

 

x = new Exam();

Exam.input(x);

Exam.print(x);

...

 

우리가 앞서 배웠던 객체지향의 캡슐화를 유지하기 위해서는 Exam의 함수들을 위와 같은 방식으로 호출해야 한다.

 

하지만, 인스턴스 함수를 사용하면

 

x = new Exam();

x.input();

x.print();

...

 

위와 같은 방식으로 간단하게 호출이 가능하다.

 

단순하게 코드를 줄인다는 개념이 아니라, 변수 x 에게 책임을 부여한다고 생각하면 편하다.

 

전자의 코드에서는 우리가 직접 x라는 매개체를 통해 함수를 호출했다고 한다면,

후자의 코드에서는 우리가 만든 x라는 매개체가 직접 함수를 호출하는 것이다.

 

전자의 코드는 스태틱 메서드(static method), 후자의 코드는 인스턴스 메서드(instance method)라고 한다.

 

인스턴스 메서드를 사용하면 함수 내 코드도 간단해진다.

 

public static void input(Exam x) {

x.list[x.a1] = new arr();

}

 

public void input() {

this.list[this.a1] = new arr();

}

 

인스턴스 메서드는 누가 불렀는지 확인하기 위해 this를 사용한다.

반응형
Comments