반응형

#안드로이드 10

[안드로이드] 35. Java 중복 정의(Overloading)

중복 정의(Overloading) Java 언어에서는 클래스의 멤버 메서드의 입력 매개 변수 리스트가 충분히 다르면 같은 이름으로 여러 개의 멤버 메서드를 정의할 수 있습니다. 이러한 특징을 메서드 중복 정의(Overloading)이라고 부릅니다. 예를 들어 원을 클래스로 정의합시다. 원 개체를 생성할 때는 반지름을 입력 인자로 생성하게 하고 면적을 구하는 메서드를 제공합시다. 만약 입력 인자를 전달하지 않으면 원의 넓이를 구하고 입력 인자로 각 정보를 전달하면 호의 면적을 구합니다. 이 때 입력 인자를 전달하지 않고 원의 넓이를 구하는 메서드와 각 정보를 전달하여 호의 면적을 구하는 메서드의 이름을 같은 이름으로 정의할 수 있습니다. public double calculateArea(){ return ..

[안드로이드] 34. Java 접근 지정자

접근 지정자 앞에서 OOP에서는 캡슐화 과정에서 멤버의 가시성을 정의하여 접근 수준을 지정할 수 있다고 하였습니다. Java 언어에서는 public, protected, private 키워드를 이용하여 접근 지정할 수 있는데 이와 같은 접근 지정을 왜 해야 하는지 알아봅시다. 멤버의 가시성을 public으로 지정하면 모든 곳에서 접근이 가능합니다. 따라서 형식 개체를 사용하는 곳에서 접근해야 하는 멤버에는 가시성을 public으로 지정합니다. 멤버의 가시성을 protected로 지정하면 클래스 자신의 내부와 파생 클래스에서는 접근할 수 있지만 그 외의 클래스에서는 접근할 수 없습니다. 이에 관한 문법은 상속을 다루면서 소개하기로 할게요. private으로 가시성을 지정하면 클래스 자신 내부에서만 접근할 ..

[안드로이드] 32. Java OOP 개요

OOP 개요 프로그래밍 언어의 종류는 셀 수 없을 정도로 많습니다. 초기의 코볼이나 파스칼, 포트란등의 언어는 기능 중심으로 프로그램을 구성하기 쉬운 구조적 프로그래밍 언어입니다. 그런데 프로그래밍 역사가 발전하면서 사람이 살고 있는 세상과 비슷한 구조로 표현할 수 있는 OOP[1]에 관한 연구를 진행하였습니다. 그리고 Java 언어와 C# 언어 등은 OOP 언어입니다. OOP 언어는 사용자 정의 형식을 만들 때 데이터와 기능을 하나로 캡슐화합니다. 이전 구조적 프로그래밍 언어에서는 사용자 정의 형식에는 데이터만 정의하고 기능은 별도로 정의해야 했습니다. 하지만 OOP 언어에서는 데이터와 기능을 하나로 캡슐화할 수 있습니다. [그림]구조적 프로그래밍 언어 VS OOP 언어 일반적으로 OOP 언어에서 사용..

[안드로이드] 31. Java continue 문

continue 문 continue 문은 반복문 내에 수행할 반복 구문 중에 특정 위치에서 뒤의 구문을 수행하지않고 바로 반복의 후처리 구문 및 조건식으로 분기할 때 사용합니다. 예를 들어 1에서 100사이의 정수 중에 2의 배수나 3의 배수를 제외한 나머지 정수의 합계를 구한다고 가정합시다. 이를 위해서는 루프 카운터 변수 i를 1에서 100까지 1씩 증가하는 반복문에서 i가 2의 배수이거나 3의 배수이면 다음으로 넘어가고 그렇지 않을 때만 sum에 i를 더하면 될 것입니다. 이 때 i가 2의 배수이거나 3의 배수일 때 continue문을 사용하여 문제를 해결할 수 있습니다. private static void exContinue() { int sum = 0; for(int i = 0; i

[안드로이드] 30. Java break 레이블문

break 레이블문 프로그래밍하다 보면 반복문 내부에 반복문을 사용해야 할 때가 있습니다. 만약 내부 반복문에서 break문을 사용하면 내부 반복문만 탈출합니다. 그런데 외부 반복문에 레이블을 지정하고 내부 반복문에서 break 레이블문을 사용하면 외부 반복문을 탈출할 수 있습니다. 먼저 Java 언어에서는 코드 상에 레이블 이름을 지정하고 콜론(:)을 표시하면 레이블을 설정하는 것입니다. 레이블 명: 그리고 break 레이블문은 break 뒤에 레이블 이름을 표시하는 것입니다. break 레이블 명; 예를 들어 구구단의 합을 계산하다 처음으로 1000을 넘는 위치가 어디인지 확인하는 로직을 구현해 봅시다. 이를 위해서는 단을 진행하기 위한 반복문이 외부에 있고 내부에 다시 단*1에서 단*9까지 진행하며..

[안드로이드] 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 ..

반응형