⁂ Java
[java] #4-1 객체, 클래스, 패키지
1. 객체 지향 프로그래밍? 객체를 국어 사전에서 찾아보면 '의사나 행위가 미치는 대상'이라 설명한다. 우리 주위에 있는 객체를 생각해 보면 사람, 자동차, 건물 등이 있다. 즉 눈에 보이는 사물은 모두 객체인 것이다. 그런데 눈에 보이지 않는 것도 객체가 될 수 있다. 주문, 생산, 관리 등의 행동들을 말이다. 이제부터 공부할 자바 객체 지향 프로그래밍(Objet-Oriented Programming;OOP)은 객체를 기반으로 하는 프로그램이다. 우선 객체 지향 프로그램이 어떤 '객체'를 가지고 프로그래밍을 하는 것이라는 개념을 염두해두고 시작해보자. 학생일 때를 다시 떠올리며, 아침에 일어나 학교까지 가기 위해 나에게 어떤 일이 벌어질까. [일어난다 → 씻는다 → 아침밥을 먹는다 → 버스를 탄다 → ..
[java] #3-2 반복문 : 제어 흐름 이해하기
1. 반복문? 1부터 10까지 더해서 그 합을 계산하려면 어떻게 해야할까. 지금까지 배운 것만으로 코드를 작성하면 다음과 같을 것이다. package loopexample; public class BasicLoop { public static void main(String[] args) { int num = 1; num += 2; num += 3; num += 4; num += 5; num += 6; num += 7; num += 8; num += 9; num += 10; System.out.println("1부터 10까지의 합은 " + num + "입니다."); } 그냥 보더라도 효율적이지 않은 코드들이다. 이렇게 반복되는 일을 처리할 때 사용하는 것이 바로 '반복문'이다. 자바에서 사용하는 반복문의 ..
[java] #3-1 조건문 : 제어 흐름 이해하기
1. 조건문 조건문이란 말 그대로 주어진 조건에 따라 다른 문장을 선택할 수 있도록 프로그래밍을 하는 것이다. 이 조건문의 가장 단순한 형식은 if문과 if-else문이 있다. 1) if문 if를 우리말로 해석하면 '만약 ~이라면'이다. if문을 사용하는 형태를 간단히 나타내면 아래와 같다. int age = 10; if (age >= 8) { System.out.println("학교에 다닙니다"); } 위에서 if문 뒤에 붙는 조건식이 참일 경우에는 중괄호 안에 있는 문장을 수행하게 된다. 2) if-else문 그런데 조건을 만족하지 않는 경우에도 값을 출력하고 싶다면 else문을 뒤에 붙인다. 이 else문은 if문의 조건식이 거짓일 경우를 출력하기 때문에 따로 조건식을 붙이지 않는다. int age..
[java] #2-2 비트 연산자
1. 비트 연산자? 앞에서 배운 비트와 바이트의 개념을 다시 떠올릴 때가 되었다! 지금까지 배운 연산이 변수나 상수에 대한 연산이라면 비트 연산자는 비트 값을 기반으로 하기 때문이다. 비트 연산자는 말 그대로 비트 단위로 연산이 이루어지는 연산자이다. 비트 단위의 연산을 하는 경우는 '암호화' 작업처럼 임의의 숫자를 만들거나, 어떤 변수의 특정 비트를 꺼내보는(마스킹; masking) 경우에 사용한다. 또한 메모리 용량이 부족하거나 계산이 복잡해서 속도가 느려질 때 비트 연산자를 사용하면 어떤 수의 2배수, 4배수를 만들어 속도를 빠르게 만들 수 있다. 2. 비트 논리 연산자 비트 단위로 & , | , ^ , ~ 연산이 이루어진다. 하나씩 살펴보자! 1) & 연산자 &(AND) 연산자는 두 개의 비트 값..
[java] #2-1 자바의 기본 연산자
1. 항과 연산자 연산에 사용하는 기호를 연산자(operator)라고 부른다. 우리가 수학 시간에 배운 사칙연산의 기호들이 연산자이다.그리고 이 연산에 사용하는 값을 항(operand)이라고 한다.'3+4'에서 '3'과 '4'는 항, '+'는 연산자인 것이다. 연산자는 항의 개수에 따라 단항 연산자, 이항 연산자, 삼항 연산자로 나눌 수 있다.그 중에서 프로그램을 사용하는 조건 연산자가 있는데, 삼항 연산자가 바로 그것이다. 연산자 설명 연산 예 단항 연산자 항이 한 개인 연산자 ++num 이항 연산자 항이 두 개인 연산자 num1 + num2 삼항 연산자 항이 세 개인 연산자 (5 > 3) ? 1 : 0; 우리가 사칙 연산을 할 때 곱셈과 나눗셈을 먼저 계산하듯 연산 순서에도 우선순위가 있다. 이를 '..
[java] #1-3 상수와 리터럴
1. 상수 선언하기 1-2에서는 변수에 대해 공부해보았다. 그런데 변하는 수가 있다면 그 반대도 있는 법. 변하지 않는 수도 프로그램에는 꼭 필요하다. 예를 들어, 원주율의 값이라던가 1년은 12개월이라는 값과 같은 수 말이다. 이렇게 항상 변하지 않는 값을 '상수(constant)'라고 한다. 자바에서는 상수를 final 예약어를 사용해 선언한다. final double PI = 3.14; final int MAX_NUM = 100; 상수 이름은 주로 대문자를 사용하고, 여러 단어를 연결하는 경우에는 언더바(ㅡ) 기호를 사용하면 보기 좋다. 한 번 선언한 상수는 변하지 않기 때문에 선언과 동시에 값을 지정하는 것이 좋다. 하지만 가끔은 선언만 하고 사용하기 전에 값을 지정하기도 한다. 아래의 예재를 통..