반응형

분류 전체보기 2934

[안드로이드] 29. Java break 문

break 문 반복문으로 로직을 작성하다보면 반복 수행할 구문을 수행 중에 특정 조건일 때 반복문을 탈출할 필요가 생깁니다. 이 때 break문을 사용하면 반복문을 탈출할 수 있습니다. 주의할 점은 선택문에서도 break문을 사용하고 있다는 점입니다. 예를 들어 반복문 내부에 if문이 있고 if문 내부에 break문이 있으면 반복문을 탈출합니다. 반면 반복문 내부에 선택문이 있고 선택문 내부에 break문이 있으면 선택문만 탈출합니다. do while 문을 설명하면서 사용한 예제 코드를 보면 반복문 내부에 선택문이 있고 선택문 내부에 break문이 있는 구조를 살펴볼 수 있습니다. 여기서는 break문은 선택문을 탈출하는 용도로 사용한 것입니다. 여기서는 반복문 내부에 if문이 있고 if문 내부에 bre..

[안드로이드] 28. Java 반복문

반복문 java 언어에서 특정 조건식이 참일 동안 반복 수행하는 반복문으로 while, do while, for문을 제공합니다. 이 외에 배열처럼 여러 원소를 관리하는 컬렉션의 원소에 공통적인 작업을 수행하는 foreach 문을 제공합니다. 이 부분은 뒤에서 다룰게요. 1. while 문 while(조건 statement) 반복 수행할 statement; 먼저 while 문은 조건이 참일 때 반복해서 수행할 하나의 구문을 나타낼 수 있습니다. 물론 여러 개의 구문을 반복 수행하게 하려면 블록 문법을 이용합니다. 예를 들어 1에서 100사이의 합을 구한다면 다음과 같은 알고리즘이 필요하겠죠. 합계 sum을 0으로 초기화 index를 1로 초기화 반복(index가 100보다 작거나 같다면) sum에 sum+..

[안드로이드] 27. Java 선택문

선택문 Java 언어에서는 특정 데이터의 값에 따라 수행할 구문을 선택하는 문법을 제공합니다. 이와 같은 문법을 일반적으로 선택문이라 부르며 switch case 문이라고도 부릅니다. switch(데이터){ [case 상수:] [수행 statment;] [break;] [case 상수:] [수행 statment;] [break;] [default:] [수행 statment;] [break;] } Java 언어에서 switch case 문은 switch 뒤의 괄호 내부에 데이터를 표현하고 그 값의 종류에 따라 case 상수 레이블(코드 내부에 콜론이 붙은 것)을 지정하여 수행할 위치를 정할 수 있습니다. 그리고 case 상수 레이블에 표현하지 않은 값일 때는 default 레이블 위치의 구문을 수행합니다...

[안드로이드] 26. Java 조건문

