Java 8강

말하는 감자·2023년 3월 21일
0
post-thumbnail

2023-03-21

객체지향 프로그램밍의 시작


객체지향 프로그래밍(OOP)

  • OOP의 기본 컨셉은 실 세계의 일들을 객체를 사용해서 모델링 한다.
    • 객체를 사용하지 않으면 불가능 혹은 무지 어려웠을 일들을 쉽게 처리하는 방법을 제공

캡슐화


→ 함수의 개체 수가 많아지는 문제가 발생

→ 어떻게 함수를 수납할 것인가

  • 기능 ( X )
  • 데이터 ( O )

→ 구조화된 데이터를 사용하는 함수 모듈의 독립성을 침해하는 문제를 해결할 수 있기 때문에

함수는 외부의 수정에 의해 절대 영향을 받아서는 안된다.

캡슐화를 하면

  • 데이터 구조에 따른 코드의 수정범위를 캡슐 범위로 한정할 수 있다.
  • 데이터 구조와 함수를 하나의 영역에 함께 정의하는 것
  • 메인 프로그램에 있는 함수들을 ExamList 클래스로 옮겨서 캡슐화
package part3.ex1.캡슐화;

public class ExamList {
	Exam[] exams1;
	int current;
	
	static void printList(ExamList list) {
		
	}
	static void printList(ExamList list, int size) {
		
	}
	static void inputList(ExamList list) {
		
	}
	public static void init(ExamList list) {
		list.exams = new Exam[3];
		list.current = 0;
	}
}

→ 캡슐화를 통해서 오류가 나타나는 범위를 캡슐 내부로 한정

객체와 함수의 관계


객체지향적인 함수 호출 방식으로의 변화하기

→ public static void : 함수

→ public void : 클래스의 메서드

  • 메서드에서는 함수와 같은 구조를 가지지만 매개변수를 this로 바꿔준다.

캡슐을 깨지 못하게 하는 도구 : 접근 제어 지시자

→ private : 캡슐을 깨지지않게 막아주는 지시자 → 절대로 외부에서 쓸 수 없도록 함

→ public : 캡슐 중 서비스를 하는 것들을 보여줌

  • 데이터 구조 : private
  • 서비스에 해당하는 것(메서드, 함수) : public

0개의 댓글