static 에 대해서

미해결질문
이예준 프로필

안녕하세요 강좌를 보고 있는 한 학생입니다.

예제 설명을 해주시면서 static으로 정적 함수를 만들었는데 이유가 있을까요?

또, static을 사용하고 않하고의 차이는 무엇인가요? 함수를 불렀을 때의 차이도 있나요?

감사합니다.

최완택 프로필
최완택 2019.06.04

기존에는 질문이 올라와도 알 수가 없어 몰랐는데

리뉴얼 되니 질문들을 모아볼 수 있어 좋네요. 

답변이 늦었습니다 ㅜㅜ

 

강의 중에 클래스 관련 부분을 보시면

일반적으로 클래스의 메소드를 호출할 때는

클래스의 생성자를 통해 인스턴스를 먼저 생성하고

그 인스턴스를 통해 해당 메소드를 접근해서 호출하는데요

 

static을 사용할 때의 장점은

"클래스이름.메소드이름" 형식으로 인스턴스 생성없이 바로 해당 메소드를 사용할 수 있어

빠르고 코드가 간결해지는 장점이 있습니다.

 

반면에 단점은

코드가 굉장히 길고 복잡하고 어려울 때 여러 군데서 호출하게 되면 디버깅이 어려울 수 있고, 객체지향과도 거리가 있습니다.

그리고 static은 단어 의미 그대로 정적입니다.

앱이 실행되고 있는 동안에는 계속 메모리에 남아있기 때문에 남용하면 좋지 않습니다.

 

감사합니다^^

지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스