클라이언트/ 서버/ 엔지니어 " 게임 개발자"를 향한 매일의 공부일지

객체지향 프로그래밍과 클래스 4 - 미션 문제 풀기 본문

프로그래밍 언어/자바

객체지향 프로그래밍과 클래스 4 - 미션 문제 풀기

huenuri 2024. 8. 16. 00:51

이제 미션 문제를 풀어보기로 하자. 지난 단원인 메소드에서는 문제가 굉장히 어려워서 한 문제를 푸는데 2시간 가까이 걸렸다. 해설 영상이 없기에 조금 어렵지만 다 풀고 다음 단원으로 넘어가야 마음이 가볍다.

그럼 문제를 풀어보자!


 

 

 

 

미션 1 - 게시물 클래스 만들기

 

 


 

 

 

 

메인 함수에 아무것도 없어서 그런지 점수가 25점 깎였다. 다시 한번 풀어보기로 하자.


 

 

 

메소드의 이름을 잘못 쓴 거였다. likes가 아니라 like였다. 변수 이름과 같지 않게 하기 위해서 비슷하게 만든 것 같다. 그리고 메인 함수에는 아직 아무것도 적지 않아도 된다. 클래스를 생성하지 않아도 답으로 인정되는 걸 보니 말이다.


 

 

 

 

 

미션 2 - 게시물 인스턴스 사용하기

 


 

 

 

스스로 풀어보기

 

 

문제가 많아서 코드를 수정해보기로 했다. 이 문제를 통해 내가 아직 클래스에 대한 개념을 잡지 못했다는 걸 알게 되었다.


 

 

 

 

다시 풀어보기

 

 

이제 잘 출력이 되고 있다. 왜 출력이 되지 않았냐면 변수를 그냥 불러왔기에 그런 거였다. p.likes와 같은 표현을 사용하는 것만으로는 아무런 동작이 일어나지 않는 이유는, Java에서는 변수나 메서드를 단순히 호출하거나 참조한다고 해서 그 값이 자동으로 출력되지는 않기 때문이다. Java는 명시적으로 출력문을 사용해야만 값을 콘솔에 출력할 수 있다.

 

Java에서의 변수 접근과 출력

  1. 변수 접근:
    • p.likes와 같은 코드는 그저 p 객체의 likes 변수에 접근하는 것을 의미한다. 이 접근은 값을 읽어오는 것이지, 출력하거나 다른 작업을 수행하는 것이 아니다.
    • 예를 들어, 아래 코드는 p.likes 값을 메모리에 읽어오지만, 아무 작업도 하지 않기 때문에 실행 시 아무 일도 일어나지 않는다:
  2. 변수 출력:
    • 값을 콘솔에 출력하려면 System.out.println() 또는 System.out.print() 같은 출력 메서드를 사용해야 한다.
    • 예를 들어, p.likes 값을 콘솔에 출력하려면 다음과 같이 작성해야 한다.
p.likes; // 단순히 변수에 접근, 아무 동작도 수행되지 않음
System.out.println(p.likes); // 변수 값을 콘솔에 출력

 

 

이렇게 미션 문제를 모두 풀었다.


 

 

 

 

학습을 마치고

오늘 불가능할 것 같은 공부를 모두 마쳤다. 이제 클래스가 무엇인지 감이 좀 잡힌다. 정말 어렵게만 느껴지던 개념이었는데 마치 친구가 된 것 처럼 기뻤다. 

이제 1시가 다 되었지만 공부를 더 하고 싶다.