일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- CNN
- 데이터베이스
- 정수와유리수
- SQL
- 자바 실습
- 파이썬라이브러리
- numpy/pandas
- 데이터분석
- CSS
- 정보처리기사실기
- 정보처리기사필기
- 혼공머신
- 영어공부
- 텍스트마이닝
- 코딩테스트
- 파이썬
- C++
- 운영체제
- 중학1-1
- 딥러닝
- pandas
- 중학수학
- 연습문제
- 데이터입출력구현
- 머신러닝
- 컴퓨터구조
- html/css
- JSP/Servlet
- 컴퓨터비전
- 자바
- Today
- Total
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
메서드 9 - 클래스 소개 + 미션 문제 풀기 본문
클래스는 다음 단원에서 다루게 되지만 클래스가 무엇인지 잠시 소개하는 부분이 있어 학습해보기로 했다. 클래스는 객체지향 프로그래밍 언어에서 가장 중요한 개념이다.
사실 클래스를 이해하지 못하면 이해할 수 없는 부분들이 정말 많다. 사실 C#과 C++을 배울 때도 클래스를 이해하지 못했다. 이번에는 확실히 개념을 잡아볼 생각이다.
이론 3 - 클래스 소개
기능만 나열해놓으니 문제가 발생해서 1980년대 객체 지향 개념이 등장했고, 자바는 95년에 만들어졌고 상당히 깔끔하게 잘 정리한 언어로 인정받고 있다.
클래스에는 변수와 메서드가 들어갈 수 있다. 이러한 이름으로 부르기도 한다.
이러한 메소드를 생성 및 호출, 사용하는 것이다.
퀴즈 3 - 클래스
속성은 메소드가 아니라 데이터이고, 기능이 메소드이다. 문제를 잘 풀었다.
미션 1 - 많이 사용한 알파벳
이 코드는 문자와 정수를 변환하는 두 개의 메서드를 포함하고 있다. 아래에 메인 메소드가 있는데 이 부분에 지시된 내용을 작성하는 문제이다. 첫번째 메소드는 입력 받은 문자가 소문자 a에서 z 사이에 있는지 확인한다. 조건이 참이라면 알파벳 a로부터 몇 번째 위치에 있는지 계산해서 반환한다. 만약 c라면 a에서 2번째 알파벳이라는 뜻이다. 만약 입력된 문자가 없다면 -1을 반환한다.
두번째 메서드는 0에서 25사이의 정 수를 입력 받아 그에 대응하는 소문자 알파벳 문자를 반환한다. 입력된 문자가 이 숫자 사이에 없다면 작은 따옴표를 반환하도록 되어 있다.
이제 문제를 풀어보자.
문제가 너무 어려워서 아예 3번과 4번 지시사항은 거의 풀지 못했다. 헬퍼에게 물어보니 다음과 같은 답변을 주었다.
혼자서는 도저히 풀 수 없는 미션 문제였다. foreach 문이 사용된 부분의 코드는 조금 이해하기 힘들었다. 아무튼 이 문제는 너무 어려우므로 다음에 메소드 단원을 확실히 학습한 후에 다시 들여다보며 복습해보려고 한다.
하지만 점수는 0점으로 나와서 뭐가 틀렸는지 모르겠다. 여러번 풀었는데도 모르겠고 그냥 넘어가기로 했다.
미션 2 - 10보다 작게 만들기
이 코드는 입력된 정수 n의 각 자릿수를 더한 결과를 반환하고 있다. n이 123이라면 문자열 "123"으로 변환된다. 그런 다음 for 루프를 사용해 문자열의 각 문자를 차례로 읽어온다.
이 문제 역시 어렵지만 한번 풀어보려고 한다.
다른 자료를 참고하며 이렇게 풀어보았으나 답은 나오지 않았다.
문제가 너무 어려워서 풀지를 못하겠다. 대체 이 문제가 지금 배우는 메소드와 무슨 관련이 있는지 모르겠다. 거의 고급 수준의 문제를 가져다가 지금 이제 배우기 시작한 초보에게 과연 풀 수 있는 문제인가 싶다.
학습을 마치고
미션 문제가 너무나도 어려워서 절망감이 들었다. 공부를 때려치고 싶을만큼.. 나중에 복습하면서 그때 문제를 다시 풀어보려고 한다. 지금은 도저히 이해할 수 없는 문제였다.
'프로그래밍 언어 > 자바' 카테고리의 다른 글
반복문과 배열 그리고 예외 처리 20 - 자바의 예외 처리 (0) | 2024.08.14 |
---|---|
반복문과 배열 그리고 예외 처리 19 - 메소드에서 배열 리턴과 main() 메소드에 대하여 (0) | 2024.08.14 |
메서드 8 - 이미 만들어진 String 메서드 실습해보기 + 오버로딩에 대하여 (0) | 2024.08.14 |
메서드 7 - 기존 메서드 호출하기 (0) | 2024.08.13 |
메서드 6 - 완전수를 구하는 5단계 과정 실습 (0) | 2024.08.13 |