개발/자바

클래스, 인스턴스

kakk789 2021. 12. 26. 00:04

클래스란 ? 

- 서로 연관된 변수와 메소드를 모아서 이름을 붙힌 것.

 

인스턴스란 ? 

- 클래스를 복사하여 사용하는 느낌

 ex) 변수 선언을 한 변수에 다른 값들로 하고 싶은 경우에 여러 인스턴스를 만들어서 변수를 재선언 하여 사용가능

     (이 경우에는 static빼야함)

 

클래스화, 인스턴스화 하여 사용하는 경우

 

1. 클래스화 = 변동되지 않는 값 (예를들어 세율)
-> 변동되지 않는 값은 static으로 그냥 그대로 두는것도 좋음
    왜냐면 메모리에 올려야하는데, 쓸데없이 인스턴스화 해서 계속 static 변수 선언하는 것도 좋지 않아서.

  ** 인스턴스화 하지 않고 클래스 자체로 사용한다는 의미, 오해하지 말것.

2. 인스턴스화 == 변동되는 값
-> 값이 계속 변동될 수 있는 변수에 대해서 인스턴스화 하지 않고 [class.변수] 이런식으로 사용하게 되면 가독성도
   떨어 지고, 버그 가능성도 높아짐(코드가 수만줄이 되면 버그 가능성이 많아짐)
-> So, 인스턴스화 해서 각 인스턴스 별로 따로 저장해서 사용하면 겹칠일도 없고 보기도 편함.

반응형