티스토리 뷰

IT

정적 메서드(static method )에 대한이해

🤣🐱‍🏍🤢🤷‍♂️🤞🤞😁🎉🎂🤳😜 2023. 5. 29. 17:30

개체 지향 프로그래밍에서 정적 메서드는 해당 클래스의 인스턴스가 아니라 클래스에 속하는 메서드입니다.

일반 메서드와 달리 정적 메서드는 클래스의 개체를 만들지 않고 호출할 수 있습니다.

 

테이블위의-빵과-컵사이에서-java가-적혀있는-머그잔

 

정적 메서드의 주요 특성

 

인스턴스 변수에 대한 액세스 불가

정적 메서드는 인스턴스 변수 또는 클래스의 메서드에 액세스 하거나 수정할 수 없습니다.

전달된 인수와 클래스 내의 모든 정적 변수 또는 메서드에서만 작동합니다.

 

클래스 인스턴스에 독립적

정적 메서드는 특정 객체의 상태에 의존하지 않으므로 클래스 인스턴스를 생성할 필요 없이 클래스 이름 자체를 사용하여 호출할 수 있습니다.

 

유틸리티 함수에 일반적으로 사용됨

정적 메서드는 특정 작업을 수행하고 내부 상태가 필요하지 않은 유틸리티 함수에 자주 사용됩니다.

예를 들어 Math 클래스에는 Math.sqrt() 또는 Math.max()와 같은 정적 메서드가 있을 수 있습니다.

 

전역적으로 액세스 가능

정적 메서드는 클래스에 액세스 할 수 있는 한 프로그램의 어디에서나 액세스 할 수 있습니다. 이들은 일반적으로 클래스의 특정 인스턴스와 관련되지 않은 도우미 메서드 또는 작업에 사용됩니다.

 

대부분의 프로그래밍 언어에서 정적 메서드를 정의하려면 메서드 선언 전에 키워드(예: static)를 사용합니다.

다음은 Java의 예입니다.

 

public class MyClass {

public static void myStaticMethod() {

// Code for the static method

}

}

 

정적 메서드를 메서드를 호출하기 위해 클래스의 개체를 만들 필요가 없습니다. 클래스 이름을 사용하여 메서드를 직접 호출할 수 있습니다.

 

MyClass.myStaticMethod();

 

정적 메서드의 세부 사항은 사용 중인 프로그래밍 언어에 따라 약간 다를 수 있지만 기본 개념은 동일하게 유지됩니다.

 

테이블위의-노트북과-책들

정적 메서드 특징적인 정의

인스턴스가 필요하지 않음

정적 메서드는 클래스의 인스턴스가 아니라 클래스 자체에 속합니다.

인스턴스 메서드와 달리 특정 개체 데이터에서 작동하지 않으며 클래스 자체에서 직접 호출할 수 있습니다.

 

인스턴스화 없이 접근 가능

정적 메서드는 인스턴스가 필요하지 않기 때문에 클래스 이름을 사용하여 직접 접근할 수 있습니다.

따라서 개체별 데이터에 의존하지 않는 유틸리티 기능이나 작업에 유용합니다.

 

인스턴스 변수에 대한 액세스 부족

정적 메서드는 특정 객체의 상태에 대한 액세스 권한이 없기 때문에 인스턴스 변수에 액세스 하거나 수정할 수 없습니다.

정적 변수 및 클래스의 다른 정적 멤버에만 액세스 할 수 있습니다.

 

재정의할 수 없음

인스턴스 메서드와 달리 정적 메서드는 파생 클래스에서 재정의할 수 없습니다.

하위 클래스가 부모 클래스와 동일한 시그니처를 사용하여 정적 메서드를 정의하면 부모의 정적 메서드를 재정의하지 않고 대신 하위 클래스에 별도의 메서드를 만듭니다.

 

전자칩-위의-유리구슬

 

 

비정적 메서드와의 제한된 상호 작용

정적 메서드는 다른 정적 메서드만 호출하거나 클래스의 정적 멤버에 직접 액세스 할 수만 있습니다.

비정적(인스턴스) 메서드를 직접 호출하거나 비정적 변수에 액세스 할 수 없습니다.

비정적 멤버와 상호 작용하려면 정적 메서드가 클래스의 인스턴스를 만들고 해당 인스턴스를 통해 멤버에 액세스해야 합니다.

 

유틸리티 함수에 일반적으로 사용됨

정적 메서드는 특정 작업을 수행하고 상태 유지에 의존하지 않는 유틸리티 함수에 자주 사용됩니다.

예를 들면 수학 연산, 문자열 조작 함수 또는 클래스의 여러 인스턴스에서 사용되는 도우미 메서드가 있습니다.

 

 

클라우드 컴퓨팅(Cloud Computing)에 대한 이해,꼭 알고 가세요!

클라우드 컴퓨팅의 활용, 성공을 위한 기업 역량 오늘날 빠르게 진화하는 디지털 환경에서 클라우드 컴퓨팅은 모든 규모의 기업을 위한 게임 체인저로 부상했습니다. 데이터와 애플리케이션을

enjoy1004world.tistory.com