분류 전체보기 44

[자바 기초 문법] 상속의 이해와 다형성

상속이란? 상속과 클래스 멤버 자식 클래스는 부모 클래스에서 물려받은 멤버를 그대로 사용 혹은 변경 가능하고, 새로운 멤버도 추가가 가능하다. 자식 클래스는 대체로 부모 클래스보다 속성이나 동작이 더 많다. 부모-자식 클래스의 관계는 is-a 관계이다! 원은 도형이다. 사과는 과일이다. has-a 관계는 상속은 아니다! 상속의 선언 extends 키워드 사용한다. 다중 상속은 안된다! 하나의 부모클래스만 가능하다. 현실 세계와 상속 적용 객체 지향의 상속을 적용할 수 있는 현실 세계의 예 부모 클래스 자식 클래스 Animal Eagle,Tiger, Goldfish Bike MountainBike, RoadBike, TandemBike Circle Ball, Cone, Juice, Wine Drinks B..

Java,Spring 2021.05.24

[기본 개념 정리] 운영체제

세그멘테이션과 세그먼트 헤더는 세그먼트에 대한 정보를 포함한다. 세그멘테이션은 가상메모리를 나누는 큰 단위이고, 세그먼트는 로더가 메모리에 올리는 단위이다. 세그멘테이션이란? 컴퓨터 메인 메모리를 가상 메모리 내에 논리적으로 구분된 여러개의 세그먼트로 나누는 과정이다. 메모리에 적재되는 단위로 사용한다. 각각 베이스(base) 어드레스를 가진다. 코드 세그먼트, 데이터 세그먼트, bss 세그먼트 등등 바이너리에서 힙과 스택 스택은 함수 호출 시 생성되는 지역 변수 및 매개변수가 저장된다. 힙 영역은 동적으로 할당된 메모리를 관리한다. 힙은 낮은 메모리 주소에서 높은 주소로, 스택은 높은 주소에서 낮은 주소로 자란다. 방향을 잘 기억해 둬야 추후에 스택 동작을 이해할 때 이해할 수 있다! 레지스터 레지스터..

카테고리 없음 2021.05.14

[자바 기초 문법] 문자열과 배열

문자열의 선언과 생성 String 변수; // String 타입의 변수 선언 변수 = "문자열"; // String 타입의 변수에 문자열 대입 String s1 = "안녕, 자바"; //String 타입의 변수 선언과 초기화 String s2 = "안녕, 자바"; //String 타입의 변수 선언과 초기화 문자열과 리터럴은 내부적으로 new String()을 호출해 생성한 객체이다. s1은 new String("안녕, 자바!")를 호출해 생성한 객체를 가리킨다. 내용이 같은 문자열 리터럴이라면 더 이상 새로운 String 객체를 생성하지 않은 채 기존 리터럴을 공유한다. 따라서 s1과 s2는 동일한 String 객체를 가리킨다. 문자열의 비교 public class String2Demo{ public s..

Java,Spring 2021.05.13

머신러닝 기초 스터디 회고(3/20~5/4)

이번주 주말부터는 새로운 스터디가 시작해서 밀려서 못 쓰기 전에!! 후다닥 써본다 머신러닝 이론이랑 실습이랑 두개다 하고싶어서 입문서로 유명하다는 도마뱀 책! 파이썬 라이브러리를 활용한 머신러닝으로 교재를 고르고, 진도표를 짰다. 8주차 진도를 계획하고 나니까 1주에 한챕터씩 끝내야 다 끝낼 수 있는 진도였다...😨 정말.. 챕터 2에 지도학습, 비지도학습 하는 주차에는 6학점 듣는 기분이었다.. 중간에 탈주할까도 생각했었.. 한사람이 한주차씩 돌아가면서 주마다 설명하고, 나머지는 공부해온 상태에서 복습하는 방식으로 스터디를 진행했다. 스터디의 꽃은 아무래도 스터디 3시간 끝내고 강남역에서 맛있는거 먹기..였던듯..하다 ㅎㅎ 공부한 시간보다 스터디 끝나고 논 시간이 더 길어서 학술모임 아니고 핰😋 술 모..

회고록 2021.05.13

[자바 기초 문법] 객체 지향

