목록BackEnd (47)
여행을 개발하다
이번에는 함수의 기본 개념, Print, 주석을 다는 방법에 대해 알아보겠습니다. 첫 번째, '함수'란 입력값을 가지고 어떤 일을 수행한 후, 결과 값을 가지고 오는 것을 말합니다. 엑셀의 sum, average, vlookup 처럼요! 그리고 해당 함수는 결과를 도출하게 되는데, 그 결과를 도출하도록 하는 명령어가 'Print'입니다. print 명령어의 서식은 'print(출력할내용)'으로 이루어집니다. * 파이썬은 다른 프로그램에 비해 대소문자 구문, 띄어쓰기에 매우 민감합니다. 따라서 하나의 함수를 학습하실 때는 이러한 부분을 명확히 할 필요가 있겠습니다. (파이참에서는 아래와 같이 물결 무늬로 어색한 부분을 표시해줍니다.) 이제 위의 모습처럼 'print'를 사용했을 때의 결과 값을 파이참을 사..
제가 앞선 포스팅에서 IDE를 Pycharm으로 사용한다고 말씀드렸습니다. 그래서 간단히 Pycharm을 이용한 Python Project 관리 요령을 공유하겠습니다. 설치가 완료되신 분이라면 바탕화면에서 위와 같은 아이콘을 확인하실 수 있습니다. 'JetBrains PyCharm Community Edition 2017.3.2 x64' (참고로 파이참은 커뮤니티 버전으로 설치하였습니다.) 여기서 'Create New Project'를 선택하여 실행합니다. 사용자가 원하는 이름으로 프로젝트명을 입력하시면 되고, 저의 경우 저장 위치는 찾아보기 쉽게 최상위 폴더인 C드라이브로 지정했습니다. 프로젝트명과, 저장위치가 지정되면 하단의 'Create' 버튼을 누르시면 됩니다. 작업이 완료되면 위와 같은 화면이 ..
JAVA, Python, C, C++, JSP... 여러가지 이름만 들어본 프로그래밍 언어 중에 파이썬을 선택한 이유는 가장 쉽고, 입문어로 적합하다는 후기가 많아서였습니다. 대학 생활 Corpus linguistic이라는 과목을 수강할 때, Perl Script를 다뤄본 적이 있습니다. 그래서 '설치' 과정 자체는 어렵지 않았습니다. cmd 실행, 명령어 'print'는 친숙하게 시작했던 첫 날이었습니다. 앞으로 제가 사용할 파이썬 버전과 IDE입니다. 착오 없으시길. ------------------------------------------------------------------------------------------ * Python version information : Python 3.5..
안녕하세요! 오늘 포스팅 할 내용은 'ArrayList'입니다. 배열의 길이는 정해져 있기도 하지만, 때에 따라서 유연하게 늘였다 줄였다 할 필요가 있습니다. 데이터가 추가되고 빠질 때마다 적당하게 메모리가 할당이 되어야 하기 때문이죠. 실제 실무에서도 불필요한 메모리 할당으로 메모리 누수 현상을 방지하기 위해, 배열의 길이는 대부분 정하지 않고 사용한다고 합니다. Java는 이러한 상황에서 배열을 동적 할당하기 위해, ArrayList라는 클래스를 활용합니다. 그럼 ArrayList를 어떻게 활용하는지, 지금부터 살펴보겠습니다. * 왜 동적 할당이 필요할까...? 본격적인 설명에 앞서, 왜 배열의 동적 할당이 필요한지 예제를 통해 살펴보겠습니다. 1과 2를 더한 값인 3을 출력하는 sum(arg)라는 ..
안녕하세요!! 오늘의 포스팅 주제는 '인터페이스(Interface)'입니다. 지난 포스팅에서 Java는 다중 상속이 금지되어 있으며, 그 이유를 C++에서 다중 상속 시 발생 우려가 있는 Diamond of Death 현상으로 설명하였습니다. 인터페이스(Interface)는 이러한 Java의 한계점을 보완하기 위해 마련된 기능이라고 보시면 됩니다. 즉, 다른 클래스를 상속 받은 서브 클래스들의 공통점을 추출해서 사용이 가능하도록 돕습니다. 그럼 지금부터 인터페이스의 특징에 대해 알아보겠습니다. 1. 인터페이스(Interface)의 정의 - 무조건 정적(static) 멤버 변수(상수)와 추상 메소드로만 구성되는 클래스의 특별한 형태. C++에서도 '어떤 클래스로부터 상속을 받을지'에 대한 모호성으로 다중 ..
안녕하세요! 오늘 포스팅 할 내용은 'Diamond of Death 현상'입니다. 사실 본론부터 이야기하자면, Java에서는 일어날 수 없는 현상입니다. 왜냐하면 Java는 다중 상속을 허용하지 않기 때문입니다. 여기서 다중 상속이란, 여러 개의 서브 클래스가 하나의 동일한 슈퍼 클래스를 상속받는 것을 의미하는데요. 하나의 클래스의 활용도를 엄청 높일 수 있을 것만 같은데, Java는 왜 C++로부터 물려받지 않았을까요? 그 이유를 지금부터 풀어갑니다. * Diamond of Death (데스 다이아몬드 현상) * B와 C클래스는 A라는 부모 클래스를 상속 받은 자식 클래스이다. * 그런데 D라는 클래스는 B와 C클래스를 동시에 상속받았다. * 결국 D는 B와 C클래스를 상속 받기는 했지만, A클래스를 ..
안녕하세요! 오늘 포스팅 할 내용은 "클래스(Class)의 상속(Inheritance)"입니다. Java가 C++과 가장 다르다고 느낀 부분은, class가 가장 기본이 된다는 것이었어요. Java는 C계열의 언어와는 달리 다양한 class와 method가 정의되어 있습니다. 그만큼 C계열의 언어에 비해 코딩이 편하다(?)고 생각하는데요. 문제는 package와 project 등을 생성할 때마다 새로운 class를 만들다보면 , 동일한 이름과 기능을 갖게 되는 class들 때문에 많은 미스커뮤니케이션과 혼란이 발생할꺼에요. 이것이 바로 클래스의 상속이 적시적소에 이루어져야 하는 이유입니다. 그럼 Java의 기본이 되는 class의 상속(Inheritance)에 대해 알아볼까요? 1. 클래스의 상속이란? ..
안녕하세요!! 오늘 포스팅 할 내용은 "StringTokenizer"라는 클래스입니다. 우리는 컴퓨터에 영문자, 한글 등 여러 가지 언어와 형태로 문자를 입력합니다. 그리고 필요에 따라 쉼표(,), 마침표(.), equal(=)을 쓰기도 하구요. 그런데 쉼표, 마침표, equal은 의미 단위를 구분해주는 '구분자'로도 사용됩니다. "StringTokenizer"라는 클래스는 이러한 구분자와 밀접한 연관이 있습니다. 지금부터 "StringTokenizer"이라는 클래스와 세부적으로 함께 쓰일 수 있는 "hasMoreTokens()", "nextToken()" 이라는 메소드에 대해서도 살펴보도록 하겠습니다. 들어가기 전에 토큰(Token)의 개념부터 정리하고 가요! 네이버 사전의 힘을 빌리겠습니다 : ) 토..