클래스를 사용하는 방식은 자바와 같다 하지만 자바와는 다르게 첫번째 매개변수에 self가 들어간다. self는 클래스의 객체를 지칭하고 self를 통해서 속성을 정해준다. 자바에서의 this이다. 또 클래스 안에 __init__ 라는 초기화 메서드라고 있는데 이 메서드는 클래스의 객체가 만들어질 때 자동으로 호출돼서 그 객체의 속성을 정해줄수 있다. 즉 자바에서 생성자 역할을 하는 메서드이다. [예제1] class Human: def __init__(self, name, age): self.name = name self.age = age def info(self): print("나의 이름은", self.name, "나이는", self.age, "입니다") human1 = Human("짱구", "10") ..
파이썬 반복문 문법은 다른 언어와 다를게 없지만 특이하게 for문에서 for ~ else문이 있다. for ~ else문은 for문이 정상적으로 돌았을 경우에만 else문을 실행시킨다. for문 안에서 break로 나왔을 경우에는 실행을 안한다. 파이썬은 range() 함수를 이용해서 for문을 돌릴수 있는데 많이 사용한다. range() 함수는 순차적으로 정수리스트를 만들어 준다. range(10) 은 0부터 10 미만의 숫자를 포함하는 range 객체를 만들어 준다. 시작 숫자와 끝 숫자를 지정하려면 range(시작 숫자, 끝 숫자) 형태를 사용하는데, 이때 끝 숫자는 포함되지 않는다. [실습] ''' 반복문(for, while, break, continue) ''' # range 함수는 순차적으로 ..
파이썬에서는 들여쓰기도 하나의 문법이다 그래서 if문에 속하는 모든 문장에 들여쓰기(indentation)을 해주어야 한다. 만약에 들여쓰기를 안하면 if문에 속하는 문장이 아니다. 그리고 여러 문장을 수행할때는 들여쓰기 너비가 똑같아야 한다. 만약에 수행할문장2개가 있는데 위에 문장은 스페이스바4칸인데 아래 문장은 스페이스바3칸이면 에러가 발생한다. 가장 기본적으로는 들여쓰기를 할 때 스페이스바 4칸을 사용한다. [실습] # 조건문 다음에 콜론(:)이 무조건 필요하다. # 비교연산자는 (, ==, !=, >=, 0: if xfalse, false->true if x>0 and x=8: print("B") else: print("C") cs 참고사이트 : 점프 투 파이썬 참고강의 : 파이썬 알고리즘 문제..
자바를 기본적으로 할줄 알고 Python을 알고리즘 풀이용으로 공부하고 있기 때문에 Python만의 문법을 익히고 있는 중이다. 파이썬에서 변수를 선언할때 자바스크립트와 같이 Type을 정해줄 필요가 없다. 값에 따라 Type이 정해진다. 변수명 규칙은 다른 언어들과 같다고 보면된다. 아래 예제를 통해 변수 선언방식과 값 교환 방법 그리고 출력방식에 대해 알아보자 ''' 변수명 규칙 1) 영문과 숫자, _ 로 이루어진다. 2) 대소문자를 구분한다. 3) 문자나, _ 로 시작한다 4) 특수문자를 이용하면 안된다.(&, %등) 5) 키워드를 사용하면 안된다.(if, for등) ''' # 변수명은 대소문자를 구분한다. # print 함수에서 , 로 구분하면 출력때 자동으로 한칸 띄어진다. a=1 A=2 pri..
처음 깔리는 IDLE는 단순히 파이썬 실습용이여서 개발할때는 사용하지 않는다. 개발용 툴 IDE로는 pycharm이나 VSCode를 이용한다. 나는 단순히 알고리즘 공부를 하기 위해 파이썬을 사용하기에 VSCode로 충분해 VSCode 사용하기로 했다. VSCode는 아래 링크를 들어가 "Download for Windows"을 클릭하면 다운 받을 수 있다. https://code.visualstudio.com/ VSCode를 다 다운받고 들어가서 윈쪽 Extensions 아이콘을 클릭한다. 그리고 Python을 검색해 Python을 install 하면 된다. 다 다운받았으면 File -> Open Folder를 클릭해서 *.py 파일이 있는 폴더를 오픈 하면 폴더 안에 있는 파일들이 목록에 나온다. c..
Python을 다운받고 기본 편집창 이용 방법 설명 아래 사이트에서 윈도우용 Python 언어 패키지를 다운 받을 수 있다. https://www.python.org/downloads/ Download Python The official home of the Python Programming Language www.python.org "Download the latest version for Windows" 밑에 최신버전을 다운받을 수 있다. 설치화면에서 "Add Python 3.8 to PATH" 꼭 체크를 하고 Install Now 를 클릭해 설치를 진행하면 된다. 다 설치하면 최근에 추가한 앱에 설치된 Python 파일들이 보인다. 파일위치를 열면 "IDLE" 파일이 있는데 실행하면 Shell 창이..
JDK 환경변수 설정 이유 Java 깔고 나서 바로 환경변수 설정을 바로 해야 한다. 왜냐하면 cmd창에서 javac(*.java-> *.class), java(*.class 실행) 등과 같은 툴을 사용하려면 툴이 있는 경로로 이동해서 실행을 해야 한다. 그래서 그러지 않고 아무 경로에서나 실행할 수 있게 하기 위해서 환경변수 path에 툴 경로를 지정해줘야 한다. 만약에 환경변수가 지정 돼 있지 않다면 java파일을 컴파일 하고 실행시키려면 툴이 있는 경로에 파일을 둬야 한다. 그러지 않고 java파일이 어느경로에 있던 상관없이 컴파일 하고 실행시키려고 환경변수 path에 아래 툴 경로를 지정해 주는것이다. 이제부터 Java를 다운받고 나서 환경변수를 세팅해보자. Java 다운받는 방법 모르는 사람은 ..
네트워킹이란 두 대 이상의 컴퓨터를 케이블로 연결하여 네트워크 를 구성하는 것을 말한다. 자바에서 제공하는 java.net 패키지를 사용하면 이러한 네트워크 어플리케이션의 데이터 통신 부분을 쉽게 작성할 수 있다. 클라이언트/서버 클라이언트/서버 는 컴퓨터간의 관계를 역할로 구분하는 개념이다. 서버는 서비스를 제공하는 컴퓨터 이고, 클라이언트는 서비스를 사용하는 컴퓨터가 된다. 하드웨어의 사양에 관계없이 서비스를 제공하는 소프트웨어가 실행되는 컴퓨터를 서버라 한다. 서비스는 서버가 클라이언트로부터 요청받는 작업을 처리하여 그 결과를 제공하는 것을 뜻한다. 서버가 서비스를 제공하기 위해서는 서버프로그램이 있어야 하고 클라이언트가 서비스를 제공받기 위해서는 서버프로그램과 연결할 수 있는 클라이언트 프로그램이..
스프링의 정의 스프링의 정의를 통해 스프링이 어떤 것인지 큰 그림으로 이해하려고 노력해야 한다. 따라서 정의를 이해하려는 노력은 스프링을 깊이 이해하고 그 가치를 파악하는 데 도움이 될 것이다. 스프링의 여러가지 정의가 있지만 가장 대표적인 정의는 이렇다. "자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크" 정의를 봐도 스프링이 무엇인지 감이 바로 오지 않을것이다. 하지만 이 정의에 스프링의 중요한 특징이 잘 담겨 있다. 그래서 이 정의를 하나씩 풀어봐야 한다. 애플리케이션 프레임워크 프레임워크란, 특정한 목적에 맞게 프로그래밍을 쉽게 하기 위한 약속 이다. 일반적으로 라이브러리나 프레임워크는 특정 업무 분야나 한 가지 기술에 특화된 목표를 가지고 만들어진다. 그래서 프레임..
정수 자바의 정수를 표현하기 위한 자료형은 int, long 이다. (byte, short등도 있지만 거의 사용하지 않는다.) int와 long의 차이는 표현할 수 있는 숫자의 범위이다. 다음과 같이 사용한다. int age = 10; long countOfStar = 8764827384923849L; long 변수에 값을 대입할 때는 대입하는 숫자 값이 int 자료형의 최대값인 2147483647 보다 큰 경우 8764827384923849L과 같이 L 접미사(또는 소문자 l, 소문자 'l'은 숫자 1과 비슷하게 보이므로 추천하지 않는다.)를 붙여 주어야 한다. 만약 'L'과 같은 접미사를 누락하면 컴파일 에러가 발생한다. 실수 자바의 실수를 표현하기 위한 자료형은 float, double 이다. fl..
https://www.oracle.com/technetwork/java/javase/downloads/index.html Java SE - Downloads | Oracle Technology Network | Oracle Which Java package do I need? Software Developers: JDK (Java SE Development Kit). For Java Developers. Includes a complete JRE plus tools for developing, debugging, and monitoring Java applications. Administrators running applications on a server: Server www.oracle.com 링크를..
추상클래스에서 추상이라는 것은 완전히 구체화 되지 않은 것이다. 예를 들어 Animal이라는 클래스를 사용할때 누구는 Cat 누구는 Dog 이런식으로 구체화된 클래스를 만들어낼 것이다. Animal 클래스는 어떤 동물인지 구체화 되지않았기 때문에 추상클래스가 될수 있다. 프로그램상에서 Abstract Class를 사용하는 이유는 Animal을 강제로 구체화된 클래스로 만들라는 이유이다. Animal자체를 new Animal() 해서 인스턴스화 시키는걸 미연에 방지시키는 것이다. 그러면 강제로 프로그래머들은 Animal 클래스를 상속받아 어떤 동물인지 구체적으로 재정의하게 해줄것이다. 인터페이스는 단지 모형만 재정의 해준것이다. 변수와 함수를 정의해놓지 않기 때문에 인터페이스는 상속받는게 아니라 구현(Im..