구조적인 프로그래밍이란?
- 절차로 구성된 프로그램에서 기능별로 잘라 구조를 만든 형태
왜 필요한지?
- 프로그램을 효율적으로 관리하기 위해 생김
- 프로그램을 기능별로 구성하기 위해 생김
- 절차적 프로그램에서 진화함
어떻게 활용하는지?
- 기능별로 함수를 만듦
- 함수를 보고 프로그램이 어떤 기능을 하는지 짐작할 수 있음
- 프로그램의 흐름을 알 수 있음
- 기능 설명 면에서는 TV
- 클래스를 바탕으로 객체 생성하는 건 냉장고
- 참조변수 선언은 강아지를 생각하면 됨
클래스는 말그대로 설계도이다.(이하 클래스=설계도) 클래스 즉, 설계도를 한 번 정의 해놓으면 TV든 냉장고든 계속 찍어낼 수 있다. 클래스(설계도)를 참조해서 객체를 생성해낸다.(new) 만들어낸 냉장고, TV는 그저 객체이다. 클래스로부터 인스턴스화 된 것이다. 이 녀석들은 이름이 없는데, 사용하기 위해선 이름이 필요하다. (강아지로 예를 들기에 강아지는 너무 귀엽지만, 이름을 지어주는 예시로는 강아지만한 게 없다.) 우리는 생성된 객체에 이름을 지어줘야한다. 그래야 불러서 사용할 수 있다.
TV 설계도에서는 1)속성과 2)기능을 정의해준다. TV로 예를 들어보겠다.
1) TV의 속성인 가격, 색, 브랜드 등...
2) TV의 기능인 전원 on, off, 볼륨 UP, Down...
속성인 가격, 색, 브랜드 등은 멤버변수,
기능인 전원 on/off와 같은 기능들은 앞으로 메서드로 부를 것이다.
Exam exam;
exam = new Exam(); //우리가 설계한 방이 생성됨
exam.kor = 30;
Exam exam = new Exam();