본문 바로가기

전체 글176

📔 협력하는 객체들의 공동체 (객사오 1장) 객체지향의 중심은 클래스나 상속이 아니다. 객체지향 패러다임의 핵심은 '자율적인 객체들의 협력'이다. 들어가며 객체지향이란 현실 속 존재하는 사물을 최대한 유사하게 모방해 소프트웨어 내부로 옮겨오는 작업이다. 현실 세계에 존재하는 사물에 대한 추상화라는 것이다. 하지만 애플리케이션 개발하면서 객체에 직접 대응되는 실세계 사물을 발견하기란 어렵다. 객체지향의 목표는 실세계를 모방한다기보다는 오히려 새로운 세계를 창조하는 것이다. 개발자의 역할은 실세계를 소프트웨어로 옮겨 담는 것이 아니라 고객과 사용자를 만족시킬 수 있는 신세계를 창조하는 것이다. 실세계 모방이라는 객체지향 개념은 실무적으로 부적합하지만 객체지향이라는 용어에 담긴 기본 사상을 이해하는 데 효과적이기 때문이 이번 장에서는 객체지향은 실세계 .. 2021. 11. 15.
책 '객체지향의 사실과 오해' 소개와 요약정리 📔 객체지향의 사실과 오해 - YES24 『객체지향의 사실과 오해』는 객체지향이란 무엇인가라는 원론적면서도 다소 위험한 질문에 답하기 위해 쓰여진 책이다. 안타깝게도 많은 사람들이 객체지향의 본질을 오해하고 있다. 가장 www.yes24.com 조영호 님의 '객체지향 프로그래밍' 관련된 책은 두 권이 있고 4가지 주제를 이야기한다.(2021년 기준) 객체지향은 클래스 중심이 아닌 객체를 바라보는 것이다. 객체는 독립적인 존재가 아니라 기능 구현을 위해 협력하는 공동체의 존재이다. 객체들에게 적절한 역할과 책임을 부여할 수 있어야 한다. 1,2,3의 내용을 요구사항에 맞게 설계하고 프로그래밍 언어로 담아내야 한다. 책 "객체지향의 사실과 오해"는 4가지 주제 중 1,2번을 이야기한다. 객체지향을 이해하는 데 .. 2021. 11. 15.
JAVA의 클래스 xx초등학교 1학년 9반 신입생 10명의 수학, 영어점수 데이터가 있다. 이를 C언어의 변수를 사용하여 저장한다면 각 점수 별 배열을 만들어 저장하거나 사람 별 구조체를 만들어 저장할 수 있다. 만약 해당 데이터에만 작동하는 함수를 만들고 싶다면 어떻게 해야할까? C에서는 함수를 구조체 바깥에 따로 만들어 사용했다. 이 어려움을 극복하고자 프로그래밍 언어자체에서 기능을 제공하여 구조체 + 함수 형태를 만들었다. OOP(Object - Oriented Programming) OOP(객체지향프로그래밍)은 프로그래밍 패러다임 중 하나이다. 프로그램 구성하는 기본 요소를 사람이 이해하기 쉬운 "Object(객체)"로 생각하고 프로그래밍 하려고 하는 것이다. 흔히 C 언어는 절차적 언어라고 하는데 이는 변수, 함.. 2021. 11. 1.
JAVA의 제어문 if, switch, for, while문과 간단한 연습문제를 풀어봅니다. 제어문(control statement) 🕹 프로그램의 흐름(flow)을 바꾸는 역할을 하는 문장 조건에 따라 문장 건너뛰기 반복 수행 등 1. 조건문 🤸‍♀️ 1.1 if 문 JAVA도 C계열 언어이기 때문에 제어문 문법이 유사하다. if 문 if (조건식){ } public class Main { public static void main(String[] args){ int x = 0; if (x == 0){ System.out.println("x==0"); } if (x != 0) { System.out.println("x!=0"); } x = 1; if (x == 1){ System.out.println("x==1"); }.. 2021. 11. 1.
JAVA의 연산자 🧮 연산자(operator) : 연산을 수행하는 기호 (+,-,*,/) 🔢 피연산자(operand) : 연산자의 작업 대상(변수, 상수, 리터럴, 수식) 0. 연산자 우선순위 1. 단항 연산자 1.1 증감 연산자 ++, — 전위형 : 값이 참조되기 전에 증가시킨다. 후위형 : 값이 참조된 후에 증가시킨다. // 1. 전위형 예 int i = 5; int j = 0; j = ++i; System.out.printf("j = %d", j); // j의 값은? -> 6이다. // 연산과정 순서 // 1. i 값 1 증가 // 2. i의 값을 참조 // 3. 연산 결과를 j에 저장 // 2. 후위형 예 int i = 5; int j = 0; j = i++; System.out.printf("j = %d", j).. 2021. 11. 1.
JAVA의 변수와 타입 Primitive type, Constant, Literal, Casting을 살펴봅니다. 1. 변수의 선언과 초기화 프로그래밍에서 변수(Variable)란 하나의 값을 저장할 수 있는 메모리 공간이다. 하나의 변수에 단 하나의 값만 저장할 수 있으므로, 새로운 값을 저장하면 기존의 값은 사리진다. 변수를 사용하기 위해선 변수 선언을 해야한다. '변수 타입'과 '변수 이름'을 통해 변수 선언을 할 수 있다. // 변수 선언 int score; // score 라는 실수형 변수를 선언 // int : 변수 타입 // score : 변수 이름 int math_score = 100; 변수 선언을 하면 메모리가 할당되어 사용할 수 있다. 이때 C 언어는 초기화 해주지 않으면 메모리 .. 2021. 11. 1.