Back-end Skill/JAVA

TIL 29일차 개발일지_ 자바 클래스

Sophie소피 2021. 11. 5. 00:14

클래스가 뭐야?

= 클래스는 정보를 묶는 것!

 

객체지향프로그래밍 ....이 무엇인지 앞에 포스팅에서 계속 다뤘었는데요 

기억하시죠..? 기억이 안나신다면 Spring 실시간 강의 정리본을 보러 gogo ~

 

클래스는 

현실과 비슷한 개념(객체)을 나타내기 위한 자바의 도구를 클래스라고 부른다고 합니다! 

클래스 내 정보를 멤버 변수라고 합니다.

 

클래스 예제)

public class Course {
		// title, tutor, days 가 Course 라는 맥락 아래에서 의도가 분명히 드러나죠!
    public String title;
    public String tutor;
    public int days;
}
Course course = new Course();
course.title = "웹개발의 봄, Spring";
System.out.println(course.title);
System.out.println(course.tutor);

변수 course는 실제 빵, Course 클래스는 빵틀 

- 생성자 (Constructor) 

course.tutor를 인쇄해보면 null (아무것도 없음)이 보입니다ㅜㅜ

여기에 값을 부여하려면 어떻게 해야할까요~? 

public class Course {
    public String title;
    public String tutor;
    public int days;

		// 이렇게 아무런 파라미터(매개변수)가 없는 생성자를 기본생성자 라고 부릅니다.
    public Course() {

    }

    public Course(String title, String tutor, int days) {
			  // this 는 "이것" 이죠? 클래스 변수를 가리킵니다.
        this.title = title;
        this.tutor = tutor;
        this.days = days;
    }
}

위와 같이 "클래스명과 똑같은 이름을 가진 메소드를 "생성자"라고 부릅니다.

클래스 변수를 새롭게 만들 때 사용되는 녀석인데요, 아래와 같이 사용할 수 있습니다.

 

this? 아까 말씀드린, 빵틀(Course)과 빵(course)의 관계 기억나시나요?

우리가 바꾸고 싶은 건 빵틀의 값이 아니라 실제 빵의 값입니다.

this 라고 지시함으로써, 빵틀 전체의 값을 바꾸는게 아니라 빵 하나의 값만 바꾸는 것이 핵심 포인트입니다!