본문 바로가기

전체 글142

자바 추상 클래스(abstract) 추상 클래스 추상 클래스는 하나 이상의 추상 메소드를 포함하는 클래스 이고, 추상 메소드는 선언은 되어 있지만, 코드가 구현되어 있지 않은 메소드이다.추상 메소드를 사용하는 이유는 자손 클래스에서 코드를 반드시 구현하도록 강효하기 위함이 있다.반드시 구현해야 하기 때문에 모든 서브 클래스에 공통된 메소드가 있을 경우 추상 클래스를 이용하면 된다.추상 메소드를 사용하기 위해서는 해당 클래스도 추상 클래스로 만들어야 하며 메소드는 내용이 없어야 한다.추상 클래스는 일반 메소드도 포함 가능하며, 상수, 변수 필드 포함이 가능하다. abstract class Animal{ //추상 클래스abstract void talk(); //추상 메소드}; class Dog extends Animal{void talk(){.. 2019. 2. 21.
자바의 접근 지정자 자바의 접근 지정자로는 Public, Protected, Default, Private가 있다. PUBLIC Public말 그대로 공개되어있다. 접근 지정자를 Public으로 설정할 경우 어디서든 접근이 가능하다. PROTECTED 다른 패키지를 제외한 같은 클래시, 같은 패키지, 다른 패키지의 서브 클래스에서 접근이 가능하다. DEFAULT 접근 지정자를 입력하지 않을 경우 같은 클래스와 같은 패키지에서만 접근이 가능하다. PRIVATE 동일 클래스 내에서만 접근이 가능하다. 접근 지정자 같은 클래스 같은 패키지의 클래스 다른 패키지의 서브 클래스 다른 패키지의 클래스 Public O O O O Protected O O O Default O O Private O 2019. 2. 20.
객체 지향 프로그래밍(OOP)이란 객체 지향 프로그래밍(OOP : Object-Oriented Programming)은 컴퓨터 프로그래밍 패러다임 중 하나이다. 프로그램을 단순히 데이터와 처리 방법으로 나누는 것이 아니라, 프로그램을 수많은 '객체'라는 기본 단위로 나누고 이 객체들의 상호작용으로 서술하는 방식이다. 객체 지향 프로그래밍의 특징은 추상화, 캡슐화, 다형성, 상속성가 있다. 추상화(Abstraction) 객체 지향에서 추상화란 클래스를 만드는 것이라고 볼 수 있다. 추상화란 공통의 속성이나 기능을 묶어 이름을 붙이는 것이다. 위 사진에서 볼 수 있듯이 피카츄, 파이리, 꼬부기들의 공통된 특징을 묶어 포켓몬으로 추상화 할 수 있다. 캡슐화(Encapsulation) 캡슐화란 같은 속성과 행위를 하나로 묶어 실제 구현 내용 일.. 2019. 2. 14.
자바의 특징 1. 객체 지향 언어 객체 지향 언어는 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위(객체)로 파악하고자 하는 것이다. 유연하고 변경이 용이하기 때문에 대규모 소프트웨어 개발에 많이 사용된다. 2. 운영체제에 독립적 자바는 운영체제 위가 아닌 JVM위에서 동작하기 때문에 어떠한 운영체제에서도 JVM만 설치되어 있다면 자바 어플리케이션을 사용할 수 있다. 3. Garbage Collection Garbage Collection은 우리말로 해석하면 쓰레기 수집이다. Garbage Collection은 동적으로 할돵된 메모리 영역 중 더 이상 필요없는 영역을 해제하는 기능이다. 자바에는 Garbage Collection가 있어 자바가 알아서 메모리를 관리해 준다는 장점이 있다.. 2019. 2. 13.
클래스와 객체 클래스와 객체에 대하여 객체지향 프로그래밍을 시작하기 전 개념을 확실히 잡고 가야 한다고 생각한다. 객체지향 프로그래밍은 실제 세계가 객체들로 구성되어 있는 것과 비슷하게 소프트웨어도 객체 단위로 작성하는 방법이다. 객체(Object) 객체는 실제로 존재하는 구체적인 대상 이며, 다른 객체와 구분되어 유일하다. 객체는 상태와 행위를 가진다. 클래스(Class) 클래스는 이러한 동일한 유형을 가진 객체들을 추상적으로 표현한 것이다. 객체와 클래스는 다르지만 만약 표현하려는 객체가 세상에 단 하나 밖에 존재하지 않다면 객체는 클래스다 라고 생각 할 수도 있지만, 객체와 클래스는 다르다. 추상적인 개념인 클래스로부터 실체인 객체를 생성하는 과정을 인스턴스화라고 하고 인스턴스화 과정에서 생성된 실제 객체를 인스.. 2019. 2. 12.
자바의 변수와 자료형 변수 프로그래밍에서 아직 알려지지 않거나 어느 정도까지만 알려져 있는 양이나 정보에 대한 상징적인 이름이다. 즉, 변수란 숫자나 문자와 같은 값을 저장할 수 있는 메모리 공간을 의미하며 변수의 값이 변경될 수도 있다. 자바의 변수 이름에는 규칙이 있다. 변수의 이름에는 길이 제한이 없다. 변수명은 문자나 '_', '$' 시작되어야 하며, 숫자로 시작할 수는 없다. 자바의 변수명은 대소문자를 구분한다. 변수명의 길이에는 제한이 없다. 변수명에 공백이 포함될 수 없다. 예약어는 변수명으로 사용할 수 없다. ex) int, char 연산자는 변수명에 넣을 수 없다. 자료형 Data Type 저장공간을 효율적으로 사용하기 위해서 데이터 타입이라는 것이 존재한다. 자바에서 기본적으로 제공하는 자료형은 8가지로 기.. 2019. 2. 10.
리눅스 파이썬과 mariadb 연동 1. Mariadb 모듈 설치 Mariadb는 Mysql과 호환이 되기 때문에 PyMySQL을 설치하면 된다. # pip install PyMySQL 2. Python Mariadb 연동 소스 2-1 fetchall 사용(데이터를 한번에 모두 가져옴) import pymysql # mariadb연동을 위한 모듈 import # 컨넥트를 미리 만들어준다. # 접속할 host, uesr, password, db, 인코딩 입력 connect = pymysql.connect(host='localhost', user='root', password='P@ssw0rd', db='testDB', charset='utf8') #커서 생성 cur = connect .cursor() # sql문 실행 sql = "selec.. 2018. 12. 2.
XSS와 CSRF차이 XSS(Cross-Site Scripting) 크로스 사이트 스크립팅은 입력값을 제대로 검증하지 않아 발생하는 공격으로 꾸준히 OWASP TOP10에 올라와 있다.웹서버에 악성 스크립트를 삽입하여 사용자의 쿠키와 세션 값 탈취, 악성 사이트로 이동 등의 공격을 한다. CSRF(Cross-Site Request Forgery) 사이트 간 요청 위조공격CSRF는 XSRF라고도 하며, XSS와 마찬가지로 입력값을 제대로 검증하지 않아 발생하는 공격으로 사용자가 자신의 의지와는 상관없이 게시글 수정,삭제, 패스워드 변경등을 하게 만드는 공격이다.CSRF 공격의 경우 메일이나 게시판 글을 이용하여 공격 코드를 삽입하여 공격을 한다. XSS와 CSRF의 차이점 xss의 경우 공격대상이 이용자이고, CSRF의 경우는.. 2018. 11. 14.
HFS계정 만들기 Hps 계정만들기 Properties 클릭 New account클릭 후 원하는 계정명과 패스워드를 입력하여 만든다. 필요한 계정들을 만들어 주면 된다. Ex) readOnly : 다운받을수만 있는 계정 RWuser : 다운받고 업로드 할 수 있는 계정 Admin : 업로드와 다운로드가 가능하고, 삭제까지 할 수 있는 계정 2018. 10. 23.