티스토리 뷰

개발을 진행하면서 클래스 메소드로 만들어야 할까? 인스턴스 메소드로 만들어야 할까? 고민이 된다. 요구조건이나 상황에 따라 다르겠지만, 그 기준을 정의해보려고 한다.

인스턴스 변수를 접근해서 사용할 경우는 인스턴스 메소드로 생성하고, 접근하지 않는다면! 클래스 메소드로 생성하자.

그렇기 때문에 인스턴스 변수를 생성하는 것도 많은 고민이 필요하다.


클래스 메소드는 static 키워드가 붙은 method로 코드 실행 시, class loader가 memory에 적재하기 때문에 인스턴스 생성 없이 바로 사용이 가능한 것이다.

그렇기 때문에 클래스 메소드는 인스턴스 필드에 대해 접근이 불가하다! 인스턴스 변수는 인스턴스 생성 후에 사용할 수 있기 때문에 인스턴스 생성없이 사용하는 클래스 메소드에서

사용한다는 것은 순서가 맞지 않다! 결국 말하고 싶은 것은, 인스턴스 변수를 사용하지 않는다면! 인스턴스 생성없이 바로 사용가능한 클래스 메소드를 사용하는 것이 좋다!


예를들어, 아래와 같이 단순히 입력을 처리하는 클래스가 있다! 이 클래스는 인스턴스 변수가 없기 때문에 정적 메소드로 구현을 했다. 

그러므로, Main 클래스에서 입력을 받기 위해 인스턴스 생성하지 않고, 아래와 같이 바로 사용할 수 있다.

그렇기 때문에 Heap영역에 객체가 쌓이는 것 막을 수 있기 때문에 메모리에도 효율적이지 않을까?




그리고 하나 덧붙이자면, Ladder 인스턴스 생성 시, 생성자는  참가인원과 사다리 높이를 파라미터로 받아서 실행한다.

참가인원과 사다리의 높이가 다른 곳에서 사용되지 않는다면, 굳이 변수에 각 각의 값을 넣지 말고, 지금 처럼 바로 사용한다.



공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   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
글 보관함