목록JAVA (20)
hyeongwoo's blog
데이터(속성)와 기능(메소드)를 포함하는 자료형이다. 객체를 생성시키기 위한 설계도이다. 필드 데이터(속성)값이 저장되는 곳이다. 멤버 변수라고도 불리며 객체의 상태를 나타내는 변수이다. 인스턴스에 속하는 비정적(non-static)필드와 클래스에속하는 정적(static) 필드로 나뉜다.메소드메소드는 객체의 동작이나 행위에 해당되는 코드 블록이다.클래스내의의 정의된 함수로 다양한 기능을 수행한다. 예를들어 객체의 데이터를 처리하거나 다른 메소드를 호출하는 작업을 수행한다.생성자객체가 생성될때 가장 먼저 호출되는 특별한 메소드이다.생성자의 이름은 클래스 이름과 같아야한다.new 연산자를 통해 호출되며 객체의 초기 상태를 설정한다.객체의 데이터 초기화와 메소드 초기화를 한다. 매개변수 타입과 개수가 다른 생..
객체와 현실세계 객체는 현실세계에 독립적으로 존재하는 모든것들을 의미한다. 예를들어 자동차,동물,건물,컴퓨터..등 주변에 모든 물체와 사물들은 객체라고 보면 된다. 이러한 객체들은 현실세계에서 서로 상호작용하며 구성된다. 객체 지향 프로그래밍 객체 지향 프로그래밍(OOP ,object-Oriented Programming)은 현실세계의 객체들간의 상호작용을 프로그래밍을 통해 가상 세계로 구현하는 과정이다. 프로그래밍에서 객체를 만들기 위해서는 먼저 추상화 과정을 거쳐 클래스를 정의해야한다 자바에서의 객체 자바에서 객체생성은 인스턴스 생성후 참조변수가 인스턴스주소를 가지고 인스턴스를 참조하는 것이다. 이러한 참조변수는 자바에서는 객체라고 부른다. 객체지향 프로그래밍 특성 추상화 객체들이 가지는 공통적인 속..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bovYQe/btsDNrrJJD6/8lRY3kvQ8WPOjYK7yaE4k1/img.png)
자바에서 반복문의 개념은 간단하지만 막상 활용하려면 헷갈린다. 그래서 연습삼아 반복문을 활용하여 별찍기를 해보겠다 별을 찍어서 총 4종류의 피라미드를 만들었다. 자바의 반복문을 이용해서 별을 찍었다 별을 찍기전에 저 모양들의 패턴을 분석했다. 프로그램은 일반적으로 왼쪽에서 오른쪽, 위에서 아래로 실행된다. 그러므로 첫째줄부터 왼쪽에서 오른쪽으로 그다음 줄 왼쪽에서 오른쪽으로 실행된다고 보면된다. 각줄은 공백-별 패턴이 반복된다. 줄이 정해져있고 반복 횟수가 정해져있으므로 for문을 사용했다. 각줄의 최대 별개수를 입력해 별을 찍는 코드이다. 피라미드 공백은 한개씩 줄어들고 별은 1개씩 늘어난다 void 피라미드() { Scanner sc =new Scanner(System.in); System.out.p..
조건문 조건식을 통해 참 또는 거짓을 판단하여 참일경우 해당하는 코드를 실행 조건문에는 if와 switch가 있다. if 문 if(조건식){ //실행문1 }else if(조건식2) { //실행문2 } else{ //실행문3 } switch문 switch(비교대상(정수,문자,문자열)){ case 값1 : 실행코드; break; case 값2 : 실행코드2; break; // ... default: 위의 값들이 모두 일치하지 않았을때 실행하는 코드; }
프로그램의 흐름을 제어하는 제어문으로 특정 코드 블록을 반복해서 실행한다. for 문 특정 횟수만큼 반복되는 경우에 사용한다 길이가 제한된 반복에 적합하다. for (초기식; 조건식; 증감식) { // 본문 내용 } for (int i = 0; i < 10; i++) { System.out.println(i); } while 문 조건이 참인 동안 계속해서 반복실행된다. 정확한 반복 횟수를 모를때 유용하다. while (조건식) { // 본문 내용 } int i = 0; while (i < 10) { System.out.println(i); i++; } do-while 조건과 관계없이 최소 한번은 본문이 실행된다. 적어도 한번은 실행이 보장되어야하는 경우에 사용 do { // 본문 내용 } while (조..
배열 복사 배열은 객체이므로 객체의 복사에대해서 알아본다 객체의 복사는 얕은복사와 깊은 복사가 있다. 얕은 복사 원본 객체의 주소 값만 가져와 복사본 객체의 참조형 변수에 저장하는것 하나의 객체를 두변수가 참조한다. 원본값을 변경하면 복사복 객체도 변경되는 문제점이 있다. 깊은 복사 다른 메모리 주소의 변수로 객체의 값들을 복사하는것 얕은 복사의 문제점을 해결해준다 배열 복사 얕은복사 배열의 주소만 다른 변수로 복사한다 두개의 참조변수가 같은 배열 객체의 주소를 참조한다 깊은 복사 다른 메모리주의 공간으로 배열의 값들을 복사한다 원본 배열의 참조변수와 복사된 배열의 참조변수는 서로 다른 메모리주소를 참조한다 자바에서 배열의 깊은 복사 방법 for문으로 직접복사 Arrays클래스에서 제공하는 copyof(..
배열 2개이상의 연속적인 공간 컴퓨터 메모리에 같은 자료형 타입이 연속적으로 할당된 공간 배열을 사용하는 이유 변수만을 사용하게 된다면 대량의 데이터들을 보관하고자 할때 각각의 변수를 만들어서 따로 관리해야한다. 1차원 배열 타입이 같은 둘 이상의 데이터를 저장할 수 있는 1차원 구조의 메모리 공간 2차원 배열 타입이같은 연속된 배열들이 각각 또 다른 배열 공간을 가리키고 있는 형태 기본 자료형 배열 기본 자료형으로 선언되어있는 배열 초기화가 안되면 자동으로 0으로 초기화 선언방법 int[] arr =new int[5]; int[] arr={1,2,3,4,5}; int[] arr=new int[5]{1,2,3,4,5}; 객체 배열 객체배열은 객체로이루어진 배열이다. 여러개의 객체가 연속적으로 할당 선언시..
자바_연산자 논리 연산자 두개의 논리값을 연산해주는 연산자 && (and) ll (or) == != 증감 연산자 ++: 변수에 담긴 값을 1 증가 --: 변수에 담긴 값을 1 감소 a++ , a-- 산술 연산자 +-*/ % 대입 연산자 = a=b 복합 대입 연산자 산술 연산자와 대입 연산자가 결합되어있는 형태 a+=3; a-=3; 비교연산자/관계연산자 (이항연산자) 두값을 비교하는 연산자 = 삼항 연산자 항목 3개를 가지고 연산해주는 연산자. String check=(a%2==0)?"짝수":"홀수";
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cEMG2u/btsD8AOAVmJ/9JKQDFfacEFbOjVBetBiW0/img.png)
변수 변할수 있는 값 프로그래밍에서는 컴퓨터메모리(RAM)에 값을 기록하기 위한 공간이다. 변수 선언 메모리공간에 공간을 할당하는 것 int a; 변수 초기화 할당된 메모리공간에 값을 넣는것 int a; a=2; 변수접근 메모리에서 값을 가져오는 것 사용시 유지 보수성 증가 변수 규칙 대소문자 구분 숫자로 시작할수 없다 $과_이외의 특수문자는 사용할수없다 키워드는 변수의 이름으로 사용할 수 없다. 변수 자료형 결정 해당 변수에 값을 저장 및 참조하는 방식의 결정 일반변수와 참조변수 일반변수 일반 값을 가지고있는 변수이다. stack 영역에 저장된다. 프로그램 실행전(컴파일과정)에 메모리공간을 할당한다. 자료형에따라 할당되는 메모리크기가 정해진다. 참조변수도 stack영역에 할당된다. 5 4 3 2 1 s..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bNOLI5/btsDxjNS4kI/VH12P5npWBURSypbOLvgL1/img.png)
자바 자바는 썬 마이크로시스템즈의 제임스 고슬링(James Gosling)과 다른 연구원들이 개발한 객체 지향적 프로그래밍 언어이다. ■ 자바언어 특징 자바는 자바 가상 머신(JVM)을 통해 다양한 운영체제에서 바이트코드로 실행됩니다. 이는 자바 프로그램이 플랫폼 독립적이라는 것을 의미한다. 자바는 프로그램을 객체의 집합으로 볼 수 있어 코드의 재사용성과 모듈의 유연성을 향상시킨다. 객체 지향 프로그램의 주요 특징으로는 캡슐화,상속,다형성이 있다. 자바는 가비지 컬렉션(garbage collection)을 통해 자동 메모리 관리를 수행한다. 개발자의 메모리 관리 부담을 덜어준다. 자바는 필요에 따라 클래스를 동적으로 로딩할 수 있다. 이는 프로그램 실행 중 클래스를 찾고 로드하는 기능을 의미한다. 자바는..