https://prashantgaurav1.files.wordpress.com/2013/12/java-util-collection.gif Map을 제외한 Collection 인터페이스 산하의 List와 Set의 상속 관계 도표 진한 파란색은 class를 나타내고 그냥 파란색은 interface를 나타낸다! 컬렉션 프레임워크 구현시 활용하자! Collection framework는 수많은 수학자, 공학자들이 그들의 피와 땀으로 발견, 개발한 지적자산인 알고리즘과 자료구조를 java를 만드신 분들이 우리가 편한 프로그래밍을 할 수 있도록 (그들의 노동력을 갈아서) 만들어 놓은 API이다. 알고리즘과 자료구조를 일일히 공부하고 나서 복잡한 코딩으로 구현해야 하는 사항을 Collection framework를 ..
자바스크립트 공식사이트 Mozilla MDN https://developer.mozilla.org/ko/ 비공식 사이트이지만 유용한 사이트 W3schools https://www.w3schools.com/ 참고 - W3schools는 비공식 사이트이기 때문에 모질라에 비해 업데이트가 느린편임! 정보는 모질라가 더 방대하다고 함! 자바스크립트 개발시 사용 할 수 있는 (해야 할 x) 개발 환경 설정 JavaScript 문서 상단에 'use strict'; 를 기입하고 작성하는 것. 설명 자바스크립트는 매우 유연한 언어. 개발 당시 매우 빠른 시간에 만들어야 했던 언어이기 때문! 유연한 언어라는 것은 달리 말하면 개발자의 실수에 많이 노출될 수 있는 위험한 환경에 있는 언어라는 뜻. use scrict는 유..
Q. 클래스의 구성요소, 인터페이스의 구성요소가 무엇이 있는지 개념을 정리하세요. 메소드 및 생성자의 오버로딩, 상속과 오버라이딩이 무엇인지 개념을 정리하세요. OOP(Object Oriented Programming : 객체지향 프로그래밍)의 4대 요소의 개념을 정리하세요. A. 1. 클래스의 구성요소 자바에서의 클래스란 객체를 만들기 위한 일종의 도구로 객체의 속성(state)와 행동(behavior)이 표현된 객체에 대한 일종의 설계도이다. 클래스의 구성요소는 속성 값을 표현하는 인스턴스 변수(Memeber Field), 행동 값을 표현하는 메소드(Member Method), 객체의 초기화를 담당하는 생성자(Constructor) 그리고 클래스의 내부에 존재할 수 있는 내부 클래스(Inner Cla..
며칠 전, 토이프로젝트를 만들기 위해 필요한 기능들을 테스트하기 위한 토이토이프로젝트(?)를 완성했다. 아주 간단한 스토리를 가진 게임을 만들어서 본 프로젝트에서 필요한 기능들을 미리 테스트해 본 것. 결과는 낫배드였다. 그러나 토이-토이프로젝트를 진행하면서 만난 3가지의 장애물이 있었는데 그것은 바로 기능을 구현하기 위해 필요한 JS 코드가 너무 길다. 전투를 진행하는 작은 기능임에도 불구하고 코드가 160줄을 넘어가는데, 작은 규모의 스토리이니 망정이지 본 프로젝트를 할때는 난리나겠다 싶더라. 웹페이지의 뼈대라고 할 수 있는 HTML 문서가 작은 스토리임에도 불구하고 너무 많고, 각 HTML 문서마다 임포트해야 하는 JS문서가 다 다르다보니 전체적인 문서의 가독성이 최악일만큼 떨어진다. 완전히 동일하..
공부를 하다 놀라운 사실을 알게 되었다. tutorialspoint에서 자바스크립트 항목을 보고 있는데 항목에 객체지향이라는 부분이 있는게 아닌가? 해당 항목으로 들어가보니 첫머리에 이렇게 적혀 있었다. JavaScript is an Object Oriented Programming (OOP) language. 자바스크립트는 객체 지향 프로그래밍 언어입니다. 놀라운 정보에 바로 조사에 착수했다. 나는 지금 자바스크립트를 이용해서 웹게임을 만드는 프로젝트를 진행하고 있는데, 자바를 배우면서 자바스크립트도 class같은 개념이 있어서 필드랑 함수를 효율적으로 관리할 수 있었으면 좋겠다 생각하고 있던 찰나였기 때문이었다. (내가 만드는 웹게임은 하나의 기능이 조금씩 형태를 바꾸면서 자주 반복되기 때문. 예를들..
링크 유튜브 드림코딩 by 엘리 정규표현식 강의 : https://www.youtube.com/watch?v=t3M6toIflyQ 정규표현식 연습 사이트 : https://regexr.com/5mhou 정규표현식 퀴즈 사이트 : https://regexone.com/ 정규표현식이란? regex라고 불리는 정규표현식은 regular expression의 약자로 1950년 미국의 수학자 Stephen Cole Kleene에 의해 개발되었다. 텍스트에서 특정한 패턴을 찾기 위해 유용하게 쓰일 수 있고, 특정 텍스트에서 전화번호를 추출하거나 사용자에 의해 작성된 아이디, 패스워드 요소가 특정한 패턴에 부합하는지 확인하는 유효성 검사에도 사용될 수 있다. 즉,데이터를 추출하고, 가공해서 사용하기 편한 형태로 만드..
시작하기에 앞서 본 글은 국비지원을 수강하는 학생이 공부한 내용을 바탕으로 '정리를 위해' 작성한 글입니다. 학생이 쓴 글이기 때문에 내용에 오류가 있을 수 있습니다! 본 글은 생활코딩의 java-다형성 강의, 책 이젠 나도! 자바의 상속 파트, 프로그래밍 언어 튜토리얼 사이트 tutorialspoint의 java-polymorphism을 바탕으로 작성 하였습니다! 다형성(Polymorphism)이란 다형성은 하나의 메소드나 클래스가 다양한 방법으로 동작할 수 있는 것을 의미한다. 이를테면 코드상에 존재하는 a라는 메소드를 사용할 때, 어떤 식으로 사용하느냐에 따라(매개 변수를 다르게 한다던지 - 오버로딩, 상속을 통해 구현부를 수정한다던지 - 오버라이딩) a의 동작 방법이 달라질 수 있다는 것이다. 텍..
시작하기에 앞서 본 글은 java 국비지원 과정을 듣고 있는 학생이 쓴 글로, 비숙련자가 공부한 내용을 바탕으로 정리한 글이기 때문에 내용에 다소간에 오류가 있을 수 있습니다. 해당 문법의 개념에 대해 설명하고 있기 때문에 설명하는 텍스트가 상당히 많습니다! 기술적인 정보보다는 개념을 이해하고자 적은 텍스트 기반의 글임을 알립니다! 자바는 객체 지향 프로그래밍 언어이다. 객체 지향 특징을 가진 언어로써 자바는 다음과 같은 특징을 갖는다. 추상화(abstraction) - 지하철 노선도와 같이 특정 필요한 정보만을 중심으로 실제를 간소화 한 것 캡슐화(encapsulation) - 보안 등의 이유로 데이터 혹은 기능을 하나로 묶어 관리하는 것 상속성(inheritance) - 하나의 클래스가 가진 특징을 ..
일러두기 본 글은 국비지원 교육과정을 듣는 학생이 메모리 구조에 대해 공부한 것을 바탕으로 적은 글입니다. 초보자가 서술한 글인만큼 정보에 다소간의 오류가 있을 수 있습니다! 컴퓨터 내에서의 프로그램 실행 순서 메모리 구조에 대해 이야기를 하기 전에 우선 컴퓨터 프로그램이 실행되는 일련의 과정을 메모리의 측면에서 알아보자. 첫 번째, 사람이 컴퓨터에게 프로그램 실행을 요청한다. 두 번째, 프로그램 실행 요청을 받은 운영체제(OS)는 해당 프로그램의 정보를 읽은 후 이를 메모리에 로드한다. 세 번째, 이 때 OS는 주기억장치(RAM)에 4가지의 공간을 할당하며 이는 각각 Code, Data, Stack, Heap 영역이다. 네 번째, OS에 의해 할당된 메모리는 중앙처리장치(CPU)에 의해 관리되며, CP..
알림 본 글은 복습노트이며 권오흠님의 유튜브 알고리즘 강의를 보면서 공부한 후 공부한 내용을 정리하기 위한 것입니다! 초보자가 이해한 내용을 서술하는 것이기 때문에 내용에 크고 작은 오류가 있을 수 있습니다! 알고리즘 강의 유튜브 링크(https://www.youtube.com/channel/UC-cOmaeWLm7Ii7erMQNatvA) 시작 Recursion 되부름(재귀) 네이버 지식백과 IT 용어사전 주어진 문제를 해결하기 위해 하나의 함수에서 자신을 다시 호출하여 작업을 수행하는 방식. 어떤 루틴이나 프러시저가 자기 자신을 반복 호출하여 문제를 풀어 나가는 알고리즘으로, 이를 이용하기 위해서는 스택을 사용한다. 간단한 루틴을 풀 수 있는 반면 처리 속도가 느리고, 횟수가 지나치게 많으면 프로그램이 ..