일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 영어공부
- 정수와유리수
- 데이터베이스
- 텍스트마이닝
- 자바
- 중학수학
- 머신러닝
- html/css
- 운영체제
- numpy/pandas
- 데이터입출력구현
- 코딩테스트
- 컴퓨터구조
- 파이썬라이브러리
- 연습문제
- 중학1-1
- C++
- 컴퓨터비전
- 파이썬
- SQL
- 딥러닝
- 정보처리기사실기
- CSS
- JSP/Servlet
- 혼공머신
- pandas
- 자바 실습
- 정보처리기사필기
- 데이터분석
- Today
- Total
목록프로그래밍 언어/자바 (130)
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
생성자까지 공부했는데 객체 배열이 무엇인지 알아보기로 하자. 두 달 전에 수업을 들을 때는 무슨 말인지 하나도 이해하지 못했는데 이제는 이해할 수 있을 것 같다.두 달이라는 시간동안 난 무엇을 배웠을까? 별로 많은 걸 공부하지 못한 것 같고 하나도 성장하지 않은 것처럼 느껴졌지만 그래도 나름 배운 바가 있었다. 객체 배열이 필요한 이유 클래스를 만들면 여러가지 형태의 자료형을 한번에 관리할 수 있다. 하지만 이 자료형을 순서대로 더 많이 관리하고 싶을 때가 있다. 그럴 때 객체 배열을 사용한다.여기서 Person은 사용자가 임의로 만든 자료형이라고 볼 수 있다. Person이라는 자료형을 관리할 수 있는 배열도 만들 수 있다. 우리는 이 배열의 주소값 안에 있는 변수에 접근해서 값을 가져..
어제 풀어보려고 했지만 생성자를 아직 배우지 않아서 미루어두었던 수업 예제를 이제 풀어보려고 한다. 예제가 3문제 정도 남아있는데 과연 이해할 수 있을지 의문이다. 1. 학생정보관리 프로그램 만들기 마지막에 변수 이름이 잘못되었다. ScoreAndriod이다. 이렇게 두 명의 학생 정보를 클래스에 만들어서 점수별로 출력을 하는 프로그램을 만드는 것이다. Student 클래스 main 처음에는 기본 생성자를 private으로 선언해서 객체 생성에서 오류가 떴다. 이제 잘 출력이 되고 있다. 학생들 정보를 한줄을 떼고 싶어서 코드를 하나 추가했다. 2. 개인정보 클래스 만들기 이제 문제를 풀어보자! 이 문제는 private으로 선언한 정보를 getter와 s..
이제 this에 대해서 학습해보려고 한다. 분량이 좀 많아서 this는 생성자에서 따로 떼어놓아 이곳에 기록하기로 했다. 사실 그동안 this는 정말 이해가 되지 않았고, 자바 수업을 들을 때도 무슨 말인지 잘 몰랐었다.이번에 수업을 다시 들으며 확실히 이해할 수 있게 되어 정말 기쁘다. 1. this 레퍼런스this는 자바의 중요한 키워드로서 단어 뜻 그대로 객체 자신을 가리키는 레퍼런스이다. 1) this의 기초 개념this는 현재 실행되고 있는 메소드가 속한 객체에 대한 레퍼런스이다. this는 컴ㅊ파일러에 의해 자동 관리되므로 개발자는 this를 사용하기만 하면 된다. public class Circle { int radius; public Circle(int r) { this.rad..
이제 생성자 학습을 시작해본다. 오늘 최소한 생성자 단원까지 학습을 마치고 싶다. 금요일이라 놀고 싶은 마음이 많지만 그래도 공부를 조금은 해봐야지! 1. 생성자의 개념과 목적생성자는 객체가 생성될 때 객체의 초기화를 위해 실행되는 메소드이다. 예를 들면, 얼굴 클래스로 얼굴 객체를 만들어낼 수 있다. 만약 생성자 없이 객체가 생성된다면, 생성된 얼굴 객체는 맨 얼굴일 것이다. 하지만 생성자를 실행하여 얼굴의 각 부위를 화장(초기화)하게 한다면, 예쁘게 화장된 얼굴 객체로 생성될 것이다. 또한 화장하는 얼굴 부분이나 색을 다르게 하는 생성자가 있다면, 서도 다른 모양의 얼굴 객체를 생성할 수 있다. 2. 생성자 선언 및 활용생성자는 객체가 생성되는 순간에 자동으로 호출되는 메소드로서 객체에 필요..
생성자에 관한 두번째 학습을 진행해본다. 생성자 오버로드도 수업 예제를 통해 조금 배웠던 내용이었다. 개념을 익히며 내용을 학습해보기로 하자! 이론 2 - 생성자 오버로드 생성자를 여러 개 사용하고 싶을 때 이렇게 사용하면 기본 생성자는 제거된다. 우리말로 하면 과적재인데 물건을 많이 싣는 것을 말한다. int는 0, double은 0.0, String은 null로, boolean은 false로 초기화된다. 여기서 String 옆에 namStudent e가 아니라 name이다. Elice를 넣으면 멤버변수 name에 대입된다. 매개변수에 넣은 값이 차례로 들어간다. 이 예제에서는 단위 기능은 구현하지 않았다. 생..
드디어 3주차 학습이 시작되었다. 이 단원은 생성자에 대해서는 두 단원밖에 없고 나머지는 static에 관한 부분이다. 이건 책에서도 맨 뒤에 나오는 부분이라 여기까지만 학습하고 책으로 다시 넘어가려고 한다.아침 수업 시간이 얼마 남지 않았지만 할 수 있는데까지 공부를 진행해볼 것이다. 이론 1 - 생성자 생성자도 메서드의 일부이다. 생성자 이름은 클래스 이름과 동일해야 한다. 이름은 생략 가능하다. String형 변수는 별도의 초기값을 지정해야 한다. this는 객체 자신을 의미한다. 소멸되는 지역 변수가 최우선이고 그 다음이 멤버변수이다. 즉 지역변수를 지역변수로 업데이트하게 된다. 인자를 별도로 tname이라고 설정하지 않아도 불러올..
클래스와 객체에 대한 개념 학습은 모두 진행했지만 책에 있는 내용을 확인하며 다시 한번 복습해보고자 한다. 클래스 예제도 2문제 있는데 이 문제도 풀어봐야겠다. 1. 클래스와 객체 2. 클래스 구성 클래스의 구성 요소를 멤버라고 부르며, 멤버는 필드와 메소드의 두 가지이다. 다음은 원을 추상화한 클래스 Circle을 작성한 코드를 보여준다. 클래스 선언, class Circle중괄호 안에 필드와 메소드를 모두 작성한다. 클래스 외부에는 어떤 필드나 메소드를 둘 수 없다. 이는 캡슐화의 원칙 때문이다. 필드와 메서드객체 내에 값을 저장할 멤버 변수를 필드라고 부른다. 메소드는 함수이며 객체의 행동을 구현한다. 접근 지정자, publicpublic은 다른 클래스에서 활용하거나 접..
이제 클래스를 만드는 실습을 진행하려고 한다. 전에는 공부한 자료를 각기 다른 워크스페이스에 담았는데 그렇게 하니 찾아보기가 힘들어서 요즘은 모두 하나의 작업공간 파일에 담고 있다.근데 클래스부터는 패키지 하나에 여러 파일이 담기기 때문에 프로젝트를 여러 개 만들어야 할 것 같다. 이제 첫번째 실습부터 시작해보자! 1. 사람 클래스 만들기 Person 클래스 Person 클래스에는 필드와 메서드를 작성해서 객체를 생성하고 행동에 해당되는 메서드를 호출한다. main 클래스 메인에서는 생성한 객체를 new라는 키워드를 통해 만들고 이를 변수로 불러올 수 있도록 한다. 참조 연산자를 통해 호출할 수 있음을 볼 수 있다. 실습 문제 풀어보기 이제 객체를 생성하는 방법을 어느 정도 알게 ..
드디어 객체 지향 프로그래밍 수업을 들을 시간이 되었다. 새벽 1시까지 엘리스로 클래스 공부를 마쳤고 이후에 1시간 정도는 집 정리와 청소를 하며 몸과 마음을 깨끗이 하는 시간으로 보냈다.이제 산뜻한 마음으로 1시간만 더 공부를 하고 취침하려고 한다. 그리고 6시에 일어나서 공부를 다시 이어갈 것이다.그럼 수업을 들으면서 공부를 진행해보자! 이 그림에서 무엇이 보이나? 처음에 보았을 때 새, 토끼 등 각각 다르게 보인다. 사람마다 보는 관점이 다른데 이것을 패러다임이라고 한다. 여기까지 수업이 진행되다가 갑자기 소리가 꺼져서 아무것도 들리지 않는다.이 수업은 1/3은 이런 경우들이 대부분인 것 같아 수업을 들을 때마다 좀 그렇다. 패러다임이란 무엇인가? 절차..
이제 미션 문제를 풀어보기로 하자. 지난 단원인 메소드에서는 문제가 굉장히 어려워서 한 문제를 푸는데 2시간 가까이 걸렸다. 해설 영상이 없기에 조금 어렵지만 다 풀고 다음 단원으로 넘어가야 마음이 가볍다.그럼 문제를 풀어보자! 미션 1 - 게시물 클래스 만들기 메인 함수에 아무것도 없어서 그런지 점수가 25점 깎였다. 다시 한번 풀어보기로 하자. 메소드의 이름을 잘못 쓴 거였다. likes가 아니라 like였다. 변수 이름과 같지 않게 하기 위해서 비슷하게 만든 것 같다. 그리고 메인 함수에는 아직 아무것도 적지 않아도 된다. 클래스를 생성하지 않아도 답으로 인정되는 걸 보니 말이다. 미션 2 - 게시물 인스턴스 사용하기 스스로 풀어보기 문제가 많아서 코드를 수정해보기로..