[바로실습] 생활코딩 - 자바(JAVA)
    • 01
      언어 소개
    • 언어 소개
    • 02
      숫자와 문자
    • 숫자
      문자와 문자열
    • 03
      변수
    • 변수의 선언과 할당
      정수와 실수
      문자열
      변수의 효용
    • 04
      주석과 세미콜론
    • 주석과 세미콜론
      주석과 세미콜론 - Quiz
    • 05
      데이터 타입
    • 데이터의 크기
      데이터 타입의 종류
    • 06
      상수의 데이터 타입
    • 상수의 데이터 타입
    • 07
      형 변환
    • 형 변환
      명시적 형 변환
    • 08
      연산자
    • 산술 연산자
      형변환
      단항 연산자
      연산의 우선순위
    • 09
      비교와 Boolean
    • 비교와 Boolean
    • 10
      조건문
    • if
      else
      변수와 비교연산자 그리고 조건문
      조건문의 중첩
      switch 문
    • 11
      논리 연산자
    • AND ( && )
      OR ( || )
      NOT ( ! )
    • 12
      반복문
    • while
      for
      반복문이 없다면
      반복문의 제어
      반복문의 중첩
    • 13
      배열
    • 배열
      배열의 개념
      제어
      배열의 사용
      for-each
      오류
    • 14
      메소드
    • 메소드
      메소드의 정의와 호출
      메소드가 없다면
      입력값
      return
    • 15
      입력과 출력
    • 입력과 출력
      앱이 시작할 때 데이터를 입력
      앱이 실행중에 데이터를 입력
      여러 형태의 입출력
    • 16
      객체 지향 프로그래밍
    • 객체 지향 프로그래밍
      추상화
      부품화
    • 17
      클래스와 인스턴스 그리고 객체
    • 클래스와 인스턴스 이전의 프로그래밍
      객체화1
      객체화2
      객체화3
    • 18
      클래스 맴버와 인스턴스 맴버
    • 맴버
      클래스 변수
      클래스 메소드
      맴버타입의 비교
    • 19
      유효범위
    • 유효범위
      전역변수와 지역변수
      다양한 유효범위들
      인스턴스의 유효범위
    • 20
      초기화와 생성자
    • 초기화와 생성자
    • 21
      상속
    • 상속의 개념
      코드로 알아보는 상속
      다양한 종류의 상속
    • 22
      상속과 생성자
    • 기본 생성자
      super
    • 23
      overriding
    • overriding1
      overriding2
    • 24
      overloading
    • overloading1
      overloading2
    • 25
      클래스 패스
    • 컴파일과 클래스
      클래스의 경로
      환경변수
    • 26
      패키지
    • 패키지의 개념
      패키지의 사용
      손 컴파일
      중복의 회피
    • 27
      API와 API 문서 보는 법
    • API와 API 문서1
      API와 API 문서2
    • 28
      접근 제어자
    • 접근 제어자
      자유와 규제
      접근 제어자를 사용하는 이유
      세밀한 제어
      클래스의 접근 제어자
    • 29
      abstract
    • 문법
      추상클래스를 사용하는 이유
      디자인 패턴
    • 30
      final
    • final
    • 31
      인터페이스
    • 문법과 개념
      사용하는 이유
      규칙들
    • 32
      다형성
    • 메소드와 다형성
      클래스와 다형성1
      클래스와 다형성2
      실전 예제
      인터페이스와 다형성1
      인터페이스와 다형성2
    • 33
      예외1 - 문법
    • 성공과 실패
      예외란?
      뒷수습의 방법
      다양한 예외들
      finally
    • 34
      예외2 - 예외 던지기
    • 예외의 강제
      throw와 throws
      책임의 전가 throws
    • 35
      예외3 - 만들기
    • 예외 만들기
      예외의 여러가지 상황들
      예외의 선조 - Throwable
      나만의 예외 만들기
    • 36
      Object 클래스
    • 상속
      toString
      equals
      finalize
      clone
    • 37
      상수와 enum
    • 상수에 대한 복습
      enum의 배경
      enum의 문법
      enum과 생성자
    • 38
      참조
    • 복제
      참조
      참조와 복제
      메소드와 참조
    • 39
      제네릭
    • 제네릭의 사용
      제네릭을 사용하는 이유
      제네릭의 특성
      제네릭의 생략
      제네릭의 제한
    • 40
      Collections Framework
    • ArrayList의 사용법
      전체적인 구성
      List와 Set의 차이점
      Set
      Map
      정렬
    비교와 Boolean
    배우기
    09 비교와 Boolean
    비교와 Boolean

    Boolean

    불린(Boolean)은 참과 거짓을 의미하는 데이터 타입으로 bool이라고도 부른다. 불린은 정수나 문자와 같이 하나의 데이터 타입인데, 참을 의미하는 true와 거짓을 의미하는 false 두 가지의 값을 가지고 있다. 아래는 비교 연산자들에 대한 설명이다.

    비교 연산자 (관계 연산자)

    프로그래밍에서 비교란 주어진 값들이 같은지, 다른지, 큰지, 작은지를 구분하는 것을 의미한다. 이때 비교 연산자를 사용하는데 비교 연산자의 결과는 true나 false 중의 하나다. true는 비교 결과가 참이라는 의미이고, false는 거짓이라는 뜻이다. 

    ==

    좌항과 우항을 비교해서 서로 값이 같다면 true 다르다면 false가 된다. '='이 두 개인 것을 주의하자. '='이 하나인 것은 대입 연산자로 우항의 값을 좌항의 변수에 대입할 때 사용하는 것으로 의미가 완전히 다르다.

    package org.opentutorials.javatutorials.compare;
     
    public class EqualDemo {
     
        public static void main(String[] args) {
            System.out.println(1==2);           //false
            System.out.println(1==1);           //true
            System.out.println("one"=="two");   //false
            System.out.println("one"=="one");   //true
        }
     
    }

    !=

    '!'는 부정을 의미한다. '같다'의 부정은 '같지 않다'이다. 이것을 기호로는 '!='로 표시한다. 아래의 결과는 !=의 결과인데 ==와 정반대의 결과를 보여준다.

    package org.opentutorials.javatutorials.compare;
     
    public class NotDemo {
     
        public static void main(String[] args) {
            System.out.println(1!=2);           //true
            System.out.println(1!=1);           //false
            System.out.println("one"!="two");   //true  
            System.out.println("one"!="one");   //false
        }
         
    }

    >

    좌항이 우항보다 크다면 참, 그렇지 않다면 거짓임을 알려주는 연산자다. '<'는 반대의 의미로 언급은 생략하겠다.

    package org.opentutorials.javatutorials.compare;
     
    public class GreaterThanDemo {
     
        public static void main(String[] args) {
            System.out.println(10>20);       //false
            System.out.println(10>2);            //true
            System.out.println(10>10);           //false
     
        }
     
    }

    >=

    좌항이 우항보다 크거나 같다. '<='는 반대의 의미로 언급은 생략하겠다.

    package org.opentutorials.javatutorials.compare;
     
    public class GreaterThanOrEqualDemo {
     
        public static void main(String[] args) {
     
            System.out.println(10 >= 20); // false
            System.out.println(10 >= 2); // true
            System.out.println(10 >= 10); // true
     
        }
     
    }

    .equals

    .equals는 문자열을 비교할 때 사용하는 메소드다. 우리는 아직 메소드를 배우지 않았기 때문에 지금은 그냥 이것을 연산자로 이해해도 무방하다. 아래는 문자와 문자를 비교하는 방법이다.

    package org.opentutorials.javatutorials.compare;
     
    public class EqualStringDemo {
     
        public static void main(String[] args) {
            String a = "Hello world";
            String b = new String("Hello world");
            System.out.println(a == b);
            System.out.println(a.equals(b));
        }
     
    }

    변수 a와 b에 각각 문자열을 생성해서 저장했다. 변수 b에 문자열을 만드는 방법은 생성자를 이용하고 있는데 이 방법은 후에 객체 지향 시간에 배우게 된다. 지금은 new String의 괄호 안에 문자열을 넣으면 문자열을 생성할 수 있다고만 알아두자. 결과는 false와 true이다. ==은 두개의 데이터 타입이 동일한 객체인지를 알아내기 위해서 사용하는 연산자이기 때문에 b에 담긴 객체와 일치하지 않는 것이다. 이를 보안하는 비교 방법이 equals이고 이를 이용해서 서로 다른 객체들간에 값이 같은지를 비교할 수 있다. 이 이야기는 지금 단계에서는 이해하기 다소 어려움이 있다. 문자와 문자를 비교할 때는 '=='를 사용하지 않고 .equals를 사용한다고 일단은 알아두자.


    실습 내용

    실행결과

    false
    true
    true
    false
    false
    true
    false
    false
    true
    true
    true


    질문하기