본문 바로가기

728x90
반응형

Language

(57)
[Java] 생성자 오버로딩 생성자란? ,Constructor 생성자(Constructor)는 객체를 생성할 때 최초로 실행되는 메소드의 일종입니다. 코드를 통해 이해하자면 다음과 같습니다. "MyClass1"이라는 클래스를 하나 생성하고 이 클래스와 이름이 같은 메소드인 "public MyClass1()"이라는 메소드를 생성합니다. 바로 이 클래스의 이름과 동일한 메소드인 MyClass1() 이라는 메소드가 생성자인 것입니다. 이 생성자를 살펴보시면 Parameter로 두 개의 값을 받고 있습니다. 그리고 밑의 "this" 라는 Keyword를 통해 무엇인가 값을 할당하고 있습니다. "this"라는 키워드는 MyClass1 이라는 클래스의 멤버 변수에 접근할 수 있게 만들어주는 Keyword 입니다. 그리고 그 밑으로 Parame..
[Java] 오버로딩 (OverLoading) 오버로딩, OverLoading 오버로딩이란 메소드 이름을 동일하게 하면서 매개변수 값을 다르게 주어 여러개의 메소드를 구현할 수 있는 것입니다. 왜 쓸까? 절차지향에서는 기능별로 메소드를 따로따로 만들어야 합니다. 만약 정수형 값을 인자로 받는 함수는 정수형 값만 리턴시키고 실수형 값을 인자로 받는 함수는 실수형 값만 리턴시킵니다. 이를 보완하기 위해 객체지향에서는 매개변수의 타입이 각각 달라도 동일한 이름의 메소드를 갖게 만든다면 메소드를 구현할 때 매개변수의 값만 다르게 설정해서 메소드를 호출하면 그 메소드를 만든 정의대로 기능을 쓸 수 있습니다. 코드를 통한 오버로딩의 이해 오버로딩의 이해를 돕기 위해 아래의 코드와 같은 기준이 되는 메소드 하나를 만들어봅시다. 이 메소드의 보자면 반환값 int형..
[Java] 클래스 Object, 객체 처음 객체를 배울 떄 흔히 붕어빵에다가 많이 비유하곤 합니다 하지만 제 경우에는 이 비유가 더 어려웠습니다. 그래서 제가 이해한 객체에 대한 개념은 "설계도를 통해서 만들어진 특정 행위를 가지고 있는 것" 이라고 말씀드리고 싶습니다. "설계도"란 곧 클래스이며 "특정 행위"라는 것은 이 행위를 하기 위한 변수의 선언이나 함수의 기능들이라고 이해했습니다. 그런데 사실 코딩을 하다보면 어떤 개념보다는 그냥 코드를 통해서 이해하기가 더 쉬운 경우가 있는데 객체지향적 코딩이 바로 그런 것이라고 생각됩니다. 인스턴스 & 스태틱 변수 위에서 언급한 변수들을 다음과 같이 초기화 합시다. 인스턴스(Instance) 변수는 아래와 같이 '인스턴스화'를 시킨 뒤 호출이 가능합니다. '인스턴스화' 라는 ..
0은 False이다 !! 개요 youtube를 보던 중에 None 체크에 대해 설명하던 영상을 보게 됐는데 설명이 아주 직관적으로 다가와서 적어두고자 한다. Description class TodoItem: def __init__(self, state=None): self.state = state if state else -1 def __str__(self): if self.state == -1: return "UNDEFINED" elif self.state == 1: return "UNSET" else: return "SET" 이 class의 생성자를 보면 state 값이 존재할 때 입력된 state를 그밖에 나머지는 -1로 self.state 변수를 초기화한다. 이후 __str__ 매직 메서들 통해 결과를 출력할 수 있게 되..
pyinstaller의 EXE파일, 소스 코드 열어보기 해당 포스팅은 예전 사용하던블로그(klonic.tistory.com)에서이전한 글입니다.  목차 " data-ke-type="html">HTML 삽입미리보기할 수 없는 소스 개요pyinstaller는 파이썬으로 작성된 .py 확장자를 가진 파이썬 소스 파일을 .exe 파일로 변환할 때 쓰는 도구입니다.pip install pyinstaller로 설치가 가능하고 설치가 되고 나면 cmd나 terminal에서 pyinstaller라는 명령어라는 명령을 내림으로써 사용이 가능합니다.문득 이렇게 exe 파일로 변환된 프로그램을 다시 .py로 변경할 순 없을까라는 생각이 들었습니다. Tool Setup필요한 도구는 아래와 같습니다.1. HxD   - 파일의 16진수 값을 보기 위한 헥사 에디터   - http..
pyJWT : encode /decode / registerd claim names install $ pip install pyjwt install pyjwt로 설치하자. jwt를 사용하기 위해 설치하는 pyjwt의 공식문서는 https://pyjwt.readthedocs.io/en/stable/ 이 주소이다. token 생성 jwt를 생성하려면 jwt.encode() 함수를 사용하자. 필요한 parameter는 3개이다. 'payload', 'key', 'algorithm' PARAMETER_NAME 설명 payload jwt 안에 포함시킬 내용을 뜻한다. key jwt를 생성하는 필요한 암호화 키를 뜻한다. algorithm jwt를 생성하는 어떤 암호 알고리즘을 적용할것인지를 뜻한다. import jwt token = jwt.encode( payload={"key1": "value..
Python의 Strip()은 재귀 호출 프로그래머스의 Level 01 문제 중 `이상한 문자열 만들기`에 도전했다. Level 01 임에도 불구하고 3~4시간을 삽질하며 이런저런 시도를 해봤다. for idx in s.split(" "): for index, value in enumerate(idx): if index % 2 == 0: answer += value.upper() else: answer += value.lower() answer += " " return answer.rstrip() 문제 설명을 보고 위와 같이 로직을 세우고 제출했다. 결과는 실패다. 문자열에 + 연산을 해주는 게 문제일까? 뭐가 문제일까 하면서 answer를 string 객체가 아닌 list로 만들고 append를 통해서도 사용해보고 하면서 enumerate 보..
[Python][Excel] : Sheet to file Excel Sheet 명으로 파일 추출 엑셀에 시트가 여러 개 있을 때 시트명으로 파일을 추출해주는 코드입니다. openpyxl은 built-in이 아니므로 pip install openpyxl을 이용해 패키지를 다운로드 해주셔야합니다. Code Snippet import openpyxl file_path = "./Example01.xlsx" wb = openpyxl.load_workbook(file_path) sheets = wb.sheetnames save_sheet_name = "" # range의 '3'은 3번째 시트를 가리킴 for x in range(3,len(sheets)): wb = openpyxl.load_workbook(file_path) sheets = wb.sheetnames sav..

728x90
반응형