타닥타닥 IT
[JAVA] 변수와 메소드
1. 변수 변수는 클래스 변수, 인스턴스 변수, 지역 변수 총 세 가지가 있다. 변수의 종류를 결정짓는 중요한 요소는 '변수의 선언된 위치'이므로 변수의 종류를 파악하기 위해서는 변수가 어느 영역에 선언되었는지를 확인하는 것이 중요하다. 멤버 변수를 제외한 나머지 변수들은 모두 지역 변수이며 멤버 변수 중 static 붙은 것은 클래스 변수, 붙지 않는 것이 인스턴스 변수이다. 변수의 종류 선언 위치 생성시기 클래스 변수 클래스 영역 클래스가 메모리에 올라갔을 때 인스턴스 변수 인스턴스가 생성되었을 때 지역 변수 클래스 영역 이외의 영역 ( 메소드, 생성자, 초기화 블록 내부 ) 변수 선언문이 수행되었을 때 인스턴스 변수( instance variable ) 클래스 영역에 선언되며 클래스의 인스턴스를 생..
[JAVA] 객체지향 언어, 클래스와 객체
1. 객체지향 언어 기본 개념은 '실제 세계는 사물( 객체 )로 이루어져 있으며 발생하는 모든 사건들은 사물 간의 상호작용이다.'라는 것이다. 실제 사물의 속성과 기능을 분석한 다음 데이터( 변수 )와 함수로 정의함으로써 실제 세계를 컴퓨터 속에 옮겨 놓은 것과 같다. 객체지향 언어의 주요 특징 코드의 재사용성이 높다. 새로운 코드를 작성할 때 기존의 코드를 이용하여 쉽게 작성할 수 있다. 코드의 관리가 용이하다. 코드 간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다. 신뢰성이 높은 프로그래밍을 가능하게 한다. 제어자의 메소드를 이용해서 데이터를 보호하고 올바른 값을 유지하도록 하며, 코드의 중복을 제거하여 코드의 불일치로 인한 오작동을 방지할 수 있다. 2. 클래스와 객체 클래스와 객체..
[JAVA] 배열( array )
1. 배열( array )이란? ( 참조형 ) 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것을 배열이라 한다. " 배열은 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것 " 여기서 중요한 것은 같은 타입이어야 한다는 것이다. 서로 다른 타입의 변수들로 구성된 배열은 만들 수 없다. Ex) int[ ] score = new int[5]; // 5개의 int값을 저장할 수 있는 배열 생성 메모리 상에서 기본형 애들은 Stack( Call Stack )에 만들어지고 참조형( new int[5] )은 Heap영역에 만들어진다. 이때 score( 변수 )는 Stack영역에 만들어지는데 score는 Heap영역에 있는 것을 참조해서 사용한다. 그래서 참조형이라 한다. ---> 참조형은 다른 영역에서 만들어..
[JAVA] 제어문( 조건문, 반복문 )
* 지금까지 코드의 실행 흐름은 무조건 위에서 아래로 한 문장씩 순차적으로 진행되었지만, 때로는 조건에 따라 문장을 건너뛰고, 때로는 같은 문장을 반복해서 수행해야 할 때가 있다. 이처럼 프로그램의 흐름( flow )을 바꾸고 역할을 하는 문장들을 제어문이라고 한다. * 조건문은 조건에 따라 다른 문장이 수행되도록 하고, 반복문은 특정 문장들을 반복해서 수행한다. 1. 조건문 if( if, if-else, if-else if-else ), switch - 조건문은 조건식과 문장을 포함하는 블록 {}으로 구성되어 있으며, 연산 결과에 따라 실행할 문장이 달라져서 프로그램의 실행 흐름을 변경할 수 있다. - 조건문은 if문과 swith문 두 가지가 있으며 주로 if문이 많이 사용된다. if문 if문은 가장 ..
[JAVA] 연산자( Operator )
1. 연산자와 피연산자, 식( 표현식, expression ) 연산자란? 연산을 수행하는 기호를 의미 피연산자 연산자와 연산을 수행하려면 반드시 연산의 대상이 있어야 하는데 이를 피연산자라고 한다. 연산자 : 연산을 수행하는 기호( +, -, *, / ... ) 피연산자 : 연산자의 작업 대상 연산자는 피연산자로 연산을 수행하면 항상 결과값을 반환한다. 식( 표현식, expression ) 연사자와 피연산자를 조합하여 계산하고자 하는 바를 표현한 것을 식 또는 표현식이라고 한다. 2. 연산자의 종류 종류 연산자 설명 산술연산자 +, -, *, /, %, ( 비트 ) 사칙연산과 나머지 연산 관계(비교)연산자 >, =, 비교 > 논리 > 대입 순서로 진행, 대입은 제일 마지막에 실행 단항( 1 ) > 이항(..
[JAVA] 입력메서드( Scanner ), 출력메서드( Print )
1. 입력메서드( Scanner ) Scanner를 사용하기 위한 클래스 호출 사용하기 위한 객체 생성 메서드를 이용하여 입력하기 next()와 nextLine() 차이 next()는 공백을 기준으로 입력받는 것이다. nextLine()은 공백에 상관없이 입력을 다 받는 것이다. * nextLine() 앞에 nextLine()이 아닌 다른 입력이 있다면 의미없는 nextLine()을 하나 미리 써주어야 한다. 왜냐하면 앞에 있는 입력을 한 후 enter를 누르면 뒤에 있는 nextLine()이 그 엔터를 입력으로 받아서 뒤에 있는 nextLine()도 같이 종료되기 때문이다. 2. 출력메서드( Print ) 이스케이프 문자( escape character ) 영문자 이외의 tab이나 엔터 등의 특수문자를..
[JAVA] 변수 및 형변환( casting )
1. 변수( variable )란? 수학에서 변수란 '변하는 수'라고 정의하지만 프로그래머에서의 변수란 '값을 저장할 수 있는 메모리 상의 공간'을 의미한다. 변수란, 단 하나의 값을 저장할 수 있는 메모리 공간 하나의 변수에 단 하나의 값만 저장할 수 있으므로 새로운 값을 저장하면 기존의 값은 사라진다. 2. 변수의 선언과 초기화 변수의 선언 변수를 사용하려면 먼저 변수를 선언해야 하는데 변수의 선언 방법은 다음과 같다. '변수타입'은 변수에 저장될 값이 어떤 타입인지를 지정하는 것이다. 자바는 정수형, 실수형, 문자형 등의 다양한 타입을 제공한다. ** 변수를 선언하면 메모리는 빈 공간에 '변수 타입'에 알맞은 크기의 저장공간이 확보되고, 앞으로 이 저장 공간은 '변수 이름'을 통해 사용할 수 있다...
[JAVA] 자바 프로그램 개발 및 순서
1. 자바 개발 환경 구축 자바 프로그램을 개발하기 위해서는 Java SE( Standard Edition )의 구현체인 JDK를 설치해야 한다. Java SE의 구현체 - 자바 개발 키드( JDK : Java Development Kit ) - 자바 실행 환경( JRE : Java Runtime Environment ) JDK - 프로그램 개발에 필요한 자바 가상 기계( JVM ), 라이브러리 API, 컴파일러들의 개발 도구 JRE - 프로그램 실행에 필요한 자바 가상 기계( JVM ), 라이브러리 API JRE = JVM + 표준 클래스 라이브러리 JDK = JRE + 개발에 필요한 도구 즉, 자바 프로그램을 개발하고자 하면 JDK를 설치해야 하고, 그게 아니라 이미 개발된 프로그램만 실행한다면 JR..
[JAVA] 자바란? JVM이란?
1. 자바란? 자바는 썬 마이크로시스템즈에서 개발하여 1995년에 공식적으로 발표한 객체 지향 프로그래밍 언어이다. 자바로 작성된 프로그램은 운영체제의 종류에 관계없이 실행이 가능하기 때문에 운영체제에 따라 프로그램을 전혀 변경하지 않고도 실행이 가능하다. 이러한 장점으로 인해 자바는 다양한 기종의 컴퓨터와 운영체제가 공존하는 인터넷 환경에 적합한 언어로써 인터넷의 발전과 함께 많은 사용자층을 확보할 수 있었다. 2. 자바언어의 특징 운영체제에 대해 독립적 기존 언어는 한 운영체제에 맞게 개발된 프로그램을 다른 종류의 운영체제에 적용하기 위해서 많은 노력이 필요하였지만, 자바에서는 그런 노력을 하지 않아도 된다. 자바 응용프로그램은 운영체제나 하드웨어가 아닌 JVM (Java Virtual Machine..