728x90
- 객체지향 프로그래밍
프로그래밍을 현실 세계에 빗대어 체계적으로 생각해보는 발상
- 클래스
정보를 묶는 것
현실과 비슷한 개념(객체)을 나타내기 위한 자바의 도구
클래스 내 정보 : "멤버 변수" 라고 함
내가 이해하고 있는 클래스
클래스는 내가 필요한 자원(변수나 메소드 등)을 직접 만들어서
한 묶음(하나의 클래스)를 직접 정의하는 것
하나의 틀(하나의 클래스)을 만드는 것
내가만든클래스 aaaaa = new 내가만든클래스();
정의한 클래스로 객체를 생성하면
내가만든 클래스라는 틀이 생기게 됨
클래스 안에 정의해놓은 변수나 메소드들을 사용할 수 있게 된것임
사용 방법은
aaaaa.________ 로 변수나 메소드를 호출함
내가만든클래스 bbbbb = new 내가만든클래스();
새로 또 객체를 생성하면
내가 정의한 틀이 bbbbb라는 이름으로 복제가 된거임
aaaaa랑 bbbbb는 전혀 다른 클래스임
틀만 같은거지 틀 안에 있는 내용물들은 전혀 다른 것임
Course라는 한 묶음. 틀이라는 것을 만들건데
그 틀 안에는 title, tutor, days라는 변수를 만들거다
이렇게 Course라는 틀을 정의를 할거다 땅땅땅
/*Course.java*/
package com.sparta.week01.prac;
public class Course {
// title, tutor, days 가 Course 라는 맥락 아래에서 의도가 분명히 드러나죠!
public String title; //멤버변수
public String tutor; //멤버변수
public int days; //멤버변수
//기본 생성자
public Course() { }
/*
* 생성자를 아예 기재 안하면 자동으로 기본생성자가 있다고 알아서 생각함
* 생성자를 하나라도 기재를 할 경우 기본생성자는 없는걸로 취급되기 때문에
* 기본생성자를 꼭 써줘야함
* */
//생성자
public Course(String title, String tutor, int days) {
//this는 현재 클래스를 가리킨다고 생각
//this.title: Course 클래스에 있는 title 변수
//title: 생성자 매개변수 title
this.title = title;
//this.tutor: Course 클래스에 있느 tutor 변수
//tutor: 생성자 매개변수 tutor
this.tutor = tutor;
//this.days: Course 클래스에 있는 days 변수
//days: 생성자 매개변수 days
this.days = days;
}
}
/*Prac3.java*/
package com.sparta.week01.prac;
import java.util.ArrayList;
import java.util.List;
public class Prac3 {
public static void main(String[] args) {
Course course = new Course();
course.title = "웹개발의 봄, Spring";
System.out.println(course.title); //웹개발의 봄, Spring
//tutor에는 값을 아무것도 넣지 않았으므로 null이라는 값. 비어있다는 값이 나타남
System.out.println(course.tutor); //null
//생성자를 이용해서 Course 클래스에 있는 title, tutor, days라는 변수에
//미리 값을 넣어줌
Course coures2 = new Course("Spring", "임민영", 35);
System.out.println(coures2.title); //Spring
System.out.println(coures2.tutor); //임민영
System.out.println(coures2.days); //35
}
}
'Spring Framework' 카테고리의 다른 글
JAVA) Getter, Setter (0) | 2021.07.07 |
---|---|
0주차) 스파르타 코딩클럽 - 웹 개발의 봄, Spring (0) | 2021.07.07 |
JAVA) 조건문 (0) | 2021.07.06 |
JAVA) 반복문 (0) | 2021.07.06 |
JAVA) 메소드 (0) | 2021.07.06 |