기타/프로그래밍 분류 56

Java - 12.Static과 메모리 구조

static : 정적인, 고정된, 정지의 Static필드는 왜 필요할가? 앞의 클래스와 멤벼변수들은 클래스가 인스턴스화 되면서 각 인스턴스의 고유값을 저장하기 위한 인스턴스 멤버변수로 존재한다는 것을 알 수 있다. 프로그램을 구현하다보면 종종 같은 클래스에서 파생된 인스턴스 사이에 정보를 공유해야 하는 경우를 만난다. 그러나 각각의 메모리 공간을 할당받아 사용하는 인스턴스로 인스턴트들의 데이터를 공유한다는 것은 불가능하다. 이러한 문제를 해결해 주는 것이 static예약어 이다. Java 메모리 관리 구조 Text Area : 기계어로된 프로그램의 로직이 위치하는 메모리 영역 Static Area : 전역적 성격의 static 형 필드가 생성되는 메모리 역역 Heap Area : new 연산자를 통해서 ..

JAVA - 11.클래스와 인스턴스

클래스란? 클래스는 객체의 설계도 정도로 해석할 수 있다. 설계도에 의해 실제 만들어지는 것을 객체(또는 인스턴스)라고 한다. 이렇게 객체를 직접 만들어 사용하지 않고 클래스로 객체의 명세를 만들고 해당 명세에 구체적인 값을 채워 객체로 만드는 이유는 실제 객체(인스턴스)를 보다 쉽게 만들기 위한 것이다. 성질이나 기능이 같은 객체들을 클래스없이 만든다면 객체를 생성할 때 공통 성질과 기능을 매번 정의해 주어야 할 것이다. 그러나 클래스로 일저으이 객체 틀(탬플릿)을 만들어 놓고 그것으로 객체를 만든다면 생산성이 증가할 것이다. 예를 들어 설명하자면 연필로 글을 쓰는것과 활자(나무판에 글씨모양으로 홈을 판것)에 물감을 칠한뒤 종이에 찍어내는 것과 같은방법이다. 혹시 활자를 몰라서 이해가 되지 않는다면 '..

JAVA - 10.객체지향의 개념

자바 관점에서 '객체, '객체지향', '객체지향 프로그래밍' 등의 용어를 정확히 이해하는 것은 앞으로 자바프로그래밍의 초석을 다지는 과정이다. 자바를 '객체지향 프로그래밍 언어'라고 부르는 것은 자바 객체지향이라는 개념으로 소프트 웨어를 개발한다는 의미이다. 따라서 객체란 무었이고 어떻게 객체지향으로 프로그램을 개발하는 가를 이해하는 것은 자바를 이해하는데 있어서 매우 중요하다. 객체란? 객체란 현실 세계에서 구별되어 존재하는 사물 또는 사상이라고 정의할 수 있다. 독립적으로 식별이 가능하고 상태와 행위를 가지고 있는 모든 실체는 객체이다. 예를 들어, 자동차, 냉장고, 컴퓨터, 매수, 매도, 학생, 건물 등이 현실 세계에 존재하는 유 무형의 실체를 객체라고 정의할 수 있다. 즉, 지금 이 글을 보고 있..

JAVA - 9.주석

주석이란? 프로그램에 영향을 미치지 않는 설명글 한줄만 주석 시키기 슬러시 두개를 적고 뒤에 소스에 포함되지 않는 코드를 적는다. //포함되지 않는 코드 여러줄 주석 시키기 슬러시(/) 아티스트(*)와 아티스트(*) 슬러시(/)를 사이에 소스에 포함되지 않는 코드를 적는다. doc 주석 이것 (/**)과 이것(*/)사이에 적으면 된다. 주로 자바클래스에 대한 api설명문을 적어놓는다.

JAVA - 8.함수

함수는 프로그램을 구성하는 기능을 정의할 때 사용한다. 다음은 함수의 형태를 나타낸 것이다. 함수는 크게 함수 프로토타입과 함수 본체로 구성된다. 여기서 함수의 프로토 타입에는 함수의 접근 제어자. 함수 생성 위치(정적함수, 힙함수), 함수 이름, 매개변수 자료형, 매개변수 이름 등으로 이루어져 있으며, 함수 본체는 실제 함수에서 수행할 명령문으로 구성된다. 함수 프로토타입중 접근 제어자, 함수 본체는 실제 함수에서 수행할 명령문으로 구성된다. 함수를 사용하는 이유 1.기능을 필요할 때마다 매번 구현하는 것보다 이미 검증된 함수를 사용하여 프로그램 오류가 감소한다. 2.소스 코드를 기능별로 분류하여 기술함으로 가독성이 증가한다. 3.반복적인 소스 코드가 줄어든다. 함수의 종류 호출함수 public voi..

