종강을 하면서 나와 한 약속이 있었다. 그것은 개강하기 전 여름방학 때 자바를 미리 익히자는 다짐이었다. 7월 달에 토플을 준비하다보니 코딩에 집중하지 못했고 미루었던 여행도 가다보니 한 달이라는 시간이 훌쩍 지나가버렸다. 8월 달에는 정신차리고 계획했던 일들을 수행해야할 것 같다.
- 토플 9월 첫째주에 시험보기 (내후년에 있을 교환학생을 위하여....)
- 자바 공부하기
- Django 공부 마무리짓기
- CJ UNIT 7기 지원하기
- Node.js 공부하기
- Github 협업 관련 내용 공부하기
원래는 4번과 5번은 여름방학 전에 세웠던 계획이 아니었다. 하지만 이번 학기에 졸프 관련 졸업 전시회 사이트를 제작하게 되었고 디자인, 데베, 프론트, 백 중에서 백엔드를 선택하게 되어서 갑자기 커다란 임무가 생긴 것이다. 나는 몰랐지 나의 첫 협업 프로젝트가 졸전 사이트일줄 그것도 배우지 않은 툴을 또 다시 익혀야 된다는 사실을... 그래도 Node.js는 공부하려고 했던 툴이기는 하니 프로젝트를 개발하기 전까지 공부해야 한다는 의무감(?)이 생겨서 공부 자극과 동기부여는 확실히 받고 가는 것 같닼ㅋㅋㅋㅋㅋ 이렇게 나의 방학은 순삭할 것 같지만 책임감과 열정만으로 끝내보겠다!!!!!!!!!!!!!!!!!!
스프링이 자바를 이용하는 오픈 소스 애플리케이션 프레임워크므로 백엔드 개발자가 되고 싶은 나는 이번에 자바를 확실하게 공부해 둘 것이다. 그래서 2학기가 끝나고 겨울방학 때 스프링을 공부할 예정이다.
C언어와 다르게 새로운 용어들이 다수 등장하였고 그 용어들은 매우 중요하므로 정리해두고 익숙해지면서 개념이 헷갈리지 않도록 주의해야겠다.
용어 | 의미 |
---|---|
객체 | 객체 지향 프로그램의 대상, 생성된 인스턴스 |
클래스 | 객체를 코드화 한 상태 |
인스턴스 | 클래스가 메모리에 생성된 상태 |
메서드 | 클래스의 함수 |
참조 변수 | 인스턴스를 가리키는 변수 |
참조 값 | 인스턴스의 메모리 주소 값 |
내가 개인적으로 생각할 때는 '인스턴스=객체=클래스, 함수=메서드'라고 일단은 이해해 두기로 하였다. 또한 '패키지 > 클래스 > 함수 등' 으로 기억해두었다.
(1) main() 함수
public static void main(String[] args) {}
(2) print() 함수
System.out.println();
(1) 클래스 생성
main() 함수 내에 아래와 같이 코드를 작성해둔다.
클래스형 변수이름 = new 생성자
ex} Student Annie = new Student()
Student : 참조형 데이터타입
Annie : 참조 변수 , 참조 값 저장
객체, 클래스, 인스턴스 내용이 비슷하면서도 헷갈려서 그림을 첨부했다.(그림 소질이 없네)
참조 변수.멤버 변수 / 참조 변수.메서드
ex) Annie.ID=100
Student 클래스에 멤버 변수인 int ID를 설정해두었다면 Annie.ID=100 참조가 가능하다.
이때는 디폴트 생성자인 public Student() {} 가 자동으로 생성되어서 따로 디폴트 생성자를 작성하지 않아도 된다.
하지만 매개변수인 ID를 입력받아서 Student 클래스를 생성하는 생성자를 만들기 위해서는
public Student(int id) { ID=id; }를 작성해준다. 그러면 Annie.ID=100 코드를 따로 작성하지 않고 바로 Student Annie = new Student(100)으로 입력해주면 된다.
코드로 다시 정리를 해보자면
(1) 매개변수를 설정 안 했을 때
//Student 클래스 내부 코드
public class Student {
int ID;
}
//StudentAnnie 클래스 내부 코드
public class StudentAnnie{
public static void main(String[] args){
StudentANnie Annie=new StudentAnnie();
Annie.ID=100
}
}
(2) 매개변수를 설정 했을 때
//Student 클래스 내부 코드
public class Student {
int ID;
public Student(int id) {
studentID=id;
}
}
//StudentAnnie 클래스 내부 코드
public class StudentAnnie{
public static void main(String[] args){
StudentANnie Annie=new StudentAnnie(100);
}
}
객체 개념이 다소 어려워서 이 부분에 대해 집중적으로 학습하였다. 다음에는 또 다른 내용으로 돌아오겠다. 아윌비백.....