[JAVA] 클래스와 객체1

kbannie·2022년 7월 28일
0

JAVA

목록 보기
1/8
post-thumbnail

8월 준비

종강을 하면서 나와 한 약속이 있었다. 그것은 개강하기 전 여름방학 때 자바를 미리 익히자는 다짐이었다. 7월 달에 토플을 준비하다보니 코딩에 집중하지 못했고 미루었던 여행도 가다보니 한 달이라는 시간이 훌쩍 지나가버렸다. 8월 달에는 정신차리고 계획했던 일들을 수행해야할 것 같다.

  1. 토플 9월 첫째주에 시험보기 (내후년에 있을 교환학생을 위하여....)
  2. 자바 공부하기
  3. Django 공부 마무리짓기
  4. CJ UNIT 7기 지원하기
  5. Node.js 공부하기
  6. Github 협업 관련 내용 공부하기

원래는 4번과 5번은 여름방학 전에 세웠던 계획이 아니었다. 하지만 이번 학기에 졸프 관련 졸업 전시회 사이트를 제작하게 되었고 디자인, 데베, 프론트, 백 중에서 백엔드를 선택하게 되어서 갑자기 커다란 임무가 생긴 것이다. 나는 몰랐지 나의 첫 협업 프로젝트가 졸전 사이트일줄 그것도 배우지 않은 툴을 또 다시 익혀야 된다는 사실을... 그래도 Node.js는 공부하려고 했던 툴이기는 하니 프로젝트를 개발하기 전까지 공부해야 한다는 의무감(?)이 생겨서 공부 자극과 동기부여는 확실히 받고 가는 것 같닼ㅋㅋㅋㅋㅋ 이렇게 나의 방학은 순삭할 것 같지만 책임감과 열정만으로 끝내보겠다!!!!!!!!!!!!!!!!!!


JAVA

1. 자바란?

  • 객체 지향 언어 -> 유지 보수가 쉽고 확장성이 좋음
  • 프로그램이 안정적임
  • 풍부한 기능을 제공하는 오픈 소스

스프링이 자바를 이용하는 오픈 소스 애플리케이션 프레임워크므로 백엔드 개발자가 되고 싶은 나는 이번에 자바를 확실하게 공부해 둘 것이다. 그래서 2학기가 끝나고 겨울방학 때 스프링을 공부할 예정이다.

2. 주요 용어 정리

C언어와 다르게 새로운 용어들이 다수 등장하였고 그 용어들은 매우 중요하므로 정리해두고 익숙해지면서 개념이 헷갈리지 않도록 주의해야겠다.

용어의미
객체객체 지향 프로그램의 대상, 생성된 인스턴스
클래스객체를 코드화 한 상태
인스턴스클래스가 메모리에 생성된 상태
메서드클래스의 함수
참조 변수인스턴스를 가리키는 변수
참조 값인스턴스의 메모리 주소 값

내가 개인적으로 생각할 때는 '인스턴스=객체=클래스, 함수=메서드'라고 일단은 이해해 두기로 하였다. 또한 '패키지 > 클래스 > 함수 등' 으로 기억해두었다.

3. 주요 함수 정리

(1) main() 함수

public static void main(String[] args) {}

(2) print() 함수

System.out.println();

4. 클래스와 인스턴스

(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);
}
}

객체 개념이 다소 어려워서 이 부분에 대해 집중적으로 학습하였다. 다음에는 또 다른 내용으로 돌아오겠다. 아윌비백.....

profile
여행하는 데이터 사이언티스트🧙‍♂️

0개의 댓글

관련 채용 정보