inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

나도코딩의 자바 기본편 - 풀코스 (20시간)

함수형 인터페이스 (전반전)

static이 뭐였는지 기억이 안나요 ㅜㅜ

110

kmch0802

작성한 질문수 1

0

 static이 뭐였는지 기억이 안나요 ㅜㅜ강의에서 어떤경우에 쓰는지 말씀해주셨던거 같은데 어디인지 기억이 안나요 ㅠㅠ

 

java 객체지향

답변 2

0

나도코딩

안녕하세요?

staitc 은 누구나 자바에 입문할 때 거의 다 한 번씩 헷갈리는 포인트입니다.

한 줄 요약하자면 이렇습니다.

👉 객체를 만들지 않아도 바로 사용할 수 있게 해주는 키워드

아래 예시를 볼까요?

class Person {
    public String name;
    public void sayHello() {
        System.out.println(name + "님, 안녕하세요");
    }
}

이 클래스의 sayHello 메소드는 객체를 만들어야만 사용 가능합니다.

이렇게 말이죠.

Person p1 = new Person();
p1.name = "나도코딩";
p1.sayHello();

Person p2 = new Person();
p2.name = "어제코딩";
p2.sayHello();

<실행 결과>

나도코딩님, 안녕하세요
어제코딩님, 안녕하세요

여기서 p1 은 name 변수에 "나도코딩" 이라는 값이 적용된 객체, p2 는 "어제코딩" 이라는 값이 적용된 객체입니다. 둘은 서로 다르죠!

 

그런데 이런 경우는 어떨까요?

class Calculator {
    public static int add(int a, int b) {
        return a + b;
    }
}

메소드(또는 클래스 내 변수) 앞에 static 이 붙으면 이 경우에는 객체를 만들 필요 없이 바로 사용 가능합니다. 이때는 객체 이름 대신 클래스 이름을 바로 쓰면 되지요.

int result = Calculator.add(3, 5);
System.out.println(result);

<실행 결과>

8

즉 static 키워드는 모두가 공통으로 쓰는 기능 또는 변수라고 생각을 하시면 좋습니다.

학습에 도움되길 바라겠습니다 😊

감사합니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. kmch0802님.

Java에서 static 키워드에 대해 이해하는 것은 매우 중요합니다. static은 클래스 레벨에서 변수를 선언하거나 메소드를 정의할 때 사용됩니다. static으로 선언된 변수나 메소드는 클래스의 모든 인스턴스에서 공유됩니다. 이는 각 인스턴스마다 개별적으로 존재하는 것이 아니라, 클래스 자체에 속해 단 하나만 존재한다는 의미입니다.

  1. 클래스 변수: static 변수는 클래스가 메모리에 로딩될 때 초기화되며, 모든 인스턴스에서 공유됩니다.

  2. 클래스 메소드: static 메소드는 객체 없이 호출할 수 있으며, 클래스의 다른 static 멤버들만 사용할 수 있습니다.

이 내용과 관련된 강의 내용을 찾기 위해서는 나도코딩 자바 기본편 강의의 클래스와 메소드 관련 챕터를 확인해 보시는 것이 좋습니다. 아래의 질문과 답변이 참고가 될 수 있습니다:

추가적으로 이해가 필요한 부분이 있으시면 강의 자료를 반복적으로 보며 학습하시면 좋을 것 같습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

자바를 처음 배울 때 이런 고민이 드는 게 정상일까요?

0

133

2

Iterator (알 수 없음) 데이터 삭제 후 초기화 관련 문의

0

70

1

사고력 키우는 법이 어떤게 있나요?

0

88

2

getter setter

0

100

2

섹션9. 66 메소드 오버로딩 시 질문이 있습니다.

0

77

1

안녕하세요 갑자기 프로그램 에러가 떠서 안되네요

0

75

2

변수 이름짓는법

0

114

2

intelli J 실행오류

0

114

2

혹시 이건 수학적 사고가 부족한 걸까요?

0

152

2

영상이 재생이 안됩니다.

0

165

3

이중 반복문 (후반전) 오른쪽으로 치우친 별 쌓기에 질문이 있습니다.

0

114

2

응용이 어렵습니다.

0

203

2

IntelliJ가 보이지 않습니다.

0

182

3

JDK 버전 문의

0

128

2

BlackBox 파일 내에서 메소드 정의

0

136

1

동기화

0

120

2

Iterator 문의

0

101

1

코드 순서 문의

0

139

1

클래스 메소드

0

148

2

Quiz_05 관련 질문드립니다 !

0

117

2

다운로드가 안됩니다

0

165

2

다형성

0

118

2

HashMap

0

80

2

재생이 안됩니다ㅠㅠ

0

121

2