JAVA - 7.제어문

자바의 제어문은 일반 프로그래밍 언어와 비슷하게 조건문, 반복문, 분기문으로 이루어져 있다. 제어문은 단어의 의미 그대로 프로그램이 실행되는 도중에 제어하는 기능이다. 조건문 단일 IF문 , if ~ else문, 다중 if문, 중첩 if문, switch 문 if문 if문은 주어진 조건에 만족할 경우 if문안의 명령을 실행하는 분기문이다. 유형 1 int a=10, b=5; if ( a > b ) cup=a; 만약 a보다 b가 크다면 cup=1을 넣는다. 틀리다면 if문을 실행하지 않고 넘어간다. 유형2 int a=10, b=5; if ( a > b ) { cup=a; } 결과 = cup에는 a가 들어간다. 유형 1과의 차이점은 괄호가 있고 없고의 차이이다. 조건문을 만족한후에 명령문이 한줄이라면 세미콜론..

JAVA - 6.배열

프로그램을 실행하거나 연산하려면 연산에 필요한 데이터가 컴퓨터 메모리에 적재되어 있어야 한다. 하지만 우리가 배웠던 변수는 오직 하나의 데이터만 제어할 수 있다. 만약 하나의 명령어로 여러개의 데이터를 제어하고 싶다면 배열을 사용하면 된다. 그냥 변수를 사용하면 되지 않겠냐고 물어보면 아래의 예시를 살펴보고 판단해보자. a1,a2,a3,a4,a5,a6,a7,a8, .... a99 ,a100; 100개의 변수를 선언 했다면 변수를 만들어서 사용하고 싶을때 a8과 같이 일일이 지정하는 반면에 배열은.. int a[]; n = new int[100]; 이렇게하면 변수 100개 선언이 완료된다. 배열을 쓰지않고 변수를 쓰고싶다면 말리지 않겠다 -0-a 배열 선언 및 생성 문법 일반적인 배열 선언 문법 자료형 배..

JAVA - 4.자바프로그램의 구조와 식별자

자바 소스 파일 구성요소 자바 응용 프로그램 = 자바 소스파일 여러개~ 자바 소스 파일 = 자바 클래스 여러개~ 자바 클래스 = 자바 구성요소 여러개~ 요약하면 응용 프로그램 > 소스파일 > 클래스 > 구성요소 자바라는 프로그래밍 언어를 사용하여 특정 목적에 맞는 응용프로그램을 구축하기 위해서 다른 프로그래밍 언어와 같이 응용프로그램의 각종 기능들이 자바 구성요소들의 조합에 의해 자바 소스 파일에 코딩(coding)되어 있다. 따라서 자바 소스파일 구조를 이해하는 것이 자바의 시작이다. 식별자 식발자는 자바 프로그래밍을 할때 여러 '요소'들의 이름을 지어주는데 이를 자바 식별자라고 한다. 식별자는 Sun Microsystems에서 자바를 제공하면서 미리 정의한 예약어 사용자가 식별자 명명 규칙에 의해서 ..

java - 패키지 만들기

1)패키지 이름 선택하기 패키지가 포함하는 클래스들이 하는 역할과 관련지어 만듭니다. 방법1 - 자신의 이름을 붙여서 만들기 방법2 - 자신의 홈페이지의 도메인명을 붙여서 만들기 2)폴더 구조 만들기 하드 디스크에 패키지의 이름과 일치하는 폴더만들기 com.naviseek.canasta 이면 com폴더 안에 naviseek 폴더안에 canasta 폴더가 있어야 합니다. 3) 클래스를 패키지 안에 첨가하기 클래스들을 패키지 안에 넣기 위한 마지막 단계는 프로그램 파일에서 import문보다 앞에 package문을 쓰는 것 입니다. package com.naviseek.canasta; 4)패크지와 클래스의 접근제어 public,private와 같은 수식자를 사용해서 접근을 제어할 수 있습니다.