클래스
OOP(Object Oriented Programming, 객체지향 프로그래밍)
프로그래밍 환경 발전 순서
순차적 프로그래밍 ---> 구조적 프로그래밍 ---> 객체지향 프로그래밍
수직 순차 처리 함수(Function) 클래스(Class: 메소드+멤버변수)
GOTO(유지보수 어려움) 함수 존재, main() 로직을 콤포넌트화해 재사용성 향상
재사용성 없음 포인터를 이용해 고속처리 유지보수시 편리함 제공
line번호 존재 메모리 안정성이 떨어짐 메모리가 매우 안정적으로 관리됨
Reference 사용으로 속도가 느림
데이터의 구조 발전 순서
객체 지향의 개념
재사용 가능하기 쉽게 제작됨
한번 개발된 자바코드를 또 다른 프로젝트에 아주 적은 수정을 하면서 적용시킬수 있는 특징
Copy & Paste와는 전혀 다른 개념입니다.
예) A 급여 프로그램 --> Module 재사용 --> B 급여 프로그램
콤포넌트가 다른 콤포넌트와 독립적인 부품을 이루어 하나의 거대한 프로그램을 형성합니다.
실생활에서의 객체 지향의 예(콤포넌트 지향 설계)
컴퓨터 조립: onBoard(VGA, LAN, SOUND 합체) --> 교체가 어려움
오디오 콤포넌트: Component- Speaker, Radio, CD, DVD, 카세트 분리
윈도우 파일 열기 창
자동차 조립: 타이어 교체
객체 지향 프로그램의 개발 순서
객체 모델링(설계)
작성하려는 클래스의 속성과 메소드를 미리 문서상으로 나열 정리한다.
팀원간에 로직에 대한 이해를 빨리 할 수 있습니다.
메소드 Stub(원형, 구조)을 생성합니다.
클래스라는 형태로(멤버 변수의 선언, 메서드의 선언) 선언한다.
Rational Rose 2000, 2003, OMONDO Eclipse plugin
클래스 정의
멤버 변수 정의, 메소드 기능을 정의
객체 생성과 사용
정의된 클래스를 이용해서, 메모리상에 객체를 만들고, 객체를 이용한 프로그래밍을 한다.
클래스 객체의 생성 - new를 통한 메모리 할당, 생성자를 호출
클래스 선언, 객체 생성, 멤버 변수
클래스의 선언
클래스명은 첫자는 대문자로 시작하고 파일명은 클래스명과 대소문자도 일치 해야 합니다.
public class DosInput3 { ---> DosInput3.java 로 저장
하나의 클래스는 하나의 파일로 생성됩니다. Test.java --> Test.class
java 파일 하나 안에는 여러개의 클래스를 넣어둘수 있는데 이런경우 컴파일을하면 자바 소스 파일은 하나이나 컴파일의 결과로 만들어지는 클래스는 2개이상이 됩니다.
하나의 파일안에 클래스가 2개이상 있게되면 반드시 public 키워드로 진입(메인, 시작)클래스를 명시해야합니다. 이 클래스안에는 main()메소드가 있습니다.
클래스가 2개이상 있는 경우의 파일명은 public이 명시된 클래스명으로 저장합니다.
하나의 파일안에 public 클래스는 하나만 있을 수 있습니다.
PayCalc.java, 유지보수가 어려운 경우의 예
데이터 클래스의 분리
Pay2.java
PayCalc2.java
Last updated