반응형

java 60

[Java] Class

Class 자료와 자료를 처리하는 기능이 모여있는 사용자 정의형 데이터 타입 * Class = Data + Method Data : 프로그램에서 유지, 관리해야할 데이터, Attribute라고도 함 Method : Data를 조작하는 함수. Static Memory에 할당을 전역영역에 하기 위한 Keyword. 전역영역 할당의 의미 전역 접근이 가능해 Application이 종료할 때 까지 존재. Heap, Stack Memory 영역과 관련이 없음. 접근할 때 Class명 만을 이용. Class Variable Static을 이용하여 선언된 Attribute 전역영역에 위치 Class의 instance와 전혀 상관이 없음. 접근시 Class명 이용. Class Method Static으로 선언한 Met..

JAVA 2022.06.02

[Java] Overloading, String, StringBuilder

Overloading OOP의 특성중 Polymorphism을 지원하기 위한 방법 중 하나. 같은 이름의 Method로 서로 다른 기능을 호출하는 Mechanism 특징 Method의 Parameter로 구별하여 호출한다. Retrun type이 다른 경우 사용 할 수 없다. 과도한 overloading은 가독성을 저해시킨다. 애매한 overloading은 지양해야한다. ex) myfunction(int a, int b); ex) myfunction(short a, short b) String String을 처리하기 위한 Class. String은 종료문자(null 문자, 일반적으로 0x00)를 포함하는 문자의 집합을 의미한다. 생성 Sugar Code의 특징 아래의 두 code는 서로 다르게 출력한다...

JAVA 2022.06.02

[Java] Stack 구현

구조 LIFO(선입후출) 구조. * 스택 포인터 * 스택 public class stack { int top = -1; final Object[] stack; } 생성자 스택의 사이즈 설정 public class stack { // 생성자 // Set the Size of the Stack public stack(){ this.stack = new Object[10]; } public stack(int stackSize){ this.stack = new Object[stackSize]; } } 기능 1. 스택의 데이터가 가득 차있는지 확인하는 기능. 2. 스택의 데이터가 비어 있는지 확인하는 기능. 3. 스택에 데이터를 추가하는 기능. 4. 스택에 있는 데이터를 빼는 기능. 5. 스택에 있는 데이터를 확..

JAVA 2022.05.31

[Java] Comment(주석), 클래스(class), 생성자, 정보은닉

Comment(주석) 제작한 주석을 그대로 코딩한다. O 소스 코드를 주석한다. X = 주석 밑으로 코딩하라. = 코드 밑에 주석을 달지 마라. ▶ Refactoring : 결과의 변경 없이 코드의 구조를 재조정하는 활동. ex) 배열 sc를 for문의 length로 넣는것. Class ▶ 자료와 자료를 처리하는 기능이 모여있는 객체를 기반으로 하는 사용자 정의형 데이터 타입. 객체지향 프로그래밍은 구조적 프로그래밍에서 데이터와 기능을 합침으로서 class가 발전된 형태이다. data + 기능 = object object를 Language 차원에서 데이터 타입으로 구현한것이 class다. SP -> OOP ※ 객체지향프로그래밍의 오브젝트와 자바에서 말하는 오브젝트는 다른 것이다. ​ 구조적 프로그래밍의 ..

JAVA 2022.05.31

[Java] 리터럴(Literal), 연산자

리터럴 (Literal) Operand(피연산자) 를 규칙에 따라 연산하기 위한 명령어 변수에 넣는 데이터 값 - 문자 리터럴 작은 따옴표로 묶은 하나의 텍스트. - 문자열 리터럴 큰 따옴표로 묶은 한글자 이상의 텍스트. - 논리 리터럴 true와 false로 처리한다. boolean type Primitive type (원시형) int, float, long, double Type byte char short int float long double Byte 1 2 2 4 4 8 8 연산자 - 부호 연산자 정수 또는 실수 앞에 붙일 수 있으며 변수 값의 부호를 유지하거나 바꾸기 위해 사용한다. + : 변수 값의 부호를 유지한다. - : 양수는 음수로 음수는 양수로 바꾼다. *부호 연산자의 산출 타입은 i..

