본문 바로가기

자바객체지향6

JAVA 개념 - 객체지향(OOP) 강의 소개 현재 수강하고 있는 멀티캠퍼스 k-digital 지능형 웹서비스 풀 스택 과정을 수강하며 적은 내용입니다. 객체지향 객체지향은 추상화를 통해 유연성을 확보해 나가는 프로그래밍 설계 방법론이다. 결국, 좋은 코드란 유연성을 확보해나가는 것이다. 객체지향 설계 단계 1. 추상화 현실세계의 대상을 추상화하여 시스템을 설계하는 것이다. 필요한 내용은 남기고, 필요 없는 건 버린다. 현실세계가 복잡하고, 또 앞으로 복잡해져도 추상화를 하면 시스템화할 수 있다. 2. 캡슐화 클래스를 설계할 때 감출 것과 드러낼 것을 결정하는 것이다. 캡슐화를 통해 클래스를 설계한다. 이때, 구체적인 것을 감춘다. 3. 상속 클래스가 가진 type을 다른 클래스와 공유하는 것이다. 클래스를 만든다는 것은 사용자 정의 ty.. 2022. 2. 8.
JAVA의 OOP - 상속관계(is a kind of) 책 소개 현재 읽고 있는 '스프링 입문을 위한 자바 객체 지향의 원리와 이해' 중의 일부를 적은 내용입니다. 상속 관계 일반적으로 상속 관계는 부모 - 자식 관계라고 알려져 있다. 하지만 재사용+확장 개념으로 보아야 맞다. 분류도 이렇게 상속관계는 분류도이다. (가족 관계도처럼 계층도가 아님에 유의한다.) 동물이라는 상위 분류로 갈 수록 추상화, 일반화가 되며 김연아라는 하위분류로 갈수록 구체화, 특수화된 것이다. 하위 클래스는 상위 클래스다 상속관계에서는 하위 클래스는 상위 클래스다라는 말을 반드시 만족해야 한다. 부모- 자식관계와 같이 계층 도라고 볼 수 있는 '딸은 아버지다'라는 말은 이상하게 들린다. 반면 분류도를 나타내는 '사람은 동물이다'는 자연스럽다. 확장 자바에서는 inheritance(상.. 2022. 2. 3.
JAVA의 OOP - 객체, 인스턴스, 클래스 책 소개 현재 읽고 있는 '스프링 입문을 위한 자바 객체 지향의 원리와 이해' 중의 일부를 적은 내용입니다. 추상화는 모델링이다 추상화란 구체적인 것을 분해해서 관심 영역에 있는 특성만을 가지고 재조합하는 것이다. 즉, 모델링이다. 클래스 설계에서 추상화가 사용되며, 객체 지향에서 추상화의 결과는 클래스이다. 객체, 인스턴스, 클래스 객체 세상에 존재하는 유일무이한 사물이다. 인스턴스 클래스를 통해 object를 만들었다는 것을 강조할 때 사용한다. 클래스 분류, 집합 같은 속성과 기능을 가진 객체를 총칭하는 개념이다 => 객체는 유일무이하게 존재하는 실체로 속성에 값을 가지며, 클래스는 개념이자 분류체계로 속성에 값을 가질 수 없다. 하지만 만약 쥐의 꼬리는 1개, 승용차의 바퀴는 4개처럼 항상 같은 .. 2022. 2. 3.
JAVA의 OOP - 메서드의 블랙박스화, 전역변수 비권장이유 책 소개 현재 읽고 있는 '스프링 입문을 위한 자바 객체 지향의 원리와 이해' 중의 일부를 적은 내용입니다. 메서드의 블랙박스화 메서드 간 값을 전달하거나 반환할 수 있는 방법은 메서드를 호출할 때의 인자와 메서드가 종료될 때의 반환 값을 통해서만 가능하다. 다시 말하자면, 메서드들이 서로 내부의 변수들을 확인할 수 없다. 물론, static을 사용하여 전역 변수를 사용하면 메서드 간 값을 공유할 수 있지만, 가급적 지역변수를 사용하는 것이 좋다. 전역 변수는 쓰지말자 T메모리는 스택, 힙, static영역 3가지로 구분된다. static: 클래스들의 공간 스택: 메서드들의 공간 힙: 객체들의 공간 static이 붙은 변수로 코드 어느 곳에서나 접근할 수 있어 전역 변수라고 부른다. 또한, 메서드들이 공.. 2022. 2. 3.