조건문 Java 언어에서는 특정 조건에 따라 수행할 작업을 결정하는 조건문을 제공합니다. Java 언어에서 제공하는 조건문은 특정 조건이 참일 때 수행할 작업을 표현하는 if 문과 특정 조건이 참일 때 수행할 작업과 거짓일 때 수행할 작업을 표현하는 if else 문을 제공합니다. if(조건 statement) 참일 때 수행하는 statement; if(조건 statement) 참일 때 수행하는 statement; else 거짓일 때 수행하는 statement; 먼저 특정 조건이 참일 때 수행하는 if문을 살펴봅시다. else가 없는 if문은 조건식이 참일때 수행하는 구문만 정의합니다. 주의할 점은 if문 뒤에 오는 하나의 구문만 if문에 속하므로 참일 때 수행할 구문이 여러 개가 있으면 블록({로 시작..

[안드로이드] 25. Java 제어문

제어문 개요 컴퓨터 프로그램은 조건에 따라 수행할 작업을 결정하거나 특정 데이터의 값에 따라 수행해야 할 작업을 결정하고 특정 조건이 만족할 때 반복해서 작업을 수행할 수 있어야 합니다. Java 언어에서도 이와 같이 작업을 수행할 수 있는 코드를 작성하기 위한 문법을 제공하는데 일반적으로 제어문이라 말합니다. Java 언어에서 제공하는 제어문은 크게 조건에 따라 수행할 작업을 결정하는 조건문과 특정 데이터의 값에 따라 수행할 작업을 결정하는 선택문, 특정 조건이 만족할 때 반복해서 수행하는 반복문을 제공하고 있습니다. 앞으로 제어문을 학습할 때 사용할 프로젝트를 하나 생성한 후에 진입점 main을 포함하는 Program 클래스를 추가하고 static Scanner 개체를 생성해 놓으세요. import ..

[소프트웨어 공학] 소프트웨어 재공학

소프트웨어 재공학 이번에는 정보처리기사 필기 과목인 소프트웨어 공학의 재공학(Erengineering)을 알아보아요. 소프트웨어 재공학 소프트웨어의 위기를 유지보수의 생산성으로 해결하려는 방법 분석, 재구성, 역공학, 이식 등의 방법이 있습니다. 분석(Analysis) 기존 소프트웨어의 명세서를 확인하고 소프트웨어의 동작을 이해하고 재공학 대상을 선정하는 활동 재구성(Resturcturing) 소프트웨어 기능을 변경하지 않고 소프트웨어 형태에 맞게 수정하는 활동 상대적으로 추상적 수준에서 하나의 표현을 다른 형태로 변경 역공학(Reverse Engineering) 기존 소프트웨어를 분석하여 소프트웨어 개발과 데이터 처리 과정을 분석하고 설계 정보를 재발견하거나 다시 만드는 작업 이식(Migration) ..

[소프트웨어 공학] OOP(Object Oriented Prgramming)

OOP(Object Oriented Prgramming) 이번에는 정보처리기사 필기 과목인 소프트웨어 공학의 OOP를 살펴보아요. OOP Object Oriented Programming의 약어로 객체(혹은 개체) 지향 프로그래밍이라 부릅니다. 현실 세계를 모델로 개체 사이에 메시지를 주고 받게 프로그래밍하는 기법입니다. 재사용성이 높아지고 유지보수가 쉬워집니다. Object 자료와 기능을 캡슐화한 소프트웨어 모듈 자료를 상태, 변수,속성이라고 부릅니다. 기능을 함수, 프로시저, 메서드, 서비스, 동작이라고 부릅니다. 클래스 캡슐화하여 Obejct를 정의한 형식 인스턴스 클래스에 속한 개체를 인스턴스라 부릅니다. 메시지 Object 사이에 상호작용하는 수단 메시지를 수신한 Object는 메서드를 수행합니..

[소프트웨어 공학] 유지보수

유지보수 이번에는 정보처리기사 필기 과목인 소프트웨어 공학의 유지보수를 살펴보아요. 유지보수 소프트웨어를 인수, 설치한 후에 발생하는 모든 공학적 작업 원인에 따라 수리(Corrective) 보수, 적응(Adaptive) 보수, 완전화(Perfective) 보수, 예방(Preventive) 보수 등이 있습니다. 유지보수를 쉽게 하려면 시험 용이성, 이해성, 수정 용이성, 이식성을 고려해야 합니다. 수리보수(Corrective): 검사에서 밝혀지지 않은 모든 잠재적인 오류를 수정하기 위한 보수 형태로서 수정과 진단을 포함 적응보수(Adaptive): 소프트웨어 수명 기간 중에 발생하는 하드웨어, 운영체제 등 환경의 변화에 반영하기 위해 수행 완전화보수(Perfective): 현재 수행 중인 기능의 수정, ..

[소프트웨어 공학] 검사(Test)

검사(Test) 이번에는 정보처리기사 필기 과목인 소프트웨어 공학의 검사(테스트)를 알아보아요. 화이트 박스 모듈 안의 작동을 직접 관찰 원시 코드의 모든 문장을 한 번 이상 수행 프로그램의 제어 구조에 따라 선택, 반복 등의 부분들을 수행하여 논리적 경로를 제어 기본 경로 테스트, 조건 테스트, 데이터 흐름 테스트, 반복 테스트를 수행합니다. 블랙 박스 제품이 수행할 특정 기능을 알기 위해서 각 기능이 완전히 작동하는 것을 입증 성능 오류, 부정확한 기능, 인터페이스 오류를 발견할 수 있습니다. 동치 분할 검사, 경계값 분석, 원인 효과 그래프 검사, 오류 예측 검사, 비교 검사를 수행합니다. 검사 순서 단위(코드) 검사 → 통합(설계) 검사 → 검증(요구사항) 검사 → 시스템 검사 코드 검사 → 설계..

[소프트웨어 공학] 설계

설계 이번에는 정보처리기사 필기 과목인 소프트웨어 공학의 설계를 살펴보아요. 설계 모형의 구조도 설계 모형의 구성 프로시저 절차 설계 - 기능의 수행 흐름을 절차식으로 기술 인터페이스 설계 - 상호 작용에 관한 약속을 기술 아키텍쳐 설계 - 소프트웨어를 구성하는 요소 간의 관계를 기술 데이터 설계 - 요구 분석 단계 결과로 소프트웨어 구현에 필요한 데이터 구조를 기술 좋은 설계 모듈화가 이루어져야 한다. 모듈간에 독립성을 보장하고 결합도를 낮춘다. 요구 사항을 모두 구현하고 유지보수가 쉬워야 한다. 자료와 프로시저에 대한 분명하고 분리 표현을 포함해야 한다. 소프트웨어 요소 간의 효과적인 제어를 위해 계층적 조직을 제시해야 한다. 추상화 세부적인 사항을 설계하기 전에 전체적이고 포괄적인 개념을 설계하는 ..

반응형