[자바인강] 2주차 학습일지

Jae·2022년 4월 3일
0

Java 학습일지

목록 보기
2/8

14. 조건문 - if문, if else 문

조건문이란?

  • 코드가 조건에 따라 다른 결과로 실행되도록 한다.
  • if 문
    조건식이 '참' -> 수행
    조건식이 '거짓' -> 수행 X
  • if else 문
    조건식이 '참' -> A 수행
    조건식이 '거짓' -> B 수행

15. 조건문 - 조건문이 여러 개 I

if ~ else if ~ else 문

if ~ else if 문과 if ~ if 문의 차이

  • if ~ else if : 조건 하나가 만족되면 exit
  • if ~ if : 각각의 조건문을 모두 수행

16. 조건문 - 조건문이 여러 개 II

switch - case 문

  • if ~ else if ~ else 문 보다 가독성이 좋다.
  • 비교조건이 특정 값 or 문자열 일 때
  • break문을 사용해서 조건이 만족되면 switch 문에서 exit
  • java14부터 break문을 사용하지 않는다.

switch expression - Java 14

  • 쉼표(,)로 구분
  • 반환 값을 받을 수 있다. 리턴 값이 없으면 error.
  • 반환 값을 나타내기 위해 yield 키워드 사용

17. 반복문 - while 문

조건이 참(true)인 동안 반복

  • 조건에서 벗어나면 exit

while 문

  • 조건의 결과가 '참'인 동안 반복 수행한다.
    while(조건식) {
    수행문;
    ...
    }

while 문 예제

18. 반복문 - do ~ while 문

무조건 한 번은 수행 (조건과 상관 없음)

  • while 문은 조건을 먼저 체크하고 수행
    do ~ while 문은 수행을 한 번 하고나서 조건을 체크

do ~ while 문 예제

19. 반복문 - for 문

for 문

  • for (초기화식; 조건식; 증감식)
    {
    수행문;
    ...
    }
  • 수행순서

for 문 예제

for문의 문장 생략

  • 초기화식 생략
  • 조건식 생략
  • 증감식 생략
  • 무한 반복

반복문 비교

  • while 문
    : 조건식의 결과나 변수가 true/false
  • do~while 문
    : 조건식의 결과나 변수가 true/false
  • for 문
    : 특정 범위, 횟수처럼 반복되는 경우. 배열과 함께 많이 사용된다.

20. 중첩 반복문

주의 사항

  • 중첩이 많아진다 = 수행속도가 느려진다.
  • 외부 반복문, 내부 반복문 간 변수 값 변화에 유의해야 한다.

예제 - 구구단 구현

  • while문에서는 for문과 다르게 초기화 식이 없으므로, i를 초기화 해주어야 한다.

21. break 문, continue 문

break 문

  • 제어문의 블록을 exit하는 기능 (switch 문에서도 가능)
  • 중첩문에서는 break문이 포함된 반복문만 빠져 나온다.

break 문 예제

continue 문

  • 반복문 내부에서 조건이 맞는 경우, 이후 반복문 내부 수행문을 수행하지 않는다.
  • break 문과 다르게, 반복문을 다시 수행한다.

continue 문 예제

Part02. 객체지향 입문

01. 객체와 객체지향 프로그래밍

객체(Object)란?

  • 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서 자신과 다른 것을 식별가능한 것
  • 구체적이고 추상적인 데이터의 단위 (학생, 생산, 주문 등)

