1. 사용자 지정타입타입이란 데이터의 형태나 종류다. int, String은 자바에서 기본으로 제공하는 타입이다. 하지만 경우에 따라서 임의의 타입을 지정해야되는 경우가 있다. 예를 들어 학생정보를 관리할 때 이름, 키, 성적을 한 묶음으로 관리하고자 할 때 타입을 정의하는 것이 좋다. 이때 학생을 본따 만든 데이터의 형태를 사용자 지정타입이라고 한다.2. 클래스와 객체사용자 지정타입을 만들기 위해 자바는 클래스를 제공한다. 사용자지정타입이 설계도이면 클래스는 설계도를 자바로 표현한 것이다. 클래스는 다음과 같다.public class Student { String name; int grade; int age;}class: 자바에게 클래스임을 알려주는 키워드다.Student: 클래스의 이..
#1 클래스란?사용자가 편의상 정의한 자료형이다. 구조체와 문법이 유사하나 생성자, 소멸자 등이 존재한다. 클래스를 만든다는 것은 새로운 자료형을 사용하겠다는 의미이다.클래스 정의 최종 형태클래스의 기본형태는 다음과 같다.class MyClass // 클래스 선언(헤더){ public: // 접근제한자 MyClass() // 기본생성자 { } MyClass(int number) // 매개변수 생성자 { this->number_= number; } ~MyClass() // 기본소멸자 { } int Increment() // 멤버함수 { ..
#1 클래스 변수클래스 변수는 인스턴스 변수와 달리 클래스 전반에 영향을 미치는 변수다. 인스턴스들은 클래스 이름을 통해 클래스 변수에 접근할 수 있다.class MyClass: # 클래스 변수 정의 class_var = "Class variable" def __init__(self, value): self.inst_var = value def print(self): # 클래스 이름을 통해 클래스 변수에 접근 print(MyClass.class_var, self.inst_var)print(MyClass.class_var) # Class variablei1 = MyClass(123)i2 = MyClass(456)i3 = MyClass(78..
#1 네임스페이스네임스페이스는 변수, 함수, 클래스 등 여러가지 이름이 들어있는 공간이다. 네임 스페이스에 있는 이름들은 dir()을 통해 확인할 수 있다. # Global scope에서 dir() 실행dir()dir()은 네임스페이스에 들어 있는 이름들의 리스트를 반환한다.#2 모듈의 이름을 확인하는 법__name__을 출력하면 모듈의 이름을 확인할 수 있다. 별개의 모듈이 없는 경우에는 __main__이 출력된다.import numpy as npprint(np.__name__) # numpyimport jsonprint(json.__name__) # jsonprint(__name__) # __main____main__은 스크립트가 써진 영역 그 자체이다. 프로그램이 실행되기 위해서는 운영체제가 ..
#1 class 키워드class 키워드로 필요한 자료형을 만든다. 클래스는 헤더와 본체로 나뉜다.#2 헤더헤더에는 class 키워드와 자료형의 이름이 들어간다. 자료형의 이름은 케멀 케이스로 표현한다.# 클래스 헤더class MyInt: # 클래스 키워드와 자료형의 이름#3 본체클래스의 본체는 데이터속성과 메서드로 구성된다.메서드메서드는 일반 메서드와 특별한 메서드가 존재한다. 메서드 모두 다른 함수들처럼 def를 사용하여 정의한다.class MyInt: # 메서드 정의 def __init__(self, value): self.value = value def add(self, a): self.value = self.value + a메서드는 일반 메서드와 특..
#1 객체지향프로그래밍(Object Orientative Programming, OOP)OOP 소개 및 장점OOP란 객체를 기본단위로 하는 프로그래밍 구조화 방법론이다. OOP에서 객체는 함수와 데이터의 속성의 묶음이다. OOP를 활용하면 고수준에서 프로그래밍 설계를 가능하게 한다. 그리고 잘 설계 된 자료형들은 재사용이 쉽다. OOP를 이해하려면 객체, 클래스, 인스턴스가 뭔지 알아야한다.객체파이썬에서 모든 것은 객체다. 구체적으로는 객체는 데이터와 기능이 묶인 것이다.데이터속성, 메서드속성이란 객체의 데이터와 기능이다. 객체를 담은 변수 뒤에 (.)을 찍어서 사용할 수 있다. 속성에는 데이터 속성과 메서드가 있다. 데이터 속성이란 객체가 내부적으로 갖는 변수들이다. 변수는 객체가 기능을 수행하거나 필..