[패스트 캠퍼스 자바 완주반] 5-1. 객체 지향 프로그래밍과 클래스
1. 객체
: 명사, 동사 등 행위의 대상. 프로그램에서 일어나는 모든 일들.
2. 객체 지향 프로그래밍
객체를 만들고 이를 대상으로 하며 객체들의 연관 관계를 가지고 프로그래밍
정의 기능 구현, 협력 구현
절차식
객체(object entity) 를 뽑고 객체 사이 연관 관계를 정의하고 구현
요금 지불, 수 증가
일련의 관계
3. 클래스
1)정의하기
클래스: 객체의 추상적인 부분을 코드화한 청사진. 객체지향 프로그래밍의 구성요소.
class Student{
int studentNumber;
String studentId;
}
=> 객체를 나중에 생성하고 사용하기 위해 특정 속성을 정의하는 것.
-멤버 변수 (attribute, property)
: 객체의 속성을 변수로 표현한 것.
클래스 내부 객체의 속성은 변수로 표현한다.
변수가 클래스 안에 들어오면 멤버 변수다.
ex. Student 클래스 안 학번, 주소 등
-메서드 (method, member function)
: 객체의 기능 구현
객체 안에서 사용하는 함수
ex. Studnet 클래스 안 주소를 보여준다(기능)
void는 반환하는 것이 없으면 사용.
void 메서드 이름 (매개변수: 없을 수 있음){구현할 기능}
ex. public void(보여주는) showStudentInfo(){
System.out.println(studentName + "," + address);
}
2)사용하기
-생성하기
: 인스턴스 생성
클래스는 청사진으로 속성, 기능을 선언만 함. 각각 값을 대입해야 한다.
객체는 동일 클래스가 아닌 다른 클래스에서 사용하므로 다른 클래스에서 생성해서 써야한다.
cf. 웹 서버에서 사용하면 같은 클래스에서 main(클래스 안 시작용 함수)을 생성할 필요 없다.
안에서 클래스가 생성되고 흘러가기 때문에. 서버가 아닌 경우 직접 가져다가 test를 해야 하니까 main을 사용한다.
ex. public static void main(String[] args){
Student studentLee = new Student();
=>이미 만든 객체 Student의 변수 이름으로 studentLee 선언
new와 Student();로 클래스 생성 => 생성자 (미리 만들어놓은 Student 클래스가 메모리에 생성된다)
studentLee. 뒤에 만든 변수, 메서드가 뜨고 사용할 수 있다. 이때 = 를 이용해서 값을 대입할 수 있다
}
-참조변수 :
속성, 메서드 참조
studentLee.showStudentname();
studentLee.address = '서울' (address 라는 미리 만든 멤버 변수를 불러오는 참조 변수. 등호를 이용해 '서울'을 대입한
다)
-public class
: 자바 파일에 여러 class가 존재할 수 있다.
단 public class는 단 하나, 자바 파일과 동일한 이름을 가지고 있어야 한다.
-public class