자바프로그래밍 33

[Java-06] 객체지향프로그래밍 - 변수, 메서드

1. 변수(variable) - 변수의 선언된 위치에 따라 변수의 종류가 결정된다. 변수의 종류 선언위치 생성시기 인스턴스변수 (instance variable) 클래스 영역 인스턴스가 생성되었을 때 클래스변수 (class variable) 클래스가 메모리에 올라갈 때 지역변수 (local variable) 클래스 영역 이외의 영역 (메서드, 생성자, 초기화 블럭 내부) 변수 선언문이 수행되었을 때 class Variables { int tv;// 인스턴스변수 static int cv;// 클래스변수 (static변수, 공유변수) void method() { int lv = 0;// 지역변수 } } 1) 인스턴스변수(instatnce variable) - 클래스 영역에 선언, 클래스의 인스턴스를 생성할 ..

공부/Java 2021.02.17

[Java-06] 객체지향프로그래밍 - 클래스, 객체

1. 객체지향언어 "실제 세계는 사물(객체)로 이루어져 있으며, 발생하는 모든 사건들은 사물간의 상호작용이다." - 실제 사물의 속성과 기능을 분석한 다음, 데이터(변수)와 함수(메서드)로 정의함으로써 실제 세계를 컴퓨터 속에 옮겨 놓은 것과 같은 가상세계를 구현함 - 기존의 'FORTRAN', 'COBOL'과 같은 절차적 언어의 한계를 느끼고 객체지향언어를 이용한 개발방법론이 대안으로 떠오르게 되면서 객체지향언어는 프로그래밍언어의 주류로 자리 잡음 - 1960년대 중반 최초의 객체지향언어 '시뮬라(Simula)'를 시작으로 'C++', '자바(Java)'가 발표됨 객체지향언어의 특징 1. 코드의 재사용성이 높음 - 새로운 코드를 작성할 때 기존의 코드를 이용하여 쉽게 작성할 수 있음 2. 코드의 관리가..

공부/Java 2021.02.16

[Java-05] 배열(Array) - String 배열, 2차원 배열

1. String 배열 1) String 배열의 선언과 생성 String[] name = new String[3]; - String타입의 참조변수를 저장하기 위한 공간이 마련 - 참조형 변수의 기본값은 null이므로 각 요소는 null로 초기화 2) String 배열의 초기화 String[] name = new String[3]; name[0] = new String("Lee"); name[1] = new String("Yeon"); name[2] = new String("Ju"); // 원래 String은 new 연산자를 사용해 객체를 생성해야하나 생략할 수 있음 String[] name = new String[3]; name[0] = "Lee"; name[1] = "Yeon"; name[2] = "J..

공부/Java 2021.02.15

[Java-05] 배열(Array) - 1차원 배열

1. 배열(array)이란? 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것 ex) int[] score = new int[5]; -> 5개의 int값을 저장할 수 있는 배열을 생성함 2. 배열의 선언과 생성 1) 배열 선언 - 생성된 배열을 다루기 위한 참조변수를 위한 공간을 만드는 것 타입[ ] 변수이름; 또는 타입 변수이름[ ]; ex) int [] score; 또는 int score[]; String [] name; 또는 String name[]; 2) 배열 생성 - 배열을 선언한 다음에는 배열을 생성해야만 값을 저장할 수 있는 공간이 만들어짐 - new 연산자 사용 - 주어진 타입을 주어진 길이만큼 저장할 수 있는 배열이 생성 타입[ ] 변수이름; // 배열 선언 변수이름 = new 타입[길..

공부/Java 2021.02.10

[Java-04] 조건문과 반복문

