01-3 자바 프로그램 개발 과정 자바 프로그램을 개발하기 위해 파일 확장명이 .java인 텍스트파일을 생성하고, 자바 언어로 코드를 작성해야한다. 이렇게 만들어진 자바 소스파일을 컴파일러인 javac명령어로 컴파일한다. 컴파일이 성공하면 확장명이 .class인 바이
기계어 = 컴퓨터(운영체제)가 이해하고 실행할 수 있는 0,1로 이루어진 이진 코드 사람의 언어 = 컴퓨터입장에서는 이해할 수 없는 문자의 집합\-> 사람의 언어와 기계어의 다리 역할 = 프로그래밍 언어소스파일 = 프로그래밍 언어로 작성한 파일 : 컴퓨터가 바로 이해할
통합 개발 환경프로젝트 생성, 자동 코드 완성, 디버깅 등과 같이 개발에 필요한 여러 가지 기능을 통합적으로 제공해주는 툴 IDE기본적으로 자바 프로크램을 개발할 수 있도록 구성되어있음 .exe파일 관리자 권한으로 실행!Why? C:\\Program Files 폴더에
컴퓨터 메모리(RAM)는 값을 저장할 수 있는 수많은 번지(주소)들로 구성되어있다. 값을 저장할 수 있는 메모리의 특정 번지에 붙이는 이름프로그램은 변수를 통해 메모리의 특정 번지에 값을 저장하고 읽을 수 있다.변수를 선언하고 변수에 값을 저장하면, 메모리에 값이 저장
변수를 선언한 후에는 타입을 변경할 수 없다.자바가 제공하는 기본타입은 총 8개메모리 사용 크기와 저장되는 값의 범위가 서로 다르다.각 타입에 저장되는 값의 범위를 외울 필요는 없지만, 메모리 사용 크키 정도는 알고 있는것이 좋다.char타입은 음수 값을 가질 수 없으
데이터 타입을 다른 데이터 타입으로 변환하는 것두 변수의 타입이 동일 : 한 쪽 변수값을 다른 쪽 변수에 복사 저장 가능두 변수의 타입이 불일치 : 값의 복자 저장이 가능할 수도 있고 그렇지 않을 수도 있음위 코드에서 원래 10은 byte 타입의 값이었으나, 복사 저장
02-4. 변수와 시스템 입출력 일반적으로 표준 출력 장치는 모니터이고, 표준 입력 장치는 키보드이다. System.out은 시스템의 표준 출력 장치를 말한다. 표준 입력 장치는 다음과 같이 in을 사용한다 System.in.read(); 모니터로 변수값 출력하기
프로그램에서 데이터를 처리하여 결과를 산출하는 것 = 연산연산자 = 연산에 사용되는 표시나 기호피연산자 = 연산자와 함께 연산되는 데이터연산식 = 연산자와 피연산자를 이용하여 연산의 과정을 기술한 것연산자는 피연산자를 연산해서 값을 산출하는데, 산출되는 값의 타입은 연
피 연산자 수에 따라 구분하는 연산자를 기준으로 각각의 연산 방법을 알아보자.피연산자가 단 하나뿐인 연산자부호 연산자(+,-)증감 연산자(++, --)논리 부정 연산자양수 및 음수를 표시하는 것 ( 변수의 부호를 유지하거나 변경한다)boolean, char 타입 제외한
자바 프로그램은 main()메소드의 시작 중괄호 { 에서 끝 중괄호 } 까지 위에서부터 아래로 실행하는 흐름을 갖고있다.이런 실행흐름을 개발자가 원하는 방향으로 바꿀 수 있도록 해주는것을 흐름 제어문 혹은 제어문이라고 한다.제어문의 종류에는 조건문과 반복문이 있다.조건
반복문은 어떤 작업(코드)이 반복적으로 실행되도록 할 때 사용된다.for, while문은 서로 변환 가능하기때문에 반복문 작성시 어느 쪽을 선택해도 좋지만, for문은 반복 횟수 알고있을 때 주로 사용하며, while문은 조건에 따라 반복할 때 주로 사용한다.while
자바타입은 크게 기본 타입과 참조 타입으로 분류된다.기본 타입은 정수, 실수, 문자, 논리 리터럴을 저장하는 타입을 말하며,참조 타입은 객체의 번지를 참조하는 타입으로 배열, 열거, 클래스, 인터페이스를 말한다.기본타입으로 선언된 변수와 참조 타입으로 선언된 변수의 차
변수는 1개의 데이터만 저장할 수 있다.많은 데이터를 적은 코드로 손쉽게 처리할 수 있는 배열에 대해 알아보자.배열은 같은 타입의 데이터를 연속된 공간에 나열하고, 각 데이터에 인덱스를 부여해놓은 자료구조이다.배열의 각 인덱스는 각 항목의 데이터를 읽거나 저장하는 데
데이터 중에는 몇 가지로 한정된 값만을 갖는 경우가 흔히 있다.예를 들어 계절에 대한 데이터는 봄, 여름, 가을, 겨울이라는 4개의 값만을 가진다.이와 같이 한정된 값만을 갖는 타입을 열거 타입(enumeration type)이라고 한다.열거 타입은 한정된 값인 열거
현실세계에서 제품만들 때 부품 먼저 개발하고 이 부품들을 하나씩 조립해 제품을 완성하듯이 소프트웨어를 개발할 때에도 부품에 해당하는 객체를 먼저 만든다.그리고 객체를 하나씩 조립해서 완성된 프로그램을 만드는 기법을 객체 지향 프로그래밍(OOP)라고 한다.객체란 물리적으
필드는 객체의 고유 데이터, 객체가 가져야 할 부품, 객체의 현재 상태 데이터를 저장하는 곳이다. 자동차를 예로 들어보자.제작회사, 모델, 색깔, 최고 속도는 고유 데이터에 해당하고, 현재 속도, 엔진 회전 수는 상태 데이터에 해당한다. 그리고 차체, 엔진, 타이어는
생성자는 new 연산자로 호출되는 중괄호{}블록이다. 객체 생성시 초기화를 담당하며, 모든 클래스에 반드시 하나 이상 존재한다.그렇기 떄문에 클래스 내부에 선언을 생략하면 기본 생성자가 자동으로 추가된다.생성자(Constructor)는 new 연산자로 클래스로부터 객체
메소드는 객체의 동작에 해당하는 중괄호 {} 블록을 말한다.중괄호 블록 이름이 메소드 이름이며, 메소드를 호출하면 중괄호 블록에 있는 모든 코드들이 일괄적으로 실행된다.메소드 선언은 선언부와 실행 블록으로 구성된다.메소드 선언부를 메소드 시그너처라고하며, 선언부와 실행
클래스에 선언된 필드와 메소드가 모두 객체 내부에 포함되는것은 아니다.일부는 포함되겠지만, 포함되지않고 클래스에 그대로 남아 있는 것도 있다.클래스는 객체의 설계도이다. 클래스 멤버(필드, 메소드)는 당연히 객체에도 포함되어있어야한다.하지만 이게 효율적일까?클래스로부터
클래스를 체계적으로 관리하기위해 패키지를 사용한다.패키지의 물리적인 형태는 파일 시스템의 폴더이다.폴더 기능만 하는 것이 아니라 클래스의 일부분으로, 클래스를 유일하게 만들어주는 식별자 역할을 한다.클래스 이름이 동일하더라도 패키지가 다르면 다른 클래스로 인식한다. 클
객체지향 프로그래밍에서 부모 클래스의 멤버를 자식 클래스에게 물려줄 수 있다.부모 클래스 = 상위 클래스자식 클래스 = 하위 클래스, 파생 클래스상속은 이미 잘 개발된 클래스를 재사용해서 새로운 클래스를 만들기 때문에 중복되는 코드를 줄여준다.예를 들어, field1,
앞에서 배운 재정의와 이번 절의 타입변환을 이용하면 객체 지향 프로그래밍의 중요한 특징인 다형성을 구현할 수 있다.사용 방법은 동일하지만 다양한 객체를 이용해서 다양한 실행 결과가 나오도록 하는 성질ex) 자동차가 타이어 사용하는 방법은 동일하나, 어떤 타이어를 사용(
추상 (사전적 의미) = 실체 간에 공통되는 특성을 추출한 것ex) 새, 곤충, 물고기...의 실체에서 공통되는 특성 추출해보면 '동물'이라는 공통점이 있다.동물 : 실체라기보다 실체들의 공통되는 특성을 가지고있는 추상적인 것실체 클래스 = 객체를 직접 생성할 수 있는
인터페이스(Interface) = 객체의 사용 방법을 정의한 타입\-> 다양한 객체를 동일한 사용 방법으로 이용할 수 있다.인터페이스는 개발 코드와 객체가 서로 통신하는 접점 역할을 한다. 개발 코드가 인터페이스의 메소드를 호출하면 인터페이스는 객체의 메소드를 호출시킨
다형성 구현 위해 아래 2가지 기능이 필요메소드 재정의타입변환인터페이스 역시 위 두가지 기능을 제공하므로 상속과 더불어 다형성을 구현하는데 많이 사용된다.상속 = 같은 종류의 하위 클래스를 만드는 기술인터페이스 = 사용 방법이 동일한 클래스를 만드는 기술\-> 개념상
클래스들은 서로 긴밀한 관계를 맺고 상호작용한다.어떤 클래스는 여러 클래스와 관계를 맺지만, 어떤 클래스는 특정 클래스와 관계를 맺는다.여러 클래스와 관계를 맺는 경우에는 독립적으로 선언하는게 좋으나, 특정 클래스와 관계를 맺는 경우 클래스 내부에 선언하는 것이 좋다.
프로세스 = 애플리케이션을 실행하면 운영체제로부터 실행에 필요한 메모리를 할당받아 애플리케이션의 코드를 실행 = 실행중인 하나의 애플리케이션\-> 하나의 애플리케이션은 멀티 프로세스를 만들기도 한다.ex) 메모장 애플리케이션을 2개 실행했다면, 2개의 메모장 프로세스가