본문 바로가기

JAVA

(9)
2.2.2 상수와 리터럴(constant & literal) 1. 상수 (constant) 값을 저장할 수 있는 공간으로, 변수와 달리 값을 저장하면 다른 값으로 변경할 수 없다. 상수를 선언하는 방법은 변수와 동일하나 변수의 타입 앞에 키워드 'final'을 붙여주면 된다. final int MAX_SPEED = 10; 상수는 변수와 달리 선언과 동시에 초기화해야하며, 값을 변경할 수 없다. 상수의 이름은 모두 대문자로 하는 것이 관례이며, 여러 단어로 구성된 경우 '_'를 사용한다. final int MAX_SPEED; // 에러 -> 초기화를 하지 않았기 때문 final int MAX_SPEED = 10; MAX_SPEED = 20;// 에러 -> 상수는 값을 변경할 수 없음 * 상수가 필요한 이유 상수를 사용하면 코드의 의미가 명확해지며, 다른 값을 계산할..
2.2.1 기본형(primitive type) 1. 논리형 boolean : true와 false 중 하나를 값으로 갖으며, 조건식과 논리적 계산에 사용된다. 다른 기본형과의 연산이 불가능하다. 2. 문자형 char : 문자를 저장하는데 사용되며, 변수에 하나의 문자만 저장할 수 있다. 내부적으로 정수(유니코드)로 저장하기 때문에 정수형 또는 실수형과 연산이 가능하다. 3. 정수형 정수를 저장할 때 사용하며, 가장 많이 사용되므로 가장 많은 타입을 가지고 있다. byte : 이진 데이터를 다룰 때 사용된다. short : C언어와의 호환을 위해 추가됐다. int : 정수를 저장할 때 사용되며, CPU가 가장 효율적으로 처리할 수 있는 타입이므로 주로 사용된다. long 4. 실수형 실수를 저장하는데 사용한다. float double : 정밀도가 높기..
2.2.1 변수의 타입 * 자료형(data type) 값(data)의 종류(type)에 따라 저장될 공간의 크기와 저장형식을 정의한 것 변수를 선언할 때는 저장하려는 값의 특성을 고려하여 가장 알맞은 자료형을 변수의 타입으로 선택하면 된다. * 자료형(data type)과 타입(type)의 차이점은? 기본형의 경우 저장할 값의 종류에 따라 구분되므로 '자료형'이라는 용어를 사용하지만, 참조형의 경우 주소를 저장하기 때문에 객체의 종류에 의해 구분하는 '타입'이라는 용어를 사용한다. 타입이 자료형을 포함하는 넓은 의미이므로 굳이 구분하지는 않아도 된다. * 기본형과 참조형 1. 기본형(primitive type) 변수 실제 값(data)을 저장 - 논리형 (boolean), 문자형(char), 정수형(byte, short, in..
2.1.1 변수(variable) 1. 변수(variable)란? 값(data)을 저장할 수 있는 메모리 공간 하나의 변수에는 단 하나의 값만 저장할 수 있으므로, 새로운 값을 저장하는 경우 기존의 값은 사라진다. 2. 변수의 선언 변수를 선언하기 위해서는 변수 타입과 이름을 지정해준다. 변수를 선언하면, 메모리의 빈 공간에 '변수 타입'에 알맞는 크기의 저장 공간이 확보되고, '변수 이름'을 통해 저장 공간을 사용할 수 있다. 변수 타입 : 변수에 저장될 값이 어떤 타입(type)인지 저장 변수 이름 : 변수에 붙인 이름 변수 이름을 선언할 때에는 같은 이름의 변수를 여러 개로 설정할 수 없다. (서로 구별되어야 하기 때문이다.) int age; * 예시에서는 정수형인 int 타입을 지정했으며, 이름은 age로 설정했다. (자바의 경우..
1.3.1 Hello.java (맥) 자바 편집기를 활용해 'Hello, world'를 띄우기 위해 개발 도구로는 인텔리제이(IntelliJ)를 사용하기로 했다. 이유는 앞서 말했듯이 이미 인텔리제이를 사용하고 있었기 때문.. 사실 이클립스도 교육때 사용해보긴 했는데 무료판의 경우 자동완성이나 디버그 기능이 조금 불편했었다. 물론 내가 처음 써보고 짧게밖에 안써봐서 그런 것 일수도.. 어쨌든 굳이 이클립스로 갈아타지 않고 인텔리 제이로 시작했다. 1. Finder에 폴더 만들기 관리를 쉽게 하기 위해 파인더에 javajungsuk이라는 폴더를 만들어 주었다. 2. 인텔리제이를 켠 후 Project를 생성한다. 1. 인텔리제이를 켠 후 상단의 New Project를 눌러준다. 2. 이름과 프로젝트 저장 공간을 변경한다 나의 경우는 이름은 ja..
1.2.1 자바 개발도구(JDK) 설치하기 (맥) 자바 개발 환경을 구축하기 위해 자바 개발 도구를 설치해야 한다. * JDK, JRE, JVM란? 1. 자바 가상 머신 (JAVA Virtual Machine, JVM) 자바와 운영체제 사이에서 상호작용을 하는 가상의 컴퓨터 자바 JVM 운영체제 (OS)로 상호작용을 하기 때문에 자바를 사용하기 위해서는 JVM이 필요하다. 자바의 메모리를 효율적으로 관리해준다. 2. 자바 실행 환경 (JAVA Runtime Environment, JRE) 자바로 작성된 응용프로그램이 실행되기 위한 최소 환경 JRE = JVM + 자바 클래스 라이브러리 (JAVA API) + 자바 클래스 로더 (Java Class Loader) 자바 클래스 로더와 라이브러리를 통해 작성한 자바 코드를 라이브러리와 결합한 후 JVM에게 넘..
1.1.3 자바언어의 특징 1. 운영체제에 독립적이다. JVM을 사용하기 때문에 운영체제에 독립적 자바 응용 프로그램 ←→ 자바 가상 머신 (JVM) ←→ 운영체제 자바 응용프로그램은 JVM하고만 통신하므로 운영체제에 독립적이다. JVM의 경우 운영체제에 종속적이기 때문에 운영체제에 따른 JVM이 존재한다. 따라서, 자바로 작성된 프로그램은 운영체제와 하드웨어에 관계없이 실행이 가능하다. 2. 객체지향언어이다. * 객체 지향의 4가지 특징 1. 추상화 (Abstartion) 객체의 공통적인 속성과 기능을 모아 추출하여 정의 > 역할과 구현의 분리를 통해 유연하고 변경이 용이한 프로그램을 설계 할 수있다. 2. 상속 (Interitance) 객체(A)가 다른 객체(B)를 상속받아 상속받은 객체(B)의 요소를 사용하는 것을 의미 상속..
1.1.1 자바란? (JAVA Programming Language) 1. 객체지향 프로그래밍 언어 * 객체지향 프로그래밍 언어 VS 절차지향 프로그래밍 언어 1. 객체지향 프로그래밍 언어 자바, C++, 파이썬 등 종류가 다양하며, 프로그램을 다수의 객체로 만들어 서로 상호작용 하도록 만드는 프로그래밍 언어 장점 ) 1. 재사용성 (상속 가능 -> 코드 재사용 가능) 2. 생산성 증가 (독립된 개체이므로 생산성 증가) 3. 자연스러운 모델링 (객체지향 자체가 세상을 닮았기 떄문에 생각하는 대로 자연스럽게 구현 가능) 단점 ) 1. 느린 개발 속도 (모든 객체의 역할과 기능을 이해해야 하기 때문에 시간 소요) 2. 느린 실행 속도 3. 높은 난이도 * 객체란? 개념이 되는 대상 (사물 뿐만 아니라 동작 또한 객체에 포함) * 객체 지향 프로그래밍 (Object Orient..