객체 지향의 4대 특성을 넘어, 자바가 객체 지향을 확장하기 위해 사용하는 키워드와 개념 살펴보기 abstract 키워드 - 추상 메서드와 추상 클래스 추상 메서드(Abstract Method) : 선언부는 있는데, 구현부가 없는 메서드 : 추상 메서드를 하나라도 갖고 있는 클래스는 반드시 추상 클래스(Abstact Class)로 선언해야함(추상 메서드 없이도 추상 클래스 선언 가능) 몸체가 없이 선언만 있는 메서드는 왜 필요? package abstractMethod01; public class 동물 { void 울어보세요() { System.out.println("나는 동물! 어떻게 울어야 하나요?"); } } 1. 동물 클래스 인스턴스는 어떻게 울어야함? 소리 내어 울게 하는 것 자체가 논리에 맞지..
객체 지향은 인간 지향이다 프로그래밍 언어 발전사 = 개발자를 더욱 편하고 이롭게 하기 위함, 하이 레벨의 인간을 배려하기 위한 과정 절차적/구조적 프로그래밍 -> 인간이 기계를 이해하려는 노력 필요. 특히 포인터 "왜 우리가 기계 종속적인 개발을 해야 하나?" "우리가 눈으로 보고, 느끼고, 생활하는 현실 세계처럼 프로그래밍할 수 없을까?" -> 객체 지향 개념 탄생 구조적 프로그래밍에서 가장 중요한 것 "함수" 함수: 코드를 논리적인 단위로 구분, 분할해서 정복 명령어를 논리적인 단위로 나누어 블록화해서 작성 객체 지향 프로그래밍에서 가장 중요한 것 "객체"(Object) 모든 만물은 객체들의 합 객체 지향은 직관적; 현실 세계를 인지하는 방식으로 프로그래밍 할 수 있기 때문 세상에 존재하는 모든 것..
자바 프로그램의 개발과 구동 소프트웨어 즉, 프로그램으내 개발자가 개발 도구를 이용해 개발, 운영체제를 통해 물리적 컴퓨터인 하드웨어 상에서 구동됨 => 자바 개발 도구인 JDK를 이용해 개발된 프로그램은 JRE에 의해 가상의 컴퓨터인 JVM 상에서 구동됨 배포되는 JDK, JRE 각 플랫폼(하드웨어와 OS의 조합) 용으로 배포되는 설치 파일을 따로 준비해야 했던 불편함 없앰 자바 개발자는 본인이 사용 중인 플랫폼에 설치된 JVM 용으로 프로그램을 작성, 배포하면 각 플랫폼에 맞는 JVM이 중재자..
객체 지향에 대한 이해는 스프링 프레임워크를 이해하기 위한 필수 조건이 책의 목표: 본격적인 스프링 학습을 위한 사전 지식, 즉 스프링의 근간이 되는 객체지향 4대 특성, 객체 지향 설계 5원칙, 스프링에서 많이 활용되고 있는 디자인 패턴을 학습하고 이해하는 것을 목표 자바 6을 기준으로 하는 조금 오래된책이지만, 스프링 프레임워크 버전 변화와 관계 없이 스프링의 기초를 학습하는데는 지장이 없다고 하니 시작해보자! --- 신기술은 이전 기술의 어깨를 딛고 스프링을 이해하려면 과거의 어떤 기술들을 이해하고 있어야 할까?SOA, CBD, OOP, 기계어, 어셈블리어 ... 기계어에서 객체 지향 프로그래밍 언어로기계어 - 0과 1의 행진, 비인간적인 언어(컴퓨터가 이해하는 유일한 언어)인류 최초의 프로그래머 ..