목록클래스 (11)
컴공생의 다이어리
[MyBatis] parameterType, resultType에 내부 클래스(inner class) 사용 MyBatis의 paramterType과 resultType에서 내부 클래스를 사용하는 방법에 대해 정리하고자 한다. 우선 paramterType과 resultType에서 내부 클래스를 사용하기 위해서는 아래와 같이 내부 클래스가 static으로 선언되어 있어야 한다. public class Outer { public static class InnerA { // ... } public static class InnerB { // ... } } 그리고 MyBatis에서 사용시 아래와 같이 $를 사용해서 내부 클래스를 타입으로 설정하면 된다. 점(.)은 경로를 타고 갈 때 사용하고 $는 inner cl..
추상 클래스(abstract class) 추상 클래스란 구현 코드 없이 메서드의 선언만 있는 추상 메서드(abstract method)를 포함한 클래스를 말한다. 여기서 메서드의 선언만 있다는 말은 아래 코드에서 첫번째 처럼 생긴 것을 말한다. int add(int x, int y); // 선언 int add(int x, int y){ } // 구현부가 있음, 추상 메서드 아님 또한 추상 클래스는 abstract라는 예약어를 사용한다. 추상 클래스의 경우 new할 수 없다. 즉 인스턴스 화 할 수 없다는 것이다. 추상 클래스 구현 메서드에 구현 코드가 없으면 abstract로 선언하며 abstract로 선언된 메서드를 가진 클래스는 abstract로 선언해야 한다. 또한 주의해야 할 점은, 모든 메서드가..

클래스 상속 클래스 상속은 새로운 클래스를 정의 할 때 이미 구현된 클래스를 상속받아서 속성이나 기능을 확장하여 클래스를 구현하는 것을 말한다. 이미 구현된 클래스보다 더 구체적인 기능을 가진 클래스를 구현해야 할 때 기존 클래스를 상속한다. 상속하는 클래스 : 상위 클래스, parent class, base class, super class 상속받는 클래스 : 하위 클래스, child class, derived class, subclass 상속하는 클래스가 A이고 상속받는 클래스가 B일때, 아래와 같이 extends를 사용해서 상속을 하면 된다. class B extends A { } * 주의 사항 * extends 키워드 뒤에는 단 하나의 클래스만 올 수 있음 상속을 구현하는 경우 상위 클래스는 하위..
클래스(class), 객체(object), 인스턴스(instance) 차이 클래스란 객체를 정의하고 만들어 내기 위한 설계도 혹은 틀을 말한다. 클래스 안에는 객체를 만들어내기 위해 필요한 변수와 메서드들이 존재한다. 객체란 클래스에 선언된 모양 그대로 생성된 실체를 말하며 '클래스의 인스턴스'라고 부른다. 인스턴스란 클래스를 통해서 구현해야할 대상(객체)이 실제로 구현된 구체적인 실체를 말한다. 예를들어 붕어빵을 만든다고 상황을 가정해보자. 여기서 클래스는 붕어빵을 만들기 위한 틀이 되고 객체는 붕어빵이다. 그리고 인스턴스는 붕어빵 틀로 찍어낸 각각의 붕어빵이다. 팥붕어빵과 슈크림붕어빵은 같은 타입의 객체이지만, 인스턴스 관점으로 보았을 때는 다르다. https://victor8481.tistory.c..
클래스(class)란? 클래스는 유사한 특징을 지닌 객체들의 속성과 동작을 묶어 놓은 집합체이다. 따라서 클래스는 객체의 청사진(blueprint)이다. 예를 들어 학생이라는 클래스를 만든다면 속성으로 이름, 학번, 전공, 학년을 속성으로 둘 수 있다. 아래는 지금 말한 학생에 대한 속성을 클래스로 만든 것이다. public class Student{ String name;//이름 int studentNumber;//학번 String major;//전공 int grade;//학년 } 객체지향 프로그래밍을 할 때 - 객체를 정의 - 각 객체의 속성을 멤버 변수로, 역할을 메서드로 구현 - 각 객체간의 협력을 구현 https://m.blog.naver.com/highkrs/220201921836 [Java ..

BeautifulSoup의 find(), find_all(), .string, get_text()에 이어서 BeautifulSoup의 select() 함수에 대해 알아보자! select() 함수를 사용하여 원하는 데이터 추출 find() 함수와 find_all() 함수를 이용하여 원하는 태그를 찾는 방법도 있지만 select() 함수를 사용하여 원하는 데이터를 추출할 수 있다. select() 함수를 이용하여 데이터 추출하는 방법의 장점은 다양한 옵션들을 사용할 수 있는 것이다. 아래와 같이 ex1에 html이 저장되어 있다고 하고 select() 함수를 활용해보자! select('태그이름') 아래는 태그의 내용을 모두 추출한 것이다. select('.클래스명') 아래는 클래스 이름이 name1인 태그만..
객체지향(Object-Oriented) - 객체지향은 소프트웨어의 각 요소들을 객체로 만든 후, 객체들을 조립해서 소프트웨어를 개발하는 기법 - 구조적 기법의문제점으로 인한 소프트웨어 위기의 해결책으로 채택되어 사용되고 있음 - 소프트웨어의 재사용 및 확장이 용이하여 고품질의 소프트웨어를 빠르게 개발할 수 있고 유지보수가 용이 객체지향 구성요소(객체, 클래스, 메시지) ▶ 객체(Object) - 객체는 데이터와 데이터를 처리하기 위한 함수를 묶어 놓은 소프트웨어 모듈 데이터 객체가 가지고 있는 정보로, 속성이나 상태, 분류 등 함수 객체가 수행하는 기능으로 객체가 갖는 데이터를 처리하는 알고리즘 객체의 상태를 참조하거나 변경하는 수단 ▶ 클래스(Class) - 클래스는 공통된 속성과 연산을 갖는 객체의 ..

std::array c++의 std::array는 메모리를 자동으로 할당하고 해제하며, 원소의 타입과 배열 크기를 매개변수로 사용하는 클래스 템플릿이다. 아래는 int타입의 std::array 배열을 선언한 후, 원소 값을 설정하거나 화면에 출력하는 코드이다. #include #include using namespace std; int main() { //크기가 3인 int 타입 배열 생성 std::array arr1; arr1[0] = 1;//첫번째 원소를 1로 설정 std::cout

클래스에 아래와 같은 함수들이 있다고 하면 access_x는 x의 레퍼런스를 리턴하게 되고, get_x는 x의 값을 리턴한다. int& access_x() { return x; } int get_x() { return x; } modoocode.com/312 씹어먹는 C++ 강좌 - PDF 파일 modoocode.com
생성된 총 클래스의 객체의 수를 세기 위한 방법에는 2가지가 있다. 첫번째는 어떠한 배열에 객체를 보관해놓고, 생성된 객체의 수를 모두 세는 것이다. 두번째는 어떤 변수를 만들어서 객체 생성시에 1을 더하고, 소멸시에 1을 빼는 것이다. 첫번째 방법의 경우 vector라는 자료를 사용하면 쉽게 할 수 있다. 두번째의 경우 전역 변수를 사용하거나 static 멤버 변수를 사용해 해결할 수 있다. 어떤 변수를 만들어서 객체 생성시에 1을 더하고, 소멸시에 1을 빼는 것을 전역 변수를 통해 관리하면, 프로젝트의 크기가 커질 수록 프로그래머의 실수로 인해 서로 겹쳐서 오류가 날 가능성이 다분하다. 따라서 전역 변수 같지만 클래스 하나에만 종속되는 변수인 static 멤버변수를 사용하는 것이 좋다. static ..