메소드 오버라이딩 부모클래스와 자식클래스가 상속관계일 때 자식클래스가 부모클래스에서 선언된 형태로 메소드명으로 구현하는 것이다. Parents.java package overriding; public class ParentClass { public ParentClass(){ System.out.println("ParentClass Constructor"); } public void printName(){ System.out.println("ParentClass Name"); } } ChildClass.java package overriding; public class ChildClass extends ParentClass{ public ChildClass(){ System.out.println("Chil..
서론 C로 언어를 입문하고 나서 자바를 배울 때 객체, 인스턴스, 메소드 용어가 나오면서 혼동 되었다. 나중에 혼동되어도 개념을 빨리 잡기 위해 글을 정리하려고 한다. 짧은 글이지만 잘못된 글이 있으면 알려주시기 바랍니다. (어쩌피 볼사람도 없겠지만) 클래스 "객체를 만들기 위한 설계도 또는 틀" 이라고 생각하면 되겠다. 예를들어 겨울철에 팥, 바닐라, 초코 붕어빵을 만든다고 하자. 밀가루와 팥 또는 바닐라, 초코 등 재료가 각기 다른 것으로 만들겠지만 붕어빵이라는 객체를 만들기 위해서 붕어빵 틀이 있어야 하고 붕어빵 틀은 클래스라 할 수 있다. 클래스는 객체를 생성하는데 사용된다. 클래스는 메소드(함수) 와 변수 가 포함되어 있다. 객체 클래스로 선언된 변수, 실세계에 존재하는 것 으로 정의할 수 있다..
상속 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것 이다. 즉, 부모 클래스의 멤버(변수,메서드)를 자식 클래스에게 이관하는 것 이다. 그러면 "상속" 을 왜 사용하는가? 1. 개발이 잘된 클래스를 재사용하여 재사용성이 높아진다. 2. 코드의 중복이 줄어들며 개발 기간이 단축된다. 3. 코드를 공통적으로 작성하여 유지보수가 용이하다. 즉, 생산성과 유지보수에 좋기에 사용한다. 상속을 선언하기 위해서는 다음과 같이 클래스를 작성하면 된다. class 자식클래스 extends 부모클래스 { ... } 예제를 살펴보자 Parents.java public class Parents { String name; public void setName(String name){ this.name = name; } ..
인스턴스/클래스/정적 메서드 인스턴스 메서드 클래스 정의 내의 함수들은 기본적으로 인스턴스 메서드 생성된 객체를 통해 호출이 되며, 첫 번째 매개변수는 self이며 여기에 객체의 인스턴스가 전달 클래스 메서드 클래스 메서드는 클래스 자체를 객체로 보고 클래스에 대해 작동하는 메서드 인스턴스 메서드와 달리 첫 번째 매개변수의 이름을 관례적으로 cls라는 이름을 사용하며, 여기에 클래스가 전달 @classmethod 데코레이터를 사용 클래스 메서드는 상속에서 의미가 있기 때문에 상속에 대한 강의 후 예제를 통해 설명 정적 메서드 클래스에 의해 정의되는 네임스페이스에 들어 있는 함수 정적 메서드는 객체 인스턴스에 의해 호출되지 않고, 클래스에 의해 호출되기 때문에 첫 번째 매개변수로 self가 없음 @stat..
객체와 클래스 객체(Object) 숫자에서 모둘까지 파이썬은 모든 것을 객체로 취급 객체는 데이터(변수, 속성)와 코드(함수, 메서드)를 모두 포함 객체는 어떤 구체적인 것의 유일한 인스턴스 클래스(Class) 클래시는 객체를 생성하기 위한 설계도 (틀) class문을 이용하여 정의 클래스 정의 및 객체 생성 예 #클래스 정의 class Person: pass person = Person() #객체 생성 __init__(self) 메서드 클래스로 객체를 생성할 때 객체의 초기화를 위한 메서드 class Person: def __init__(self): print('init person') person = Person() def __init__(self): self는.... (인스턴스)메서드는 가장 첫 ..
표준 라이브러리 라이브러리는 여러 기능들을 수행할 수 있는 코드(함수 등)를 제공한다 표준 라이브러리란 해당 프로그래밍 언어에서 기본적으로 제공되는 라이브러리를 말한다 파이썬은 유용하게 사용할 수 있는 많은 수의 표준 라이브러리들이 제공됨, 이는 패키지의 형태로 제공된다. 파이썬 코드를 작성할 때 우선, 원하는 기능이 표준 라이브러리에서 제공이 되는지 확인하고 작성하는것이 좋다. 표준 라이브러리를 참고 https://docs.python.org/ko/3.7/library/index.html 파이썬 표준 라이브러리 — Python 3.7.11 문서 파이썬 표준 라이브러리 파이썬 언어 레퍼런스 는 파이썬 언어의 정확한 문법과 의미를 설명하고 있지만, 이 라이브러리 레퍼런스 설명서는 파이썬과 함께 배포되는 표..
CREATE TABLE AS SELECT 똑같은 테이블을 생성하는 구문이다. world database안의 city테이블과 동일한 city2테이블을 생성해보자 CREATE TABLE city2 AS SELECT * FROM city; city2 테이블을 확인해보자 SELECT * FROM city2; city2 테이블이 복사된 것을 확인할 수 있음. CREATE DATABASE CREATE DATABASE문은 새로운 DB생성 USE문으로 새 데이터 베이스를 사용하거나, 스키마에서 선택하여 사용가능 CREATE DATABASE sample1; USE sample1; CREATE TABLE 스키마에서 테이블 탭 우클릭 후 Create Table 클릭 TABLE의 Column Name과 DataType 결정 ..
MySQL 내장함수 사용자의 편의를 위해 다양한 기능의 내장 함수를 미리 정의하여 제공 대표적인 내장 함수의 종류 문자열 함수 수학 함수 날짜와 시간 함수 LENGTH SELECT LENGTH('123456789'); CONCAT 전달받은 문자열을 모두 결합하여 하나의 문자열로 반환 전달받은 문자열 중 하나라도 NULL이 존재하면 NULL을 반환 SELECT CONCAT('My', 'SQL is', 'interesting'), CONCAT('My', 'NULL', 'interesting'); LOCATE 문자열 내에서 찾는 문자열이 처음으로 나타나는 위치를 찾아서 해당 위치를 반환 찾는 문자열이 문자열 내에 존재하지 않으면 0을 반환 MySQL에서는 문자열의 시작 인덱스를 1부터 계산 SELECT LOC..
해당 DataBase는 MySQL 공식사이트에서 제공하는 world.sql파일로 연습한 내용이다. 아래 사이트에서 world.sql 파일을 받고 db에 추가하면 된다. dev.mysql.com/doc/world-setup/en/ MySQL :: Setting Up the world Database Setting Up the world Database This document describes world sample database installation, structure, usage, and history. The sample data used in the world database is Copyright Statistics Finland, http://www.stat.fi/worldinfigures...
MySQL MySQL은 가장 널리 사용되고 있는 관계형 데이터베이스 관리 시스템이다. (RDBMS) MySQL은 오픈소스이며, 다중 사용자와 다중 스레드를 지원한다 C, Cpp, JAVA, PHP 등 여러 프로그래밍 언어를 위한 다양한 API를 제공한다. MySQL은 윈도우, 리눅스 등 다양한 운영체제에서 사용가능하며 Apache, PHP 와 함께 웹 개발에 자주 사용된다. APM의 M MySQL or (MariaDB) 등 Apache, PHP와 호환성이 좋기에 사용한다 MySQL은 오픈 소스 라이선스를 따르지만, 상업적 이용시 상업라이센스를 필히 구매하여야 한다. DataBase(데이터베이스) 데이터베이스란? 데이터의 저장소 또는 통합하여 관리되는 데이터의 집합체를 의미한다. 중복 데이터 제거, 자료 ..