조건문, if문에 대해 알아보자! 다른 언어 배우면서 숱하게 배웠다.
먼저 if문이란 주어진 조건에 따라 다른 실행이 이루어 지도록 구현되어있다. if-else 문으로 이루어져 있으며 조건식이 참일 경우엔 if문 다음의 코드가, 거짓일 경우엔 else문 다음의 코드가 실행된다.
만약 조건이 여러개일 경우엔 어떻게 해야할까?
if(조건식1){
수행문1; // 조건식1이 '참'인 경우 수행하고 전체 조건문을 빠져나감
}
else if(조건식2){
수행문2; // 조건식2이 '참'인 경우 수행하고 전체 조건문을 빠져나감
}
else if(조건식3){
수행문3; // 조건식3이 '참'인 경우 수행하고 전체 조건문을 빠져나감
}
else{
수행문4; // 위 조건이 모두 해당되지 않는 경우 수행됨 (디폴트 조건)
}
이렇게 if - else if - else 문으로 구성한다!
if- else if 를 사용하는 경우 하나의 조건이 만족 되면 나머지 else if 부분은 수행되지 않지만, if - if 로 사용하게 되면 각각 다른 조건 문으로 해석되어 각각 수행하게 된다!! 즉 상호 배타적인 로직이 성립하지 않는다.
비교 조건이 특정 값이나 문자열인 경우에는 switch- case문을 사용할 수 있다.
이렇게 달을 입력받아 일 수 를 출력하는 코드를 작성했다. 값이 같은 경우는 아래와 같이 줄여줄 수 있다.
반복문에는 크게 3가지 While문, Do-While문, for문 이 있다. 주어진 조건에 맞는 동안(true) 지정된 수행문을 반복적으로 수행하고, 조건이 맞지 않으면 반복하던 수행을 멈추게 된다.
while문은 수행문을 수행하기 전 조건을 체크하고, 그 조건의 결과가 true(0이 아닌 경우)인 동안 반복 수행한다. 조건식에 연산자를 넣어서 참 거짓을 판별할 수도 있다.
while(조건식) {
수행문1;
}
Do-While문은 조건과 상관 없이 무조건 한 번은 수행문을 수행하고, 조건을 체크한다.
do {
수행문1;
} while(조건식);
for문은 조건식을 만족하면 반복문이 수행되는데, 반복문을 수행한 후에 증감식을 수행하고 조건에 따라 반복 여부를 결정한다.
for(초기화식; 조건식; 증감식)
{
수행문;
}
이미 이전에 값이 초기화 되어있으면 for 내부에서 초기화식을 생략해도 되고, 반복 수행에 대한 조건이 수행문 내부에 있는 경우엔 조건식을 생략해도 되고, 증감식에 대한 연산이 복잡하거나 다른 변수의 연산 결과값에 결정되는 경우엔 증감식을 생략할 수 있다. for( ; ; )와 같이 작성하면 무한루프를 수행한다.
중간에 멈추는 break문, 무시하고 계속 진행하는 continue문에 대해 알아보자.
break문은 감싸고 있는 제어문의 블록을 빠져 나오는 기능을 가지고 있다. 반복문에서는 주로 조건문(if)과 같이 사용하여 조건에 해당되는 경우 반복 수행을 멈추고 반복문 외부로 이동하는 경우 사용한다. 만약 여러 반복문이 중첩되어 있는 경우라면 break 문이 포함되어 있는 반복문 하나만 빠져 나온다.
continue문은 반복문 내부에서 조건문과 같이 사용하며, 조건이 맞는 경우(true 이면) 이후 반복문 블럭 내부의 다른 수행문들을 수행하지 않고 다음 반복으로 넘어간다.
이제 객체와 객체 지향 프로그래밍에 대해 알아보자.
객체는 구체적이거나 추상적인 데이터의 단위, 즉 기능을 수행하는 데이터의 단위라고 생각할 수 있다. 간단하게 여러가지 명사들을 의미한다고 볼 수 있다. (ex. 학생, 회원..)
객체 지향 프로그램과 절차 지향 프로그래밍의 차이는 뭘까? 쉽게 아침에 일어나 학교를 가는 과정을 예를 들어 보자.
절차 지향 프로그래밍의 경우는 일어난다 -> 씻는다 -> 밥을 먹는다 -> 버스를 탄다-> 요금을 지불한다 -> 학교에 도착 이렇게 시간 순으로 프로그래밍 한다.
객체 지향 프로그래밍의 경우는 객체를 정의 하고, 각 객체 제공하는 기능들을 구현하고, 각 객체가 제공하는 기능들 간의 소통(메세지 전달)을 통하여 객체간의 협력을 구현한다고 보면 된다.
간단하게 클래스를 만들어보자. 클래스명은 대문자로 시작하는게 좋고, java 파일 하나에 클래스는 여러 개가 있을 수 있지만 public 클래스는 하나이고, public 클래스와 .java 파일의 이름은 동일해야한다!
함수란 하나의 기능을 수행하는 일련의 코드로, 호출하여 사용하고 호출된 함수는 기능이 끝나면 제어가 반환된다. 함수로 구현된 하나의 기능은 여러 곳에서 동일한 방식으로 호출되어 사용될 수 있다. 이름, 매개 변수, 반환 값, 함수 몸체(body)로 구성된다. 아래는 함수의 예시이다.
int add(int num1, int num2) { // add가 이름, num1 num2는 매개변수
// 여기서부터 몸체
int result;
result = num1 + num2;
return result;
}
메서드란 객체의 기능을 구현하기 위해 클래스 내부에 구현되는 함수로 멤버 함수 (member function)라고도 한다. 메서드를 구현함으로써 객체의 기능이 구현 된다.
Student 클래스를 생성하고 속성과 메서드를 작성한 후
인스턴스 studentLee와 studentKim 생성!!
클래스는 객체의 속성을 정의 하고, 기능을 구현하여 만들어 놓은 코드 상태이다. new 키워드를 사용하여 인스턴스 생성
하고, 실제 클래스 기반으로 생성된 객체(인스턴스)는 각각 다른 멤버 변수 값을 가지게 된다.
'etc... > 패스트캠퍼스 챌린지' 카테고리의 다른 글
패스트캠퍼스 챌린지 23일차 - Part1. Ch9 (0) | 2021.11.23 |
---|---|
패스트캠퍼스 챌린지 22일차 - Part1. Ch9 (0) | 2021.11.22 |
패스트캠퍼스 챌린지 21일차 - Part1. Ch8 (0) | 2021.11.21 |
패스트캠퍼스 챌린지 20일차 - Part1. Ch8 (0) | 2021.11.20 |
패스트캠퍼스 챌린지 19일차 - Part1. Ch8 (0) | 2021.11.19 |