본문 바로가기

Java/기초

(33)
[Java] 객체지향 프로그래밍 1 1. 객체지향언어 1) 코드의 재사용성이 높다. - 새로운 코드를 작성할 때 기존의 코드를 이용하여 쉽게 작성할 수 있다. 2) 코드의 관리가 용이하다. - 코드간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다. 3) 신뢰성이 높은 프로그래밍을 가능하게 한다. - 제어자와 메서드를 이용해서 데이터를 보호하고 올바른 값을 유지하도록 하며, 코드의 중복을 제거하여 코드의 불일치로 인한 오동작을 방지할 수 있다. 객체지향의 개념을 학습할 때 재사용성과 유지보수 그리고 중복된 코드의 제거, 이 세 가지 관점에서 보면 보다 쉽게 이해할 수 있다. 너무 객체지향개념에 얽매여서 고민하기 보다는 일단 프로그램을 기능적으로 완성한 다음 어떻게 하면 보다 객체지향적으로 코드를 개선할 수 있을지를 고민하여 점..
[Java] 배열(array) 1. 배열이란? 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것 인덱스 범위는 0부터 '배열길이-1'까지 [참고] 배열의 길이는 int범위의 양의 정수(0도 포함)이어야 한다. ex. int[] arr = new int [0]; 배열이름.length 자바에서는 JVM이 모든 배열의 길이를 별도로 관리하며, '배열이름.length'를 통해서 배열의 길이에 대한 정보를 얻을 수 있다. ex. int[] arr = new int[5]; // 길이가 5인 int배열 int tmp = arr.length;// arr.length의 값은 5이고 tmp에 5가 저장된다. 2. 배열의 복사 배열은 한번 생성하면 그 길이를 변경할 수 없기 때문에 더 많은 저장공간이 필요하다면 보다 큰 배열을 새로 만들고 이전 배열로..
[Java] 형변환 1. 형변환(캐스팅, casting)이란? 변수 또는 상수의 타입을 다른 타입으로 변환하는 것 int타입의 값과 float타입의 값을 더하는 경우, 먼저 두 값을 같은 타입으로 즉, 둘 다 float타입으로 변환한 다음에 더해야 한다. 2. 형변환 방법 (타입)피연산자 ex. int score = (int)85.4; 변 환 수 식 결 과 int -> char (char)65 'A' char -> int (int)'A' 65 float -> int (int)1.6f 1 int -> float (float)10 10.0f float타입의 값을 int타입으로 변환할 때 소수점 이하의 값은 반올림이 아닌 버림으로 처리된다. 3. 정수형간의 형변환 큰 타입에서 작은 타입으로의 변환, 예를 들어서 int타입(4 b..
[Java] 기본형(Primitive type) - 정수형, 실수형 1. 정수형 - byte, short, int, long 정수형에는 모두 4개의 자료형이 있으며, 각 자료형이 저장할 수 있는 값의 범위가 서로 다르다. byte(1) < short(2) < int(4) : 기본 자료형(default type) < long(8) 정수형의 표현형식과 범위 어떤 진법의 리터럴을 변수에 저장해도 실제로는 2진수로 바뀌어 저장된다. 이 2진수가 저장되는 형식은 크게 정수형과 실수형이 있으며, 정수형은 다음과 같은 형식으로 저장된다. S n-1 비트 S : 부호 비트(양수는 0, 음수는 1) n : 타입의 크기(단위 : bit) 모든 정수형은 부호있는 정수이므로 왼쪽의 첫 번째 비트를 '부호 비트(sign bit)'로 사용하고, 나머지는 값을 표현하는데 사용한다. 그래서 n비트로..
[Java] 기본형(Primitive type) - 논리형, 문자형 1. 논리형 - boolean - true, false 중 하나를 저장할 수 있으며 기본값(default)은 false이다. - 대답(yes/no), 스위치(on/off) 등의 논리구현에 주로 사용된다. - true, false 두가지 값만을 표현하면 되므로 1bit만으로도 충분하지만, 자바에서는 데이터를 다루는 최소단위가 byte이기 때문에, boolean의 크기가 1byte이다. - 자바에서는 대소문자가 구별되기 때문에 TRUE와 true는 다른것으로 간주된다. - False(x), true(o), false(o) 2. 문자형 - char char ch = 'A' //문자 'A'를 char타입의 변수 ch에 저장 - 위의 문장은 변수에 저장되는 것 같지만, 문자가 아닌 '문자의 유니코드(정수)'가 저..
[Java] 진법 1. 10진법과 2진법 변수에 값을 저장하면 10진수로 저장되는 것처럼 보이지만, 컴퓨터는 2진수(0과 1) 밖에 모르기 때문에 2진수로 바뀌어 저장된다 2진수 10진수 0 0 1 1 10 2 11 3 100 4 1010 10 - 2진수는 2가 없으므로 자리올림이 발생해서 10이된다. - 10진수도 표현할 수 있는 제일 큰 수인 9 다음에는 자리올림이 발생한다. 2. 비트(bit)와 바이트(byte) 한 자리의 2진수를 '비트(bit, binary digit)'라고 하며, 1 비트는 컴퓨터가 값을 저장할 수 있는 최소 단위이다. 그러나 1 비트는 너무 작은 값이기 때문에 1비트 8개를 묶어서 '바이트(byte)라는 단위로 정의해서 데이터의 기본 단위로 사용한다. 이 외에도 '워드(word)'라는 단위는 ..
[Java] 자바 변수(Variable) 1. 변수(Variable)와 상수 변수란, 단 하나의 값을 저장할 수 있는 메모리 공간 int age;//age라는 이름의 변수를 선언 int - 변수타입 : 변수에 저장될 값이 어떤 '타입(type)'인지를 지정하는 것이다. age - 변수이름 : 값을 저장할 수 있는 메모리 공간 변수를 선언하면, 메모리의 빈 공간에 '변수타입'에 알맞은 크기의 저장공간이 확보되고, 앞으로 이 저장공간은 '변수이름'을 통해 사용할 수 있게 된다. 변수의 초기화란, 변수를 사용하기 전에 처음으로 값을 저장하는 것 지역변수는 사용되기 전에 초기화를 반드시 해야 하지만 클래스변수와 인스턴스변수는 초기화를 생략할 수 있다. 변수의 명명규칙 1) 대소문자가 구분되며 길이에 제한이 없다. - True와 true는 서로 다른 것..
[Java] 자바개발환경, 프로그램 작성 1. 자바 개발도구(JDK) 자바 프로그래밍을 하기 위해서는 JDK(Java Developmnet Kit)를 설치해야 한다. JDK를 설치하면 자바가상머신(Java Virtual Machine, JVM)과 자바클래스 라이브러리(Java API)외에 자바를 개발하는데 필요한 프로그램들이 설치된다. 1) AdoptOpenJDK(https://adoptopenjdk.net/) ① Hotspot(Oracle의 지원으로 OpenJdk.org가 주도) ② OpenJ9(IBM이 주도) 2) OpenJDK(https://openjdk.java.net/) 3) Oracle JDK ① Java SE 8: https://www.oracle.com/java/technologies/javase/javase-jdk8-downlo..