Small Grey Outline Pointer soyoung-
본문 바로가기
Java :: 내부클래스 (inner class) 내부 클래스 (ineer class) 클래스 내부에 클래스를 선언하여 외부 클래스의 필드 접근에 용이하기 위함 내부 클래스의 필드를 사용하기 위해서는 외부 클래스에서 내부 클래스를 객체화 해야 한다 외부클래스명 객체명 = new 외부클래스 생성자(); 외부클래스명.내부클래스명 객체명 = 외부클래스객체명.new 내부클래스 생성자(); [내부 클래스를 사용하는 이유] -캡슐화 A클래스에서 b라는 작업이 자주 쓰이고, 이 작업은 B클래스를 만들어야 쉽게 관리할 수 있음 하지만 다른 클래스에서 b작업이 필요없거나, B클래스를 외부에 노출시키고 싶지 않을 때 사용한다 내부 클래스는 GUI(Graphic User Interface) 개발시 많이 사용 된다 예를들어 a라는 버튼과 b라는 버튼이 있다면, 두 버튼의 기.. 2022. 7. 16.
JavaScript :: 구조 분해 할당 Destructuring assignment 구조 분해 할당 구문은 배열이나 객체의 속성을 분해해서 그 값을 변수에 담을 수 있게 하는 표현식 배열 구조 분해 let [x,y] = [1,2]; console.log(x); // 1 console.log(y); // 2 let users = ['Mike', 'Tom', 'Jane']; let [user1, user2, user3] = users; console.log(user1); // 'Mike' console.log(user2); // 'Tom' console.log(user3); // 'Jane' //문자열을 스플릿으로 자르기 let str ="Mike-Tom-Jane"; let [user1, user2, user3] = str.split('-'); .. 2022. 7. 15.
JavaScript :: Symbol property key : 문자형 const obj={ 1: '1입니다.', false:'거짓' } Object.key(obj); //["1","false"] obj['1'] //"1 입니다." obj['false'] //"거짓" Symbol 은 유일한 식별자를 만들 때 사용한다 Symbol : 유일성 보장 const a = Symbol(); // new를 붙이지 않는다 const b = Symbol(); console.log(a) console.log(b) console.log(a===b) //일치연산자로 확인해보면 false가 나온다 console.log(a==b) //자료형은 달라도 내용만 일치하면 되는 동등연산자도 false가 나온다 property key : 심볼형 const id = Symbo.. 2022. 7. 15.
python :: 객체 지향 프로그래밍 객체 지향 프로그래밍(Object Oriented Programing) 절차지향 : C 객체지향 : Java C# C++ 프로토타입 객체지향 : JavaScript 클래스와 객체 자동차 설계도 설계도 기반으로 만들어진 실제 자동차 객체 이전의 프로그램 # %% test 01 fa_age =20 #아빠 나이 정보, 현재 20살 def up_fa_age():# 이 함수를 호출하면 아빠 나이 올라감 global fa_age fa_age += 1 def get_fa_age(): # 이 함수 호출하면 아빠 나이 반환 함 return fa_age def main(): print("2022년...") print("아빠:", get_fa_age()) print("2023년...") up_fa_age() #아빠 나이 1.. 2022. 7. 14.
python :: 전역변수와 지역변수 # %% 전역변수와 지역변수 def func(n): # n : 매개변수 lv=n+1 # lv : 지역변수: 함수안에 선언되어진 변수, 함수를 벗어나면 지역변수는 소멸 된다 print(lv) func(12) cnt=100 #전역변수 cnt +=1 def func(): print(cnt) func() 13 101 전역변수와 지역변수의 차이 # %% test2 cnt = 100 def func(): cnt =0 print(cnt) func() print(cnt) 0 #func() 지역변수 100 #cnt 전역변수 전역변수의 cnt와 지역변수의 cnt 는 다른 값이다 하지만, 굳이 전역변수와 지역변수의 변수 이름을 똑같이 선언하는 경우는 없다! test3 위의 함수에서 전역변수의 cnt 값을 바꾸고 싶다면 # .. 2022. 7. 14.
python :: dictionary 기초예제/ 학생관리 프로그램 # dict Task # 등급을 입력 받아서 학점을 출력해주는 프로그램 # 2입력시 B학점입니다 출력 # 1~5등급, A~F학점 (E학점) scoreDict={} # 0 1 2 3 4 # A B C D F (i가 4일때는 e를 건너뛰고 f로 가야하기 때문에 조건 필요) for i in range(5): scoreDict[i+1] = chr(i+66) if i == 4 else chr(i+65) print(scoreDict) {1: 'A', 2: 'B', 3: 'C', 4: 'D', 5: 'F'} # E를 건너뛰고 F가 나오도록 설정 scoreDict={} # 0 1 2 3 4 # A B C D F (i가 4일때는 e를 건너뛰고 f로 가야하기 때문에 조건 필요) for i in range(5): score.. 2022. 7. 14.
python :: Dictionary 딕셔너리 항상 한 쌍으로 저장되어 관리 한다 len() 를 사용하면 한 쌍을 1로 카운트 한다 키 값은 중복이 될 수 없으며 값은 중복이 가능하다 키 값을 주면 그 키의 짝꿍 값을 가지고 온다 dict 선언 dict명 = {키 : 값, 키 : 값, ....} dict 사용 -추가(키 값이 없을 때) dict명[키] = 값 //아예 새롭게 추가하는 경우 -수정(키 값이 있을 때) dict명[키] = 값 -삭제(한 쌍이 삭제 된다) del dict명[키] -검색 키 in dict명 : 키 값이 있으면 참 키 not in dict명 : 키 값이 없으면 참 key 분리 list(dict명.keys()) Value 분리 dict명.values() 딕셔너리는 리스트나 튜플처럼 순차적으로(sequential) 해당 요솟값을 .. 2022. 7. 12.
UI UX UI 용어 -와이어프레임(wireframe) 전체 밑바탕 레이아웃 잡는 과정 어디에 어떤 내용을 넣을지 구체화 해서 작성하는 게 좋다. 와이어프레임 단계에 컬러는 넣지 않는다 색, 글꼴 또는 내용에 대한 세부 정보는 없는 대신 제품의 구조와 기능에 초점을 맞춤 -워크 플로우(workflow) 작업의 흐름 -프로토 타입 (proto type) 시제품 출시 전의 모형 프로토타입은 사용자의 피드백을 얻고, 개선하며, 프로젝트를 개발 팀에 넘기는 최종 단계에서 많이 사용 -드롭다운 (drop down) -체크박스 / 라디오 버튼의 차이 체크박스는 중복 선택이 가능 메뉴 1. 벤토메뉴 2. 도너메뉴 3.케밥메뉴 4.미트볼메뉴 5.햄버거메뉴 모달 팝업같은 창 뱃지 메일함 어플 위에 떠있는 숫자표시의 뱃지 상태바 핸.. 2022. 7. 12.
Javascript :: 콜백 함수/동기와 비동기 콜백 함수 정의 : 함수에 파라미터로 들어가는 함수 코드를 통해 명시적으로 호출하는 함수가 아니라, 단지 함수를 등록하기만 하고 어떤 이벤트가 발생했거나 특정 시점에 도달했을 때 시스템에서 호출 되는 함수 용도 : 순차적으로 실행하고 싶을 때 사용 안정적으로 확실하게 특정코드를 순차적으로 실행할 수 있다 남이 쓸 코드를 만들 때 유용 document.querySelector('.button').addEventListener('click', function(){ //버튼 누르면 이 코드 실행해주세요 :: .addEventListener }) .addEventListener // 함수 function(){ // .addEventListener 의 파라미터로 함수 넣음 => 콜백 함수 }) setTimeout.. 2022. 7. 11.
파이썬 while문 연습예제 while문 연습예제 # %% 1부터 시작해서 1씩 증가 # 3 x ? / 2 = 63 이 때 ?를 구하기, 저장된 값 42를 출력하기 from random import randrange from tkinter import N num=0 r=0 while r!=63: num+=1 r= 3*num/2 print(num) # %% # 6과 45의 최소공배수를 구하는 코드 while lcm = 0 n=45 while True: #계속 반복한다 if n%6==0 and n%45==0: lcm=n break n+=1 print(lcm) # %% 42와 120의 최대공약수 구하는 코드 while루프로 작성 gcm=0 n=42 while True: if 42%n==0 and 120%n==0: gcm=n break n.. 2022. 7. 5.