꾸준한 개발자

계속적인 성장을 추구하는 개발자입니다. 꾸준함을 추구합니다.

계속 쓰는 개발 노트

java 7

큐 (Queue)

🐶 큐에 대해서 알아봐요 - 선입선출 자료구조 - First In First Out (FIFO) - 먼저 들어온 데이터가 먼저 나가는 구조 - 입력 순서대로 데이터 처리가 필요할 때 사용 - ex) 프린터 출력 대기열, BFS (Breath-First Search) 등 🐶 큐 기본 연산 - 데이터 추가 (Enqueue) : 큐에 데이터 추가 - 데이터 꺼내기 (Dequeue) : 큐에서 데이터 꺼내기 🐶 java로 queue 흉내내기 import java.util.LinkedList; import java.util.Queue; public class Main { public static void main(String[] args) { Queue queue = new LinkedList(); queue.a..

스택 (Stack)

🐶 스택이란 무엇일까요 - 후입선출 자료구조 - Last In First Out (LIFO) - 영어를 풀어보면 마지막에 들어온 데이터가 먼저 나가는 구조입니다. - 데이터가 입력된 순서의 역순으로 처리되어야 할 때 사용합니다. - ex) 함수 콜 스택, 수식 계산, 인터럽트 처리 등 🐶 스택 기본 연산 - 데이터 추가 (push) : 스택의 가장 마지막 위치에 데이터 추가 - 데이터 꺼내기 (pop) : 스택의 가장 마지막 위치에서 데이터 꺼냄 🐶 java의 stack 사용하기 import java.util.Stack; public class Main { public static void main(String[] args) { Stack stack = new Stack(); stack.push(1); ..

객체 지향의 4대 특성

객체 지향의 4대 특성은 다음과 같습니다. 1. 캡슐화 : 정보 은닉 2. 상속 : 재사용 + 확장 3. 추상화 : 모델링 4. 다형성 : 사용 편의 추상화 : 모델링 추상화란 구체적인 것을 분해해서 관심 영역(Application Boundary)에 있는 특성만 가지고 재조합하는 것입니다. 사람이라는 클래스가 있다면, 관심 영역이 병원이라면 환자에 맞추어 사람 클래스를 구상할 것이고, 은행이라면 고객에 맞추어 사람 클래스를 구상할 것입니다. 이런 모델링은 객체 지향에서 클래스를 설계할 때 필요한 기법이고 또한 데이터 베이스의 테이블을 설계할 때 필요한 기법입니다. 상속 : 재사용 + 확장 객체 지향에서 상속은 계층도가 아닙니다. 분류도로 이해를 해야됩니다. 예를 들어 할아버지 구현 클래스는 인터페이스할..

JAVA 2021.10.03

자바 프로그램 개발과 구동

JDK -> 자바 개발 도구 JRE -> 자바 실행 환경 JVM -> 자바 가상 기계 JDK를 이용해서 개발된 프로그램은 JRE에 의해 JVM 상에서 구동됩니다. JDK는 자바 소스 컴파일러인 javac.exe를 포함하고 있습니다. JRE는 자바 프로그램 실행기인 java.exe를 포함하고 있습니다. 자바 개발자는 본인이 사용중인 플랫폼에 설치된 JVM용으로 프로그램을 작성하고 배포하면 각 플랫폼에 맞는 JVM이 중재자로서 각 플랫폼에서 프로그램을 구동하는 데 아무 문제가 없게끔 만들어줍니다. 이러한 자바의 특성을 write once run anywhere라고 합니다. JVM 구성 Class Loader .class(byte code)를 실제 메모리에 적재하는 역할을 합니다. Excution Engine..

JAVA 2021.09.14

Java 변수

변수 종류 지역 변수 메소드 내에서 선언된 변수입니다. 해당 메서드 내에서만 유효합니다. 매개 변수 메소드에 넘겨주는 변수입니다. 메소드가 호출될 때 생명이 시작되고, 메소드가 끝나면 소멸됩니다. 메소드가 호출되면서 스택 메모리에 스택 프레임이 생성됩니다. 그리고 해당 스택 프레임 내에 매개 변수를 위한 공간이 확보됩니다. 인스턴스 변수 클래스 내부이면서 메소드 외부에 선언된 변수입니다. static이라는 예약어가 붙어있으면 안됩니다. 객체가 생성될 때 생명이 시작되고, 그 객체를 참조하고 있는 다른 객체가 없으면 소멸됩니다. 클래스 변수 인스턴스 변수처럼 클래스 내부이면서 메소드 외부에 선언된 변수입니다. 인스턴스 변수와의 차이점으로는 static 예약어를 사용한다는 점입니다. 클래스가 처음 호출될 때..

JAVA 2021.09.10

클래스와 객체

자바는 객체지향 언어입니다. 클래스와 객체를 통해서 프로그램을 개발해 나가야 됩니다. 이번 시간에 클래스와 객체에 대해서 공부하겠습니다. 클래스와 객체 클래스는 '상태'와 '행위'를 갖고 있는 설계도입니다. 그리고 이 클래스를 이용해서 객체를 만들 수 있습니다. 물론 해당 클래스를 사용하여 여러 객체를 만들 수 있습니다. 예를 들어, 사람을 정의한 클래스가 있습니다. 해당 클래스는 '이름'이라는 '상태'를 갖고 있고, '뛰다'라는 '행위'를 갖고 있습니다. 그리고 사람 클래스를 통해서 여러 사람을 만들 수 있습니다. Java로 코딩을 하면 다음과 같습니다. // Person Class public class Person { String name; // 아래 메서드는 생성자로 다음에 이어서 설명하겠습니다...

JAVA 2021.09.09

객체 지향 언어란? (Object Oriented Language)

1. 객체 지향 언어란 뭘까? 객체지향프로그래밍은 컴퓨터 프로그래밍의 패러다임 중 하나입니다. 컴퓨터 프로그램의 명렁어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 '객체'들의 모임으로 파악하고자 하는 것입니다. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있습니다. 이러한 객체 지향 프로그래밍에서 사용하는 언어를 객체 지향 언어라 합니다. 2. 객체가 뭔데? 객체 지향 프로그래밍을 구성하기 위해서는 '객체'가 필수적입니다. 실제 세상에서 사물의 개념을 프로그램에서 객체라고 볼 수 있습니다. 사람을 예로 들면, 사람 한 명이 있습니다.. 그리고 그 사람은 이름 혹은 나이, 주민등록번호 등의 정보를 갖고 있고, 걷거나 뛸 수 있습니다. 이 예에서 사람 한 명이 하나의 객체가 됩니다..

JAVA 2021.06.17