일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- C++
- pandas
- 딥러닝
- 핵심프로젝트
- 자바 실습
- 텍스트마이닝
- 이수증
- 언리얼프로젝트
- 중학수학
- 자바
- 데이터베이스
- 정보처리기사실기
- JSP/Servlet
- 선형회귀모델
- 언리얼학습
- 정보처리기사필기
- 디버깅
- 요구사항확인
- numpy/pandas
- Orange
- c언어
- 데이터시각화
- 코딩테스트
- 데이터분석
- html/css
- 머신러닝
- 데이터입출력구현
- 자연수의성질
- 파이썬
- 선형분류모델
- Today
- Total
목록프로그래밍 언어 (259)
클라이언트/ 서버/ 엔지니어 " 게임 개발자"를 향한 매일의 공부일지
예외 처리는 수업에서는 한참 뒤에 다루게 되지만(클래스 수업을 마치고) 책에서는 메소드 바로 뒤에 나오는 내용이다. 이 부분이 참 고민이 되었는데 난 예외처리를 지금 학습하기로 했다. 그래야 단원 마무리 연습문제도 풀 수 있을 것 같다.나중에 다루는 예외처리는 그때 가서 정리해보기로 하자. 예외(Exception)란?자바에서 오동작이나 결과에 악영향을 미칠 수 있는 실행 중 발생한 오류를 말한다. 문법에 맞지 않게 작성된 코드는 사전에 컴파일러에 의해 컴파일 오류로 걸러낸다. 하지만 예외는 사용자의 잘못된 엽력이나 배열의 인덱스가 배열의 크기를 넘어가는 등 예기치 못한 상황에 의해 프로그램 실행 중에 발생한다.다음은 예외가 발생하는 경우이다. 정수를 0으로 나누는 경우배열의 크기보다 큰 인덱스로 배열..
자바 책에 나온 메소드 관련 학습을 이어가려고 한다. 책은 메소드 개념도 아주 짧게 설명하고 있어 이 부분을 학습하려면 이 내용만으로는 많이 부족했다. 수업 시간에 메소드에 대해 기초적인 부분을 설명해주셔서 도움이 많이 되었다. 1. 메소드에서 배열 리턴메소드에서 어떤 배열이든지 리턴하면, 배열 공간 전체가 아니라 배열 에 대한 레퍼런스만 리턴된다.int[] makeArray() { int temp[] = new int[4]; return tmep;} 리턴 후 temp가 가리키는 new로 할당받은 배열 메모리른 사라지지 않고 지역 변수인 temp만 사라진다. 메소드는 레퍼런스만 리턴하기 때문에, 리턴 타입을 선언할 때 [] 안에 배열의 크기를 지정하지 않는다. 또한 리턴하는 배열의 타입이 리턴..
클래스는 다음 단원에서 다루게 되지만 클래스가 무엇인지 잠시 소개하는 부분이 있어 학습해보기로 했다. 클래스는 객체지향 프로그래밍 언어에서 가장 중요한 개념이다.사실 클래스를 이해하지 못하면 이해할 수 없는 부분들이 정말 많다. 사실 C#과 C++을 배울 때도 클래스를 이해하지 못했다. 이번에는 확실히 개념을 잡아볼 생각이다. 이론 3 - 클래스 소개 기능만 나열해놓으니 문제가 발생해서 1980년대 객체 지향 개념이 등장했고, 자바는 95년에 만들어졌고 상당히 깔끔하게 잘 정리한 언어로 인정받고 있다. 클래스에는 변수와 메서드가 들어갈 수 있다. 이러한 이름으로 부르기도 한다. 이러한 메소드를 생성 및 호출, 사용하는 것이다. 퀴즈 3 - 클래스 속성은 메소드..
이제 문제를 한번 풀어보기로 하자. 조금 전에 참고 영상은 시청했으니 문제를 풀어보기만 하면 된다. 이 실습과 함께 오늘 공부했던 오버로딩도 예제도 학습을 진행하려고 한다. 실습 5 - String의 다양한 메소드 1 첫번째 도전 풀긴 풀었는데 다 틀리고 말았다. 다시 풀어야 할 것 같다. 다시 풀어보기 모두 잘 풀었다. 다음 문제도 도전해보자! 실습 6 - String 메소드 2 두번째 출력에서 마지막 길이를 잘못 넣은 것 같다. 조금 전에는 배열을 잘못 지정해서 Ja가 빠져있었다. 이제는 잘 되고 있다. 오버로딩 실습메소드 수업 시간에 다루었던 예제인데 이 부분만 따로 정리하기 그래서 이곳에 붙여보기로 했다. 여기에는 출력문이 없으니 아..
메서드에 대한 수업은 모두 학습 완료하였으니 이제 다시 엘리스로 돌아와서 공부를 이어가기로 하자. 오늘은 저녁에 공부하기 싫어서 방송을 보면서 많이 놀았지만 그래도 공부를 조금이라도 해보고 있다. 이론 2 - 기존 메서드 호출하기 이러한 방법이 더 좋다. 문자열에서 제공하는 메서드 문자열 메소드 퀴즈 2 - 이미 만들어진 메소드 조금 헤깔리는 번호들이 몇 개 있었는데 가장 분명한 건 5번이었다. 이제 실습 문제 2문제가 남아있다. 이 문제를 이어서 할지 다음 포스트에서 할지 고민이 된다. 학습을 마치고오늘은 공부가 정말 하기가 싫은 날인 것 같다. 계속해서 TV 영상의 유혹을 끊기가 너무나 힘들다. 난 3가지..
마지막 교시에 들은 수업을 정리해본다. 하나의 메인 함수에다 여러 개의 메서드를 만들어서 3개 이상의 문제를 풀어보았다. 마지막 한 문제는 완전수를 구하는 건데 스스로 풀어볼 시간을 주셨지만, 아직 풀이는 하지 않았다.이 문제는 내일 이어서 할테니 그때 정리해보려고 한다.사실 4교시 수업 내용은 조금 어려웠고 어디서부터가 해당 메서드 공간인지 구분하는 것도 쉽지 않았다. 그래도 꼭 오늘 복습해보고 싶었다. 그래야 내일 수업도 오늘처럼 잘 따라갈 수 있을 테니까.그럼 문제를 다시 풀어보자! 지난 번에 이 문제를 풀다가 너무 어려워서 해결하지 못했다. 두 달이 지난 지금 늦었지만 복습을 진행해보기로 했다. 뭐든 시간이 지나면 알게 되는 것들이 있다. 메서드 실습 문제 풀기 1. 두 수가 약수인지 확인하..
3교시부터는 응용문제를 많이 풀어보았다. 선생님께서 문제를 풀 시간을 주시는데 오늘은 나도 상당히 많은 문제들을 혼자서 풀기도 했다. 함수가 뭔지 조금 알 것 같았다.4교시 때 풀었던 약수 구하기부터는 정말 어려웠지만 사칙연산을 만들 수 있다는 것으로 정말 뿌듯했던 시간이었다.그럼 풀었던 문제를 한번 살펴보자! 조금 전에 캡쳐하려고 보니 조금 틀린 코드가 있어서 고치기도 했다. 이젠 이런 부분도 잘 보이는 것이 참 신기했다. 자바에 조금씩 익숙해지고 있는 걸 느꼈다. 메서드 실습 문제 풀어보기 1. 두 수의 나눗셈 구하기 지난번에 학습일지를 쓸 때 이 부분은 내용을 쓰지 않아서 추가해본다. 3과 5를 나누는 문제인데 0으로만 출력이 되어 하나의 함수를 하나 더 써보았다. 이렇게 잘 출력이 되고 있..
저녁을 먹고 이제 본격적으로 공부를 시작하려고 한다. 원래 계획은 저녁에 자바 1 학습을 하려고 했으나 오늘 배운 내용을 정리하는 게 더 나을 것 같았다. 어떤 배움이든지 하루 이상 지나면 망각하게 되어 있다. 따끈따끈하게 배웠을 때 복습을 한번 이상 해주어야 우리 뇌는 장기 기억장치로 옮겨가는 구조로 되어 있다고 한다.오늘부터 HTML/CSS 수업도 들어가서 처음 배우는 과목도 지금부터 정리하면 분명 진도를 놓치지 않고 잘 따라갈 수 있을 것 같다. 이번에는 매개변수와 리턴값이 있는지 없는지 여부에 따른 함수의 예시를 살펴보기로 하자.배운 것을 바로 정리할 때는 너무 정확하게 다 기록하려 하지 않고 최대한 빠르게 정리하는 것을 목표로 잡았다. 자바 수업은 10시까지 모든 정리를 마치고 HTML도 11시..
오늘부터는 인공지능 사관학교에서 받은 수업을 매일 자율학습 시간에 정리해보기로 했다. C/S 프로그래밍이라고 해서 새로운 과목을 배우는 줄 알았는데 전날 수업했던 자바 응용 시간의 연장선이었다.지난 2주 동안은 프로그래밍의 시작부터 배열까지 진도를 나갔다. 난 배열의 거의 끝 무렵에 수업을 들어갔는데 정말 어려웠다. 그리고 오늘부터는 새로운 단원에 들어갔다.클래스와 메소드이다. 함수는 C 언어에서도 했던 거라 수업을 따라갈만 했다. 그동안 C언어, C#, C++을 공부했던 시간들이 헛되지 않았음을 느꼈다.이번주에 엘리스에서 들어야 하는 과목들도 굉장히 많아서 다 하지 못할 수도 있다. 그런 부분은 주말에 정리하고, 되도록이면 빨리 현재의 수업과 지난 수업들과의 간극을 매워볼 것이다.그럼 오늘의 자바 함수..
메소드에는 3가지 유형이 있는데 이 내용을 문제를 통해 풀어보기로 하자. 총 3개의 문제를 풀어보려고 한다. 그런 다음 수업 영상을 시청하며 이 부분에 대한 깊이있는 학습을 진행해도 될 것 같다. 실습 1 - 메서드 사용해보기 처음에는 getSquare만 썼다가 틀렸다. 여기에 n을 입력해야 값을 받을 수 있는 것이다. 하지만 이 코드가 잘 이해가 되지 않는다. 만약 사용자가 4를 입력한다고 가정하면:Scanner는 4를 읽어서 변수 n에 저장한다.getSquare(n) 호출 시, n의 값이 4가 되어 getSquare(4)가 된다.getSquare(4)는 4 * 4를 계산하고 16을 반환한다.System.out.println(getSquare(n))는 16을 출력하게 된다.이러한 과정에서..