티스토리 뷰
Goal
- 객체 지향 프로그래밍의 개념을 이해한다
- 절차 지향 프로그래밍과 객체 지향 프로그래밍의 차이를 이해한다
- 클래스와 구성요소를 이해한다
- 클래스를 직접 구현하고 사용해본다
1. 객체 지향 프로그래밍 이란?
- 객체 지향 프로그래밍 (Object Oriented Programming : OOP) : 객체를 기반으로 하는 프로그래밍으로, 객체를 정의하고, 객체의 기능을 구현하며, 객체간의 협력(cooperation)을 구현
- 절차 지향 프로그래밍 ( Procedural Programming) : 시간이나 사건의 흐름에 따른 구현, C 언어 등
2. 객체 지향 프로그래밍과 절차 지향 프로그래밍 예시
2-1 절차 지향 프로그래밍
- 프로그램이 실행되는 일련의 과정이 절차에 따라 진행됨 (시간의 흐름)
ex) 일어난다 -> 씻는다 -> 밥을 먹는다 -> 버스를 탄다 -> 요금을 지불한다 -> 학교에도착
2-2 객체 지향 프로그래밍
- 객체를 생성하고(학생) 객체가 동작하는 행위들과의 연관관계를 통해 프로그래밍을 구성하고 실행함. (시간의 흐름에 따르지 않는 경우도 있음)
3. 클래스 (Class)
- 객체를 코드로 구현한 것, 변수와 메서드로 이루어짐
- 객체 지향 프로그래밍의 가장 기본 요소
- 객체의 청사진 (blueprint)
3-1 맴버번수
- 객체가 가지는 속성을 변수로 표현
- 클래스의 맴버변수
- member variable, property, attribute
3-2 메서드
- 객체의 기능을 구현
- method, member function
4. Java 코드를 통해 클래스를 정의하기
예제 1) Student.java
- 학번, 이름, 주소 값을 갖고 학생의 정보를 보여주는 클래스
*public 클래스
- 자바 파일 하나에 여러 개의 클래스가 존재 할 수도 있지만 public 클래스는 하나이고, public 클래스와 자바 파일 이름은 동일해야 함.
package classpart;
// 하나의 Java 파일에 다양한 Class를 생성할 수 있다.
//하나의 Java파일에는 public 클래스가 1개만 있고, 그 클래스의 이름은 Java 파일과 같아야 한다.
public class Student {
// 맴버 변수
public int studentID = 1;
public String studentName = "Steve";
public String studentAddress = "종로구";
// 메서드(기능)
public void showStudentInfo () {
System.out.println(studentName + "," + studentAddress);
}
}
5. 클래스 사용하기
- 클래스 생성하기 : new 키워드를 사용하여 생성자로 생성
ex) Student studentLee = new Student();
- 클래스의 속성, 메서드 참조하기 : 생성에 사용한 변수(참조변수, studentLee)로 클래스의 속성, 메서드 참조
ex) studentLee.studentName = "Lee";
ex) studentLee.showStudentInfo();
예제 2) StudentTest.java
- Student클래스를 사용하는 main 클래스.
package classpart;
public class StudentTest {
public static void main(String[] args) {
Student studentLee = new Student();
// Student 클래스를 메모리에 생성 (사용할 준비를 함)
studentLee.studentName = "이순신";
studentLee.studentAddress = "서울";
studentLee.showStudentInfo();
}
//출력결과 : 이순신, 서울
}
'Java > Java 올인원 패키지' 카테고리의 다른 글
5. 접근 제어자, 정보은닉 (Java) (0) | 2020.03.14 |
---|---|
4. 참조 자료형 (reference data type) (0) | 2020.03.14 |
3. 생성자 (Java) (0) | 2020.03.14 |
2. 함수와 메서드 (0) | 2020.03.13 |
15. 다형성, 형변환 (Java) (0) | 2020.03.13 |
- 20200330
- 20200502
- 20200421
- 20200413
- 20200503
- 20200424
- 20200420
- 20200406
- 백준
- 20200428
- 20200423
- 20200319
- 생활코딩리눅스
- 20200403
- 20200317
- 20200427
- 20201204
- 20200425
- 20200624
- chapter8
- 20200415
- 20200512
- 20200429
- 20200622
- 20200417
- 20200804
- likelion
- 20200504
- chapter7
- 20200510
- Total
- Today
- Yesterday