JAVA 2022.05.30

[Java] list, list container, linked list

list (리스트) 노드로 이루어져 있으며 배열의 데이터를 유동적으로 대처하기가 어려운 단점을 대처 할 수 있다. 배열의 단점 선형 검색으로 보통의 시나리오에서 데이터를 검색하는데 시간이 오래 걸린다. 선언시 공간을 미리 할당하기 때문에 자료를 추가하는데 복잡함이 생기며 메모리의 공간이 낭비될 수 있다. 앞의 인덱스 데이터를 삭제할 경우 복잡함이 발생한다. ​ 1. 크기문제 : 크기를 유연하게 대처할 수 있다. 2. 데이터의 추가 삭제 : 비지니스 로직에 따른 데이터의 추가 삭제가 유연하다. ​ 사용환경 배열 - 데이터가 고정적일때 리스트 - 데이터가 유동적일때 ​ - 단일 연결 리스트 단방향 구조 - 이중연결 리스트 쌍방향 구조 Access가 단일 연결리스트보다 빠르다. * 리그레션 테스트 (Regre..

JAVA 2022.05.23

[Java] 패키지, 버블소트

패키지[namespace (c++)] 패키지란? JAVA Class를 분류하여 찾기 쉽게 하고 충돌을 방지하기 위해 사용하는 기법 · 패키지는 파일시스템에서 디렉토리로 구현한다. · 소스코드에서는 import 키워드를 통해 접근한다. ​ ex) jsh.BankAccount ba = new jsh.BankAccount(); jsh를 붙이는 이유는 구분을 하기 위함이다. ​ 디렉토리 > 패키지 ​ compiler가 기본적으로 올리는 클래스 ​ ▶ IPO : Input, Processing, Output, ▶ Code Smell : 컴퓨터 프로그래밍 코드에서 더 심오한 문제를 일으킬 가능성이 있는프로그램 소스 코드의 특징을 가리킨다. ▶ Refactoring :결과의 변경 없이 코드의 구조를 재조정함 bubb..

JAVA 2022.05.23

[Java] 배열 랜덤수 검사하기.

문제 0~12 사이의 임의의 값을 30크기의 int배열에 차례로 저장하고 0~12사이의 모든 숫자가 이 배열에 들어있는지 검사하는 프로그램을 작성하시오. ​ 해법 해결하기 전 알아야 할 Random 선언. import java.util.Random; = 객체 선언시 Random을 사용 할 수 있게한다. ​ Random 변수 = new Random() = 난수를 발생 시킬 변수 선언. ex) Random a = new Random() ​ 변수.nextInt(정수) = 0부터 정수-1 개 까지의 무작위 정수를 발생시킨다. ex) thirty[30] = a.nextInt(13) = 배열thirty에 난수 0~12의 무작위 정수를 넣어라. ​ 1. import java.util.Random; 을 선언해 Rand..

JAVA 2022.05.23

[Java] return, new, 2차원 배열

return return이 실행되는 시점에서 종료된다. 메인함수로 돌아간다. 어떠한 값을 전달해 줄 수 있다. return t; : 값 t를 메인 함수 ~ 에 전달한다. ex) main 함수에서 add() 함수로 jump 한다. * call : 명령어의 제어권이 넘어가는 행위. * jump : add() 함수를 call 해라 ​ ​ ※ return 해석 맵 ※ 메인 함수에서 a가 쓰여져도 add함수에서의 a와는 스코프가 다르기 때문에 다른 변수값으로 해석된다. new 힙에 런타임으로 메모리를 잡기 위한 키워드 ex) new int[], new String ​ ※ new 를 키워딩 하게되면 stack area에 Reference value 저장을 하여 heap에 있는 데이터를 불러 올 수 있게 한다. ​ ..

JAVA 2022.05.23
반응형