1. 제어문(control statement) - 프로그램의 흐름(flow)을 바꾸는 역할을 하는 문장 - 조건문 : 조건에 따라 다른 문장이 수행되도록 함 - 반복문 : 특정 문장들을 반복해서 수행 2. 조건문 - if, switch 1) if문 if (조건식) { // 조건식이 참(true)일 때 수행될 문장 } - 만일(if) 조건식이 참(true)이면 괄호 { } 안의 문장들을 수행하라 - 조건식은 일반적으로 비교연산자와 논리연산자로 구성 (반드시 true 혹은 false의 값을 가져야 함) - 블럭(block) : 괄호 '{ }'를 이용해서 여러 문장을 하나의 단위로 묶음 [잘못된 예시] if(score > 60) System.out.println("합격"); // if문에 속한 문장 Syste..

공부/Java 2021.02.09

[Java-03] 연산자(Operator) - 비교 연산자, 논리 연산자, 비트 연산자

1. 비교 연산자 1) 대소비교 연산자 = - 기본형 중에는 boolean형을 제외한 나머지 자료형에 사용가능 - 참조형에는 사용불가 비교연산자 연산결과 > 좌변 값이 크면 true, 아니면 false = 좌변 값이 크거나 같으면 true, 아니면 false n = x / 2n 3. 그 외의 연산자 1) 조건 연산자 ? : 1. 조건식의 평가결과가 true면 연산결과는 식1 2. 조건식의 평가결과가 false면 연산결과는 식2 public class Test { public static void main(String[] args) { int x = 10, y = 5, result = 0; result = (x > y) ? x : y;// 조건식이 true이므로 result는 x의 값인 10 result ..

공부/Java 2021.02.08

[Java-03] 연산자(Operator) - 단항 연산자, 산술 연산자

1. 연산자(operator) - 연산자(operator) : 연산을 수행하는 기호(+, -, *, / 등) - 피연산자(operand) : 연산자의 작업 대상(변수, 상수, 리터럴, 수식) - 연산자는 피연산자로 연산을 수행하고 나면 항상 결과값을 반환함 - 식(式, expression) : 연산자와 피연산자를 조합하여 계산하고자하는 바를 표현한 것 - 평가(evaluation) : 식을 계산하여 결과를 얻는 것 - 피연산자의 개수가 하나면 '단항 연산자', 두 개면 '이항 연산자', 세 개면 '삼항 연산자'라고 부름 - 연산자는 각자 우선순위를 가지고 있고, 우선순위가 높은 연산부터 실행됨 - 연산자의 결합규칙 : 같은 우선순위의 연산자들이 여러 개 있는 경우, 나름대로의 규칙을 가지고 수행함 - 대..

공부/Java 2021.02.02

[Java-02] 변수(Variable) - 형변환(Casting)

1. 형변환(캐스팅, casting)이란? - 변수 또는 상수의 타입을 다른 타입으로 변환하는 것 2. 형변환 방법 (타입)피연산자 - 형변환하고자 하는 변수나 리터럴의 앞에 변환하고자 하는 타입을 괄호와 함께 붙여줌 - 형변환하고 결과를 반환할 뿐, 피연산자의 값은 변화가 없음 ex) double d = 85.4; int score = (int)d; -> d는 그대로 85.4의 값을 갖고, score는 d를 int 타입으로 변환한 85의 값을 갖음 - 기본형(primitive type)에서 boolean을 제외한 나머지 타입들은 서로 형변환이 가능함 - 기본형과 참조형간의 형변환은 불가능 변환 수식 결과 int -> char (char)65 'A' char -> int (int)'A' 65 float ..

공부/Java 2021.02.01

[Java-02] 변수(Variable) - 기본형(Primitive type)

1. 논리형(boolean) - true / false - 기본값(default)는 False - 논리구현에 사용 - 1 bit로도 충분하지만, 자바에서는 최소단위가 byte이기 때문에 1 byte로 표현 - 자바에서는 대소문자가 구별되기 때문에 TRUE와 true는 다름, true가 맞는 표현 boolean power = true; (O) boolean checked = False; (X) 자료형 저장 가능한 값의 범위 크기 (bit) 크기 (byte) boolean false, true 8 1 2. 문자형(char) - 단 하나의 문자만을 저장 - 실제로는 문자의 유니코드(정수)가 저장 char ch = 'A'; char ch = 65; -> 동일한 결과 - 2 byte(=16 bit)로 표현 16비..

공부/Java 2021.01.31

[Java-02] 변수(Variable) - 진법

1. 10진법과 2진법 - 컴퓨터는 2진수(0과 1)밖에 모르기 때문에 10진수로 입력하여도 2진수로 바뀌어 저장된다. int age = 25; 보이는 것 실제 저장 age : 25 -------> age : 11001 2. 비트(bit)와 바이트(byte) - 비트(bit, binary digit) : 한 자리의 2진수 - 1비트는 컴퓨터가 값을 저장할 수 있는 최소단위 - 바이트(byte) : 1비트 8개를 묶은 데이터의 기본단위 - 워드(word) : CPU가 한 번에 처리할 수 있는 데이터의 크기 (워드의 크기는 CPU의 성능에 따라 달라짐) n비트로 표현할 수 있는 10진수 값의 개수 : 2n 값의 범위 : 0 ~ 2n-1 3. 8진법과 16진법 - 8진수 : 2진수 3자리를 한자리로 표현 (0..

공부/Java 2021.01.30