객체지향 기초 객체(object)의 개념 소프트웨어 객체는 현실 세계의 객체를 필드(상태)와 메서드(동작)로 모델링한 것이다. 소프트웨어 객체는 상태를 필드로 정의하고, 동작을 메서드로 정의한다. 필드는 객체 내부에 선언된 변수를 의미하고, 메서드는 객체 내부에 정의된 동작이다. 클래스와 객체는 보통 붕어빵 틀과 붕어빵으로 이해하면 쉽다! 인스턴스 = 붕어빵의 실체라고 생각하면된다. 객체 지향 프로그래밍의 특징 캡슐화(정보 은닉): 관련된 필드와 메서드를 하나의 캡슐처럼 포장해 세부 내용을 외부에서 알 수 없도록 감추는 것이다. 상속: 자녀가 부모 재산을 상속받아 사용하듯 상위 객체를 상속받은 하위 객체가 상위 객체의 메서드와 필드를 사용하는 것이다. 상속은 개발된 객체를 재사용하는 방법 중 하나다. 다..

Java,Spring 2021.05.13

[자바 기초 문법] 제어문과 메서드

제어문이란? 실행문의 수행 순서를 변경해 프로그램의 실행 흐름을 바꾸는데 활용한다. 제어문의 종류 조건문: 조건에 따라 실행문을 선택할 때 사용. if, if-else, 다중 if문, switch-case... 반복문 분기문 중첩 if 문: if-else문과 혼합하여 사용할 시 혼동을 피하기 위해 중괄호로 명확하게 구분한다! 다중 if문과 중첩 if문 예시 다중 if문 package sec02; import java.util.Scanner; public class MultiIfDemo{ public static void main(String[] args){ Scanner in = new Scanner(System.in); String grade; System.out.print("점수를 입력하세요: ");..

Java,Spring 2021.05.13

한수

문제🎮 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 1,000보다 작거나 같은 자연수 N이 주어진다. 출력 첫째 줄에 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력한다. 예제 입력: 110 출력: 99 예제 입력: 1 출력: 1 문제풀이방법 생각한 로직 1~99까지는 한수니까 100미만인 수와 100이상인 수로 분류해서 큰 틀을 짠다. 100이상의 수가 입력값으로 받아진다면, 입력값으로 들어오는 수를 str을 이용해 분리한 다음에 각 수의 차가 등차수열인지 구분하는 조건문만..

셀프 넘버

🎮 문제 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, 이 수를 시작해서 n, d(n), d(d(n)), d(d(d(n))), ...과 같은 무한 수열을 만들 수 있다. 예를 들어, 33으로 시작한다면 다음 수는 33 + 3 + 3 = 39이고, 그 다음 수는 39 + 3 + 9 = 51, 다음 수는 51 + 5 + 1 = 57이다. 이런식으로 다음과 같은 수열을 만들 수 있다. 33, 39, 51, 57, 69, 84, 96, 111, 114, 120, 123, 129, 141, ... n을 d(n)의 생성..

[Django] 워드카운트 만들기

들어가기 (vscode의 터미널) 프로젝트 이름은 자유롭게 바꿔보세요! $ python –m venv myvenv myvenv라는 가상환경을 만들어줍니다. $ source myvenv/scripts/activate myvenv 가상환경을 켜주도록 할게요! $ pip install django django 설치 $ django-admin startproject firstproject 헷갈리지 않도록 상위 폴더 이름을 바꿉니다. $ cd djangoproject 폴더 안으로 들어가는 명령어 ‘cd’를 써서 djangoproject 안으로 들어갑니다. app 만들기 $ python manage.py startapp wordcount // wordcount라는 앱이름 만들기 settings.py를 찾아서 내부에..

Python,Django 2021.05.06

MTV 패턴

MTV 패턴이란? 장고가 웹을 구성하는 틀이다! Model, Templates, Views의 약자로 장고가 웹을 구성하는 틀이다. 장고에서 표현하는 방식 UI -> templates Data -> models.py Logic -> views.py 장고의 전체적인 흐름 templates란? templates에 html을 만들고, response로 줄 수 있다. models.py란? 데이터베이스에 저장되는 데이터를 표현 장고는 SQL을 사용하지 않아도 파이썬으로 데이터베이스를 관리할 수 있는 ORM(Object Relational Mapping)을 제공한다. 간단하게 데이터베이스라고 생각하면 된다. 장고는 각각의 테이블을 하나의 모델로 본다. views.py란? 비즈니스 로직을 처리하고 response를 내..

Python,Django 2021.05.06