본문 바로가기

교육, 학습/스프링 입문을 위한 자바 객체지향의 원리와 이해6

JAVA의 OOP - 오버라이딩되면 하위클래스의 메서드가 우선된다 책 소개 현재 읽고 있는 '스프링 입문을 위한 자바 객체 지향의 원리와 이해' 중의 일부를 적은 내용입니다. 오버 라이딩 메서드 재정의로 상위 클래스에서 상속받은 메서드를 하위 클래스에서 재정의한 것이다. 상위 클래스의 메서드와 동일한 메서드 이름을 가지며, 같은 인자 리스트를 가진다. [상위 클래스] public class Human { pulic void Hi() { System.out.println("Hi"); } } [하위 클래스] public class Korean extends Human { // 메서드 오버라이딩(= 재정의) pulic void Hi() { System.out.println("안녕하세요"; } } [실헹] public class Human { pulic static void .. 2022. 2. 4.
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.