본문 바로가기
IT정보/자바 기초

[개념이해] 추상메서드, default메서드, static메서드, private메서드

by 도야 2022. 2. 20.

여러 메서드 개념 이해하기

변수와 마찬가지로 메서드도 그 사용 방법과 환경에 따라 다양한 메서드로 구분할 수 있습니다. 이번에는 여러 메서드들의 이름을 구분하여 개념을 살펴보도록 하겠습니다.

 

추상 메서드

추상 메서드는 {}로 표현된 메서드의 구현부가 없는 메서드입니다. 추상메서드 선언은 abstarct 예약어를 사용하며 {}대신 ;를 사용합니다.

 

abstarct int plus(int x, int y);

 

이렇게 구현되면 추상 메서드입니다. 추상메서드를 구현하면 그게 무슨 개발이냐고 생각할 수 있지만 이렇게 추상메서드를 구현함으로써 선언부에 어떤 일을 하는 메서드인지 알려주게 되어 역할을 명시해주게 됩니다.

 

default 메서드 (디폴트 메서드)

디폴트 메서드는 인터페이스에서 구현 코드까지 작성을 한 메서드입니다. 이렇게 작성하여 인터페이스를 구현한 클래스가 생성되면 그 클래스에서 기본으로 사용할 수 있도록 제공되는 것입니다.

 

디폴트 메서드를 선언할 때에는 default 예약어를 사용합니다. 일반 메서드 앞에 default예약어를 작성해주면 됩니다. 호출할 때에는 참조변수를 사용하여 호출합니다.

 

static 메서드 (클래스 메서드)

static 메서드 역시 인터페이스에서 구현 코드를 작성한 메서드입니다. 디폴트 메서드와는 다른 점은 인스턴스 생성과는 상관없이 그냥 사용할 수 있다는 것입니다.

 

static메서드를 선언할 때에는 static예약어를 일반 메서드 앞에 작성해주면 됩니다. 호출할 때에는 인터페이스 이름으로 직접 참조하여 호출하면 됩니다. 

 

클래스 메서드는 인스턴스가 생성되지 않아도 사용할 수 있기 때문에 클래스 변수와 어울려 사용합니다. 클래스 메서드 안에 인스턴스 변수가 들어가 있으면 오류를 뱉어냅니다.

private 메서드

private 메서드는 인터페이스를 구현한 클래스에서 사용하거나 재정의 할 수 없습니다. 

 

댓글