일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 자바
- JDBC
- JSP/Servlet
- 혼공머신
- 자바 실습
- 자바스크립트
- 중학수학
- 디버깅
- 중학1-1
- 머신러닝
- 상속
- html/css
- rnn
- 데이터베이스
- 데이터분석
- 오블완
- SQL
- 티스토리챌린지
- 컴퓨터비전
- CSS
- 자바스크립트심화
- JSP
- 딥러닝
- 정보처리기사필기
- 순환신경망
- 파이썬
- 정보처리기사실기
- 컴퓨터구조
- 연습문제
- c언어
- Today
- Total
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
객체지향 프로그래밍과 클래스 4 - 미션 문제 풀기 본문
이제 미션 문제를 풀어보기로 하자. 지난 단원인 메서드에서는 문제가 굉장히 어려워서 한 문제를 푸는데 2시간 가까이 걸렸다. 해설 영상이 없기에 조금 어렵지만 다 풀고 다음 단원으로 넘어가야 마음이 가볍다.
그럼 문제를 풀어보자!
미션 1 - 게시물 클래스 만들기
메인 함수에 아무것도 없어서 그런지 점수가 25점 깎였다. 다시 한번 풀어보기로 하자.
메서드의 이름을 잘못 쓴 거였다. likes가 아니라 like였다. 변수 이름과 같지 않게 하기 위해서 비슷하게 만든 것 같다. 그리고 메인 함수에는 아직 아무것도 적지 않아도 된다. 클래스를 생성하지 않아도 답으로 인정되는 걸 보니 말이다.
미션 2 - 게시물 인스턴스 사용하기
스스로 풀어보기
문제가 많아서 코드를 수정해 보기로 했다. 이 문제를 통해 내가 아직 클래스에 대한 개념을 잡지 못했다는 걸 알게 되었다.
다시 풀어보기
이제 잘 출력이 되고 있다. 왜 출력이 되지 않았냐면 변수를 그냥 불러왔기에 그런 거였다. p.likes와 같은 표현을 사용하는 것만으로는 아무런 동작이 일어나지 않는 이유는, Java에서는 변수나 메서드를 단순히 호출하거나 참조한다고 해서 그 값이 자동으로 출력되지는 않기 때문이다. Java는 명시적으로 출력문을 사용해야만 값을 콘솔에 출력할 수 있다.
Java에서의 변수 접근과 출력
- 변수 접근
- p.likes와 같은 코드는 그저 p 객체의 likes 변수에 접근하는 것을 의미한다. 이 접근은 값을 읽어오는 것이지, 출력하거나 다른 작업을 수행하는 것이 아니다.
- 예를 들어, 아래 코드는 p.likes 값을 메모리에 읽어오지만, 아무 작업도 하지 않기 때문에 실행 시 아무 일도 일어나지 않는다:
- 변수 출력
- 값을 콘솔에 출력하려면 System.out.println() 또는 System.out.print() 같은 출력 메서드를 사용해야 한다.
- 예를 들어, p.likes 값을 콘솔에 출력하려면 다음과 같이 작성해야 한다.
p.likes; // 단순히 변수에 접근, 아무 동작도 수행되지 않음
System.out.println(p.likes); // 변수 값을 콘솔에 출력
이렇게 미션 문제를 모두 풀었다.
학습을 마치고
오늘 불가능할 것 같은 공부를 모두 마쳤다. 이제 클래스가 무엇인지 감이 좀 잡힌다. 정말 어렵게만 느껴지던 개념이었는데 마치 친구가 된 것처럼 기뻤다.
이제 1시가 다 되었지만 공부를 더 하고 싶다.
'프로그래밍 언어 > 자바' 카테고리의 다른 글
클래스와 객체 2 - 자바 클래스 만들기 1 : 객체 생성에서 생성자까지 실습 (0) | 2024.08.16 |
---|---|
클래스와 객체 1 - 객체 지향과 자바 (0) | 2024.08.16 |
객체 지향 프로그래밍과 클래스 3 - 객체 지향 프로그래밍 (0) | 2024.08.16 |
객체 지향 프로그래밍과 클래스 2 - 클래스와 인스턴스 (0) | 2024.08.15 |
객체 지향 프로그래밍과 클래스 1 - 클래스 소개 (0) | 2024.08.15 |