본문 바로가기

전체 글99

JAVA의 OOP - 절차적, 구조적 프로그래밍의 유산 책 소개 현재 읽고 있는 '스프링 입문을 위한 자바 객체 지향의 원리와 이해' 중의 일부를 적은 내용입니다. 절차적/ 구조적 프로그래밍 객체 지향 프로그래밍은 절차적/ 구조적 프로그램을 포함하고 있다. 1. 절차적 프로그래밍 절차적 프로그래밍은 goto를 쓰지 말라는 것으로, 자바에서도 이를 사용하지 못하도록 예약어로 선점해두었다. goto를 쓰면 실행 순서 즉, 제어 흐름을 이리저리 움직일 수 있다. 이렇게 되면 사람이 프로그램의 실행 순서를 이해하기에 너무 복잡해질 우려가 있기 때문에 사용을 금지한다. 2. 구조적 프로그래밍 함수를 사용하라는 것이다. 함수를 사용하면 좋은 점은 중복 코드를 한 데 모아 관리할 수 있으며, 논리를 함수 단위로 분리할 수 있어 이해하기가 쉬운 코드가 되기 때문이다. 추가.. 2022. 2. 2.
JAVA의 OOP - 자바 개발 환경 JDK, JRE, JVM 책 소개 현재 읽고 있는 '스프링 입문을 위한 자바 객체 지향의 원리와 이해' 중의 일부를 적은 내용입니다. 자바 프로그램의 개발과 구동 현실의 컴퓨터 구동 자바 소프트웨어 개발도구 JDK(자바 개발 도구) JVM용 소프트웨어 개발 도구 운영체제 JRE(자바 실행 환경) JVM용 OS 하드웨어(물리적 컴퓨터) JVM(자바 가상 기계) 가상의 컴퓨터 자바 소프트웨어 1) 개발 도구인 JDK를 이용하여 개발된 프로그램은 2) JRE에 의해 3) 가상의 컴퓨터인 JVM상에서 구동된다. 이는 마치 실제 컴퓨터에서 개발자가 1) 개발 도구를 이용하여 프로그램(= 소프트웨어)을 개발하고 2) 운영체제를 통해 3) 물리적 컴퓨터인 하드웨어 상에서 구동되는 것과 같다. 각각의 역할 1) JDK(Java Developm.. 2022. 2. 2.
자료구조 - 스택, 큐 강의 소개 현재 수강하고 있는 멀티캠퍼스 k-digital 지능형 웹서비스 풀 스택 과정을 수강하며 적은 내용입니다. 교재로는 자료구조와 함께 배우는 알고리즘 입문 자바 편을 사용하고 있습니다. 1. 스택(Stack) 먼저 들어온 데이터가 나중에 나가는 형식(FILO)의 자료구조이다. 입구와 출구가 동일한 형태로 볼 수 있다. 통로가 1개이기 때문에 가장 나중에 들어온 데이터가 가장 빨리 나가는 것이다. ex. 접시 쌓기, 박스 쌓기 언어별 스택 구현 자바 자바의 java.util.Stack을 사용한다. -메서드 push: 스택에 데이터 저장 pop: 스택에서 데이터 하나를 꺼내서 삭제한다. isEmpty: 스택이 비어있는지 여부를 boolean타입으로 반환한다. peek: 스택의 꼭대기 top을 조회한.. 2022. 2. 1.
알고리즘 - 재귀 :: 유클리드 호제법(최대공약수), 피보나치, 팩토리얼 강의 소개 현재 수강하고 있는 멀티캠퍼스 k-digital 지능형 웹서비스 풀 스택 과정을 수강하며 적은 내용입니다. 교재로는 자료구조와 함께 배우는 알고리즘 입문 자바 편을 사용하고 있습니다. 재귀(recursive) 재귀 함수 어떤 함수 내부에 자기 자신 함수를 포함하고 있는 함수이다. 재귀 함수를 사용할 때, 조건문으로 종료 조건을 주거나(재귀 함수를 호출하지 않는 조건), 아니면 자기 자신을 계속 호출해야 한다. 재귀를 사용한 예제 코드 1. 팩토리얼 [재귀 함수 코드 구현] static int factorial(int num) { // num 변경하여 같은 메서드 계속 호출 System.out.println("===" + num + "일 때 factorial 시작==="); // 종료조건 if .. 2022. 1. 25.