[스터디-자바] 인스턴스 메서드와 클래스 메서드

jh5959·2025년 4월 19일
0

스터디를 합시다

목록 보기
2/5

처음 강의한 날!

강의 날짜: 4/10(목)
스터디를 시작하고 처음 발표했다. 사람들 앞에서 말한다고 생각하니 너무 떨렸다. 내 앞에 먼저 발표한 분의 강의는 들어오지 않았고 내 발표를 어떻게 해야하나 생각만 했다. 긴장을 너무 많이 하는 것 같다...

주제 선정은 최근의 공부를 많이 했던 개념으로 선정했다. 공부할 때도 두 개념을 비교하며 공부했기 때문에 발표도 역시 비교하면서 했다. 학습목표를 적은 이유는 강의의 목차가 있다면 집중이 잘 될 것 같아서 적었다

발표를 하고나니 내 생각보다는 괜찮아서 나름 만족했다. 처음부터 잘하는 사람은 없으니까 뭐 그리고 내가 선생님도 아니고 어떻게 잘 가르치겠나 난 그저 내가 배운 내용을 남들 앞에서 말한 것 뿐이다🙄


주제: 인스턴스 메서드와 클래스 메서드

학습목표

Q1. 인스턴스 메서드와 클래스 메서드의 차이점은 무엇인가요?
Q2. 인스턴스 메서드와 클래스 메서드를 언제 사용해야 하나요?
Q3. 클래스 메서드에서 인스턴스 변수를 직접 사용할 수 없는 이유는 무엇인가요?

인스턴스 메서드

  • 인스턴브 변수를 사용하는 메서드
  • 객체를 만들어야 호출 가능
  • 호출방법: 참조변수.메서드()
  • 매개변수가 없어도 객체 내부 상태를 사용할 수 있음
  • 유동적인 동작, 객체 중심

클래스 메서드

  • static 키워드가 붙은 메서드
  • static: 클래스의 , 공통적인 것
  • 객체를 만들지 않아도 사욯할 수 있음
  • 호출방법: 클래스명.메서드명()
  • 인스턴스 변수를 사용할 수 없음
  • 필요한 값을 매개변수로 받음
  • 고정된 기능, 클래스 중심
  • int result = Math.max(3, 5); // 객체를 만들지 않아도 바로 호출

가장 핵심적인 차이는

  • iv를 쓸 수 있냐 없냐
  • 클래스 메서드 사용못함 -> 객체 없어도 됨
  • 인스턴스 메서드 사용함 -> 객체 필요함

클래스 메서드에서 인스턴스 메서드를 호출 못하는 이유?

  • 시점 차이 때문
  • 클래스 메서드는 클래스가 로딩될 때 메모리에 올라감
  • 인스턴스 메서드는 객체가 생성된 후 메모리에 생김
  • 클래스 메서드가 인스턴스 메서드를 부르면 -> 객체가 없는데 뭘 불러?

언제 어떤 걸 쓰면 되나

  • 객체와 무관한 기능 : 클래스 메서드 : 정해진 계산, 공통적인 계산
  • 객체의 상태를 다룰 때 : 인스턴스 메서드 : 객체마다 다르게 동작

클래스 메서드는 공용 기능을 인스턴스 메서드는 객체 고유의 상태를 다룰 때 사용
가장 큰 차이 iv 사용 여부


학습목표 답하기!

Q1 인스턴스 메서드와 클래스 메서드의 차이점은 무엇인가
클래스 메서드

  • static 키워드 선언, 클래스 수준에서 호출
  • 객체 X 호출방법 클래스명.메서드명()
  • 공통된 기능

인스턴스 메서드

  • 객체의 인스턴스에 속함, 해당 객체의 상태 변경하거나 활용
  • 객체O 호출방법: 객체명.메서드명()
  • 객체마다 다른 동작 수행
    (칠판에 적은 것 체크하면서 말로 하기)

Q2 인스턴스 메서드와 클래스 메서드를 언제 사용해야 하나
클래스 메서드

  • 객체 상태와 무관하게 동작하는 기능 구현

인스턴스 메서드

  • 객체의 상태를 읽거나 변경해야 할 때

Q3 클래스 메서드에서 인스턴스 변수를 직접 사용할 수 없는 이유?

  • 클래스 메서드는 클래스 로딩 시점에 메모리에 올라감
  • 인스턴수 변수는 객체가 생성될 때 메모리에 할당
  • 클래스 메서드 객체 생성 여부 상관없이 호출 가능, 생성하지 않은 iv에 접근x
  • 인스턴스 메서드는 객체 생성 후 호출되므로 iv에 접근 가능

피드백

  • 학습목표를 설정한 것이 좋았다
  • 예시 코드가 있었으면 좋겠다
  • 자신감을 가지고 하면 좋겠다

스터디원분들의 피드백이다. 학습목표를 설정을 내가 생각해도 잘했다고 생각했는데 칭찬해주셔서 좋았다😂 그리고 예시코드를 준비를 안했는데 왜 안했는지 모르겠네 다음에는 꼭 준비해야지

그리고 피드백에 공통적인 내용이 자신감을 가지고 하면 좋겠다 였는데 자신감이 없는 건 사실이다. 자신감을 가지기 쉽지 않은 성향이라서 나도 고민이다. 자신감을 가져야지 라는 생각으로는 자신감을 갖기가 힘들다. 근본적인 원인이 있어서 그 부분을 해결하면 자신감도 자연스럽게 생기지 않을까 싶다. 그리고 발표도 많이 하면 익숙해져서 긴장도가 덜 할 것 같다. 나에 대한 기준을 좀 낮춰야겠다.

다음에 준비할 것

  • 예시 코드 준비하기
  • 자신감 가지기

0개의 댓글