개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 
 

데이터타입
데이터 타입 이란?  프로그래머가 메모리를 얻어올 때 그 크기를 지정한다는 의미
메모리를 얻고 사용하는 절차
필요한 메모리의 크기를 정한다.
크기에 해당하는 만큼의 메모리를 얻는다.
메모리에 데이터를 집어 넣는다.
만약 4바이트의 메모리를 프로그래머가 얻어낸다는 것은 어렵기 때문에 메모리의 크기를 미리 지정해 두었는데 그것이 데이터 타입이다.
데이터 타입을 이용하면 효과적인 메모리 활용이 가능하다.

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 
 
객체지향의 핵심 키워드


 

클래스(Class) : 데이터 + 메서드
객체(Object), 인스턴스(instanse)
메시지(Message)
캡슐화(Encapsulation)
상속(inheritance)
다형성(polymorphism)

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 
 
객체지향 개념의 등장 배경

 
프로그래밍 언어의 발전
기계어 -> 어셈블리어 -> 고급언어
함수 기반 프로그래밍
1970년대 - 1980년대
소프트웨어의 위기
생산성 향상의 한계
객체지향 개념의 등장
1980년대

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 
 
객체지향 소프트웨어 방법론

 
어떠한 기존의 방법도 데이터와 함수를 함께 다루지 않는다
객체지향 방법론은 높은 응집도와 낮은 결합도를 제공해 주어, 기존의 방법론에서 나타났던 문제점들을 상당부분 해소시켜 줄 수 있는 방법론으로 등장하게 되었다.
객체지향방법론
Object >= Data + Functions
 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 
 
데이터 중심 분석과 설계

 
1980년대
Peter Chen과 Ed Codd의 접근 방법
엔티티라 불리는 일련의 데이터 아이템을 빌딩 블록으로 하여 소프트웨어 시스템을 만들고자 함
특징
데이터가 비즈니스 응용에서 가장 안정된 부분이라 생각하고 데이터 모델링 방법을 사용하여 시스템을 표현하고자 함
예) E-R 모델
데이터 모델링 기법은 시스템의 기능을 표현하는데 도움을 주지 못하고 추가적인 방법을 필요로 함
 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 
 
구조적 설계와 분석
함수와 프로시저(procedure)는 생성되는 응용 프로그램에 대해 추상화를 제공함
함수는 다른 응용에서 재사용 가능함
프로시저는 반복적인 작업을 줄여 줌
높은 결합도(coupling)와 낮은 응집도(cohesion)에 의한 시스템의 복잡도 증가
결합도
특정 코드 부분의 다른 코드나 데이터 저장소에 대한 의존성 정도
구조적 방법론은 높은 결합도를 보여 줌
응집도
서로 관련된 일련의 코드와 데이터가 얼마나 적합하게 관련을 맺고 있는가에 대한 정도
명령형 언어에서 변수는 공통 영역에 존재하면 모든 함수에서 공유가 가능함
구조적 방법론은 낮은 응집도를 보여 줌

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 
 
구조적 설계와 분석
1970년대
AI Constantine과 Ed Yordon의 접근 방법
함수(function)들을 빌딩 블록(building block)으로 하여 소프트웨어 시스템을 만들고자 함
특징
모듈화 프로그래밍으로의 발전을 가져 옴
함수는 언제나 변화할 수 있음
거의 변하지 않는 자연 법칙에 따라 작성되는 ‘과학 프로그램’에는 적합하나, 사용자의 요구가 계속적으로 바뀌는 현실 세계의 응용에는 부적합함

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 
 
스파게티 코딩
1960년대
작고 간단한 응용 시스템을 만듦
제한된 시스템 자원 하에서 최대한의 효과를 보고자 노력함
개발자들의 창조적인 능력에 의해 소프트웨어가 개발됨

 

스파게티 코드 생성

수많은 GOTO 구문은 소프트웨어 시스템을 보수/관리하기 어렵게 함

+ Recent posts