본문 바로가기

프로그래밍/Java

(66)
Java_배열, 객체 배열 배열 배열이란 연관된 데이터를 모아서 통으로 관리하기 위해 사용하는 데이터 타입이다. 변수가 하나의 데이터를 저장하기 위한 것이라면 배열은 여러 개의 데이터를 하나의 변수에 저장하기 위한 것이라고 할 수 있다. 배열의 선언과 초기화 int[] arr1 = new int[10]; int[] arr2 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; → 배열은 선언과 동시에 자료형에 따라 초기화된다. (정수는 0, 실수는 0.0, 객체는 null) → arr2처럼 필요에 따라 초기값을 지정할 수 있다. - 배열 예제 Book 클래스 HTML 삽입 미리보기할 수 없는 소스 BookMainTest1 HTML 삽입 미리보기할 수 없는 소스 → 생성한 배열 객체에 값을 할당하고 for 문과 if ..
Java_static변수와 메서드 static 변수 : static 변수는 공통으로 사용하는 변수가 필요한 경우 사용한다. (객체들이 공유해야 하는 데이터가 필요할 때) 모든 인스턴스가 하나의 저장공간을 공유하므로 항상 공통된 값을 갖는다. - 여러 인스턴스가 공유하는 기준 값이 필요한 경우 - 회사 사원이 입사할 때마다 새로운 사번이 필요한 경우 - 은행에서 대기표를 뽑을 경우 (2대 이상) → 공유해야되는 변수가 필요할 때 'static' 키워드를 쓰면 됨 Employee 클래스 HTML 삽입 미리보기할 수 없는 소스 → 생성자에서 serialNum++;을 해주고 serialNum을 employeeId에 저장하였다. EmployeeMainTest HTML 삽입 미리보기할 수 없는 소스 → 객체를 생성한 다음 .setEmployeeNa..
Java_this 사용법 객체 자기 자신을 가리킬 때 사용하는 참조변수 this HTML 삽입 미리보기할 수 없는 소스 → 생성자에서 매개변수를 사용해 전달값이 동일한 경우 ‘this’ 참조 변수를 사용하면 된다. → 멤버변수와 지역변수를 구별하려고 this를 사용한다. 생성자에서 또 다른 생성자를 호출할 때 사용하는 this() HTML 삽입 미리보기할 수 없는 소스 → 생성자의 이름으로 클래스이름 대신 this를 사용한다. → 한 생성자에서 다른 생성자를 호출할 때는 반드시 첫 줄에서만 가능하다 자신의 주소를 반환하는 this HTML 삽입 미리보기할 수 없는 소스 → 객체를 생성해서 참조변수를 출력하면 주소값이 출력이 된다.
Java_접근 제어 지시자와 캡슐화 접근 제어 지시자 : 클래스, 변수, 메서드의 선언부에 사용되어 클래스 외부에서 사용할 수 있는지 여부를 지정하는 키워드이다. private : 같은 클래스 내부에서만 접근이 가능하다. (외부 클래스, 상속 관계의 클래스에서는 접근 불가) (default) : 같은 패키지 내부에서만 접근이 가능하다. (상속 관계라도 패키지가 다르면 접근이 불가) protected : 같은 패키지나 상속관계의 클래스에서 접근 가능하고 그 외 외부에서는 접근할 수 없다. public : 클래스의 외부 어디서나 접근할 수 있다. 제어자 같은 클래스 같은 패키지 자손클래스 (다른패키지도 가능) 전체 public O O O O protected O O O (default) O O private O 캡슐화 : 정보 은닉을 위한 캡..
Java_참조자료형 변수 클래스형으로 변수를 선언한다. 기본 자료형은 사용하는 메모리의 크기가 정해져 있지만, 참조 자료형은 클래스에 따라 다르다. 참조 자료형을 사용할 때는 해당 변수에 대해 생성해야 한다. (String 클래스는 예외적으로 생성하지 않고 사용할 수 있다.) 참조 자료형 정의하여 사용하기 (포함 관계) : 포함관계란 한 클래스의 멤버변수로 다른 클래스 타입의 참조변수를 선언하는 것을 뜻한다. Subject 클래스 멤버변수 선언 HTML 삽입 미리보기할 수 없는 소스 Student 클래스 구현 HTML 삽입 미리보기할 수 없는 소스 → Subject korea, Subject math로 Subject 클래스의 멤버변수로 Student 클래스에 참조변수를 선언하고, 생성자에서 new 연산자를 사용하여 메모리에 올려..
Java_생성자 생성자 객체를 생성할 때 new키워드와 함께 사용한다. 생성자는 일반 함수처럼 기능을 호출하는 것이 아니고 객체를 생성하기 위해 new와 함께 호출된다. 객체가 생성될 때 변수나 상수를 초기화하거나 다른 초기화 기능을 수행하는 메서드를 호출한다. 생성자는 반환값이 없고, 클래스의 이름과 동일하다. 대부분의 생성자는 외부에서 접근 가능하지만, 필요에 의해 private으로 선언되는 경우도 있다. 기본 생성자 (default constructor) 클래스에는 반드시 적어도 하나 이상의 생성자가 존재한다. 클래스에 생성자를 구현하지 않아도 new키워드와 함께 생성자를 호출할 수 있다. 클래스에 생성자가 하나도 없는 경우 컴파일러가 생성자 코드를 넣어준다. public Student(){} 생성자 만들기 HTM..
Java_함수(function) 함수란 ? 하나의 기능을 수행하는 일련의 코드 묶음 구현된 함수는 호출하여 사용하고 호출된 함수는 기능이 끝나면 제어가 반환된다. 함수로 구현된 하나의 기능은 여러 곳에서 동일한 방식으로 호출되어 사용할 수 있다. 함수의 선언부와 구현부 함수는 이름, 매개변수, 반환값, 함수 몸체(구현부)로 구성된다. 리턴타입 함수이름 (매개변수) { //함수의 선언부 //함수의 구현부 } HTML 삽입 미리보기할 수 없는 소스 함수 구현 예제 HTML 삽입 미리보기할 수 없는 소스 → 함수는 static을 사용해주어 메서드와 구분을 할 수 있다. 함수 호출과 스택 메모리 스택 : 함수가 호출될 때 지역 변수들이 사용하는 메모리 함수를 종료하면 실행의 제어권을 반환한다. (리턴 키워드, 함수 구현부 종료) 메서드 (me..
인스턴스 생성과 힙 메모리 인스턴스 (instance) 클래스는 객체의 속성과 기능을 구현하여 만들어 놓은 설계도이다. 실제 클래스 기반으로 생성된 객체(인스턴스)는 각각 다른 멤버 변수 값을 가지게 된다. new 키워드를 사용하여 인스턴스를 생성한다. 힙 메모리 생성된 인스턴스는 동적 메모리에 할당된다. 하나의 클래스로부터 여러 개의 인스턴스가 생성되고 각각 다른 메모리 주소를 가지게 된다. HTML 삽입 미리보기할 수 없는 소스 → 스택 메모리 (LIFO) : 후입선출 방식으로, 밑에서부터 쌓아 올라가고 위에서 아래로 하나씩 꺼내는 방식이다. Student클래스의 객체를 new 연산자를 이용해 studentPack 인스턴스가 생성이 되면 힙에 메모리가 올라가게 되고 주소값을 가진다. → 기본 데이터 타입은 값(리터럴)이 출력이..