11. 클래스 메서드(static메서드)와 인스턴스 메서드


  • 클래스메서드: 메서드 앞에 static이 붙어있는 메서드
    - 객체를 생성하지 않고도 클래스이름으로 호출 가능
  • 인스턴스메서드: 클래스메서드가 아닌 메서드
    - 메서드의 작업을 수행하는데 인스턴스 변수를 필요로 하는 메서드
    - 객체를 생성해야만 호출 가능
  • 어느 경우에 static을 사용해야 하는가?
    • 클래스의 멤버변수 중 모든 인스턴스에 공통된 값을 유지해야하는 것이 있는지 살펴보고 있으면, static을 붙여준다.
    • 작성한 메서드 중에서 인스턴스 변수나 인스턴스 메서드를 사용하지 않는 메서드에 static을 붙일 것을 고려한다.

*static을 붙이면 메서드 호출 시간이 짧아지므로 성능이 향상 됨


12. 클래스 멤버와 인스턴스 멤버간의 참조와 호출


  • 같은 클래스에 속한 멤버들 간에는 별도의 인스턴스를 생성하지 않고도 서로 참조 또는 호출이 가능
  • 단, 클래스멤버가 인스턴스 멤버(변수, 메서드)를 참조 또는 호출하고자 하는 경우에는 인스턴스를 생성해야 함
    • 인스턴스 멤버가 존재하는 시점에 클래스 멤버는 항상 존재하지만, 클래스멤버가 존재하는 시점에 인스턴스 멤버가 존재하지 않을 수도 있기 때문
    • 인스턴스멤버간의 호출에는 아무런 문제가 없다. 하나의 인스턴스멤버가 존재한다는 것은 인스턴스가 이미 생성되어있다는 것을 의미하며, 즉 다른 인스턴스멤버들도 모두 존재하기 때문

java의 정석 chapter6

profile
Full Stack Developer 📚

0개의 댓글