객체지향 프로그래밍 vs 절차지향 프로그래밍

  • 절차지향 프로그래밍
    : 시간의 흐름에 따라 프로그래밍
  • 객체지향 프로그래밍
    : interaction (c++, c#, python, javascript 등)

객체지향 프로그래밍을 구현하는 방법

  1. 객체를 정의한다.
  2. 각 객체가 제공하는 기능을 구현한다.
    • 객체의 속성 == 멤버변수
    • 객체의 역할 == 메서드
  3. 기능들을 연결하여 객체끼리의 협력을 구현한다.

02. 객체를 클래스로 구현하기

실생활의 객체

  • 회원, 판매자, 제품, 주문
  • 회사, 커피숍, 아이스아메리카노
  • 학사 관리 시스템, 수강한 과목
  • 학교, 과목, 교수, 강의실, 통계
  • etc

클래스 = 객체의 계획

  • 객체의 속성은 클래스의 멤버변수로 선언한다.
  • ex)
    public class Student {
    int studentNum;
    String studentName;
    int majorCode;
    String majorName;
    int grade;
    }

클래스 규칙

  • 대문자로 시작
  • java 파일 하나에, public 클래스는 하나, public 클래스 이름 == .java 파일 이름
  • camel notation 방식으로 명명 (== comelNotaion)

03. 함수와 메서드

함수(function)란?

  • 하나의 기능을 수행하는 일련의 코드
  • 함수를 호출하여 사용하고, 기능이 끝나면 제어가 반환된다.
  • 여러 번 호출되어 사용할 수 있다.
  • 반환이 없는 함수는 'void 형'

함수 호출, 스택 메모리

메서드 (method)

  • 클래스 내부에 구현되는 함수
  • 객체의 기능을 구현한다.
  • 클래스의 멤버 변수를 활용한다.

04. 멤버 변수와 메서드

예제

05. 인스턴스 생성과 힙 메모리

인스턴스 (instance)

  • class = 객체의 속성 정의하고 기능을 구현한 코드
    class는 하나지만 인스턴스는 여러 개 만들 수 있다.
  • 객체(인스턴스)는 각각 다른 멤버 변수 값을 가진다.
  • new 키워드를 사용하여 인스턴스를 생성한다.

힙 메모리 (heap, 동적 메모리)

  • 생성된 인스턴스는 동적 메모리(heap memory)에 할당된다.
  • 주소값 (가상 메모리)

용어 정리

  • 객체: 객체 지향 프로그램의 대상, 생성된 인스턴스
  • 클래스: 객체를 프로그래밍 하기위해 코드로 정의해 놓은 상태 (= 청사진)
  • 인스턴스: new 키워드를 사용하여 클래스를 메모리에 생성한 상태
  • 멤버 변수: 클래스의 속성, 특성
  • 메서드: 멤버 변수를 이용하여 클래스의 기능을 구현한 함수
  • 참조 변수: 메모리에 생성된 인스턴스를 가리키는 변수
  • 참조 값: 생성된 인스턴스의 메모리 주소 값

06. 생성자

생성자 (constructor)

  • 객체를 생성하기 위해 new와 함께 호출된다.
    new Student();
  • 생성자는 반환 값이 없다.
  • 생성자는 클래스 이름과 동일하다.

기본 생성자 (default constructor)

  • 클래스에는 최소 하나의 생성자가 존재한다.
  • 클래스에 생성자가 없으면, 컴파일러가 자동으로 생성자를 만들어 준다.
    public Student(){}
  • 매개 변수와 구현부가 없다.

생성자 예제

07. 생성자 오버로딩 (constructor overloading)

생성자 정의

  • 클래스에 생성자를 구현하면 기본 생성자는 자동생성되지 않는다.

생성자 예제

08. 객체 구현해보기

문제01. 객체를 구현하고, 출력

  1. 키가 180이고 몸무가 78킬로 Tomas, 나이는 37세


  1. 음식점에 배달 주문이 왔습니다.
    주문 접수 번호 : 20221234
    주문 핸드폰 번호 : 01043214321
    주문 집 주소 : 서울시 강남구 역삼동 11-22
    주문 날짜 : 20220101
    주문 시간 : 130101
    주문 가격 : 33000
    메뉴 번호 : 0001


References

패스트캠퍼스

profile
Jae's Development Area : 재개발구역

0개의 댓글