본문 바로가기

전체 글

(88)
[Java] 객체 지향 프로그래밍 클래스 인스턴스 public class Animal { } 위 형태가 클래스이다. 객체 지향 프로그래밍에서 변수와 메소드를 정의하는 일종의 틀이다. Class(클래스) 클래스는 객체를 생성하기 위해 사용한다. 클래스에는 서로 연관된 변수와 메소드를 모아놓는 그릇이다. Object(객체) 사전적 의미는 "실제로 존재하는 것" 이다. 클래스에 선언된 것이다. Instance(인스턴스) 클래스로부터 만들어진 객체를 그 클래스의 인스턴스라고 한다. 클래스로부터 객체를 만드는 과정을 클래스의 인스턴스화라고 한다. 인스턴스를 객체라고 말해도 무관하다. 쉽게 정리해서 클래스는 집을 만드는 설계도이고 설계도로 만든 집을 인스턴스 할 수 있다. 클래스로 만든 모든 것을 객체라고 부른다. 인스턴스는 객체라고 말할 수 있다. Object(..
[Java] 접근 제어자 (Access level modifier) 변수나 메소드를 선언할 때 접근을 제어할 수 있는 modifier를 설정할 수 있다. 이러한 접근 관련 modifier를 통해서 객체지향 언어의 중요 특성 중 하나인 캡슐화(encapsulation)와 정보 숨김(information hiding)을 구현할 수 있다. 자바의 4가지의 접근 제어자가 있다. private default protected public private -> default -> protected -> public 순으로 보다 많은 접근을 허용한다 - private 접근 관련 modifier 중에서 가장 권한 범위가 좋은 modifier로 자기 자신 클래스 내에서만 이용할 수 있는 멤버를 선언할 때 사용한다. - (default) 접근 관련 modifier를 지정하지 않은 경우이다...
[Java] Java의 동작 원리와 순서 1. 개발자가 소스코드를 작성한다. 2. 컴파일을 해서 바이트코드로 변환시킨다. 확장자명이 class로 바뀐다 3. JVM을 통해서 기계어로 바뀌어 최종적으로 컴퓨터에서 실행을 시킨다. 위 이미지에서 알 수 있는 것은 class 파일에 JVM만 있다면 어느 환경에서도 실행이 가능하다는 점이다. 자바는 리눅스든 윈도우든 유닉스 든 간에 JVM이 설치되어 있다면 실행이 가능하다는 점이 강점인 것 같다. 또한 알 수 있는 것은 JVM이 내부적으로 어떤 동작을 하는지가 Java동작에 있어서 핵심이란 것도 알 수 있다. 이러한 점을 봤을 때 궁금증이 생기는 것은 JVM이 어떻게 동작하는 지다. Java Virtual Machine 동작원리 Java Virtual Machine JVM , 자바 가상 머신)은 자바 ..
[SQL 기초] 관계형 데이터베이스의 꽃 Join 사용 Join은 두 개 이상의 Table을 합쳐 효율을 높이는 작업이다. 이 두개의 Table을 합치는 작업을 할것이다. SELECT * FROM topic left Join옵션 join author ON topic.author_id = author.id select * FROM topic left join author ON topic.author_id = author.id; 필자는 위와 같이 입력했다. 그 결과 Table은 위 이미지처럼 각각 topic Table의 author_id가 author Table의 id와 매칭 된 모습을 확인할 수 있다.
[PyQt] pyuic5 사용 ui 파일을 -> py 파일로 변환 PyQt5를 설치했다는 과정 하에 진행된다. pyuic5가 있는 디렉터리를 환경변수 설정을 해야 한다. 경로는 각자 파이썬 폴더에 Script라는 폴더를 환경변수로 설정해준다. C:\Users\"사용자 이름"\AppData\Local\Programs\Python\Python38-32\Scripts 보통 위 경로가 일반적일 것이다. 위 경로를 환경변수 설정을 해줘야 pyuic5 cmd창에서 따로 경로지정을 하지 않아도 실행된다. ui가 있는 폴더에서 경로를 나타내는 텍스트 창에 cmd를 입력하면 그 따로 커맨드를 입력하지 않아도 해당 경로로 설정이 된다. cmd를 실행하면 위 경로로 잡혀있는 걸 확인할 수 있다. pyuic5 -x 파일명.ui -o 파일명.py 위 명령어를 실행하면 Python 파일을 확인..
[DB] 관계형 데이터베이스 관계형 데이터베이스(RDB)는 기존에 데이터베이스를 작성하던 방식은 Table 하나의 데이터들을 모두 입력하여 효율을 낮아지는 기법을 사용했다. 이번에는 기존에 있던 Table에 중복되는 데이터들을 하나의 Table로 새로 정의하여 Table에 효율을 높이는 작업을 할것이다. 하지만 단점도 존재하는데 직관적이지가 않다. Table을 봤을때 위 그림처럼 팀코드만 보고 팀명과 연고지를 알 수 있는가? 물론 SQL을 통해서 서로 다른 Table을 붙일 수 있다. 그것을 Join 이라고 말한다.
[SQL 기초] DELETE 문 DELETE는 CRUD에서 D(Delete)에 해당된다. Table에 데이터를 삭제하는 구문이다. 가장 먼저 SELECT 문을 타이핑해서 기존에 Table이 어떻게 구성되었는지 확인한다. DELETE FROM 테이블명 WHERE 필드명 = '조건'; 확인 후에 삭제하고 싶은 레코드를 선택해 DELETE 구문을 통해 삭제를 한다. 위 cmd 창에 id 4번이 모두 삭제가 된 걸 확인할 수 있다. UPDATE와 마찬가지로 WHERE문으로 정확히 뭘 삭제할지 지칭해주지 않으면 테이블에 모든 값들이 삭제되기 때문에 주의해서 사용해야 한다.
[SQL 기초] UPDATE 문 UPDATE는 CRUD에서 U(Update)에 해당된다. Table에 데이터를 수정하는 구문이다. 가장 먼저 SELECT 문을 이용해서 기존에 Table이 어떻게 구성되었는지 확인한다. 확인 후에 수정하고 싶은 레코드를 선택해 UPDATE 구문을 통해 수정을 한다. 위 cmd 창에 "data administrator" -> "data engineer"로 바뀐 것을 확인할 수 있다. UPDATE table명 SET 컬럼명='수정문' WHERE id=id값; 주의할 점은 WHERE를 설정을 안할시에는 큰 문제가 된다. 모든 값들이 자기가 수정한 값으로 수정되게 된다. 기업이나 보험사같은 수천 개 수만 개에 데이터를 관리하는 업체에서는 백업을 해두겠지만 WHERE문을 잘 못쓸 시 그야말로 재앙이다.