Backend CS - #7 Static

박주현·2023년 2월 23일
0
post-thumbnail

Static 이란

  • Static 이란 정적, 고정된 이라는 의미를 가짐.
  • Static 키워드를 통해서 정적 변수와 정적 메소드를 만들 수 있다.
  • Static이 사용된 메서드 같은 경우에는 인스턴스를 생성하지 않고도 호출이 가능하기에 편리하고 속도가 빠름.

장점

1) 메모리 측면에서 효율적
: Static 메모리 영역에 고정된 메모리 영역을 사용하기에 인스턴스를 생성하면서 낭비되는 메모리가 현저하게 줄어든다.
2) 객체 생성 X
: 객체를 생성하지 않기에 클래스가 메모리에 올라가는 시점에 생성되고 바로 사용가능 하기에 속도가 빠르다.

단점

1) 프로그램이 종료될 때 까지 메모리에 할당된 채로 존재
: Static 은 Garbage Collector에 관리를 받지 못하기에 프로그램이 종료될 때 까지 메모리가 할당된 채로 존재하게되어
  프로그램 퍼포먼스에 악영향을 줌.
2) 객체지향적이지 않음.
: 메모리의 Static 영역에 할당된 곳에서 데이터를 가져오기에 데이터들이 캡슐화가 되어야 한다는 점에서 객체지향적이지 않음.
3) 인터페이스 구현 불가
: 코드의 재사용성을 높여주는 객체지향적 기능을 사용못하도록 방해함.
profile
빌드업 막 시작하는 개발자

0개의 댓글