더 쉽게 쓴 자바(소.자.바)19.11.07(7)
-
[소.자.바] 4.7 super(완료)
* 본 블로그는 개인 공부용으로 해당 내용은 자북의 '최영관'님이 저자이신 소설같은 자바를 읽고 정리한 내용으로써 문제가 있을 시 모두 내리도록 하겠습니다. 4.7.1 super 참조변수 super 참조변수란 상속구조에서 디자인 타임에 사용할 수 있는 상위 클래스의 참조 변수이다. 다시 말하자면 상위 클래스를 참조할 수 있는 유일한 키로, super 참조변수를 통해 상위클래스를 참조할 수 있는 방법이라 할 수 있다. - 76 - 4.7.2 super를 이용하여 상위 클래스를 참조 아버지의 클래스로부터 상속을 받았다면 아버지 클래스의 모든 것은 아들 클래스의 것이 된다. 아들 클래스에서는 아버지(클래스의) 것도 내 것이고, 내(클래스) 것도 내 것이니 this라는 키워드를 이용해서 아버지의 멤버에 접근할 ..
2019.12.16 -
[소.자.바] 4.6 this의 개념(완료)
* 본 블로그는 개인 공부용으로 해당 내용은 자북의 '최영관'님이 저자이신 소설같은 자바를 읽고 정리한 내용으로써 문제가 있을 시 모두 내리도록 하겠습니다. 4.6.1 this란? this란 클래스 내에서 클래스가 가지고 있는 멤버필드 또는 멤버 메소드를 직접 참조할 수 있는 자신의 참조 변수이다. 이게 무슨 말이냐구요? 그럼 이제 이게 무슨말인지 알아보는 시간을 가져보도록 하죠. this를 사용할 때는 3가지 방법이 있는데 그 예는 다음과 같습니다. ■ this.멤버필드, this.멤버 메소드 ■ this ■ this(매개변수); 이 예들을 살펴보면서 this의 개념에 접근해 봅시다. *멤버필드 : 클래스 내부에 존재하는 변수로써 변수와 상수(속성 즉, '데이터'라고도 하는데 여기에 객체가 생성되어질 ..
2019.12.12 -
[소.자.바] 4.5 Inheritance와 Overriding(완료)
*본 블로그는 개인 공부용으로 해당 내용은 자북의 '최영관'님이 저자이신 소설같은 자바를 읽고 정리한 내용으로써 문제가 있을 시 모두 내리도록 하겠습니다. 4.5.1 메소드의 재정의란? 객체지향적 개념에서 Overloading만큼이나 중요하면서도 상속의 개념에서 절대 빼놓을 수 없는 것이 바로 Overriding이다. Overriding 즉, 메소드 재정의는 말 그대로 메소드를 다시 재정의하는 행위를 말한다. 이 장에서는 아버지(의 내용을)를 상속받은 아들이 아버지 메소드와 똑같은 메소드를 다시 만들 경우 이를 어떻게 해결하느냐의 문제를 담고(다루고) 있다. Overriding을 개인적으로 아버지 무시하기로 부르고 있는데 그 이유는 아들이 아버지의 메소드를 재정의 할 경우 기존에 정의되었던 아버지의 메소..
2019.12.09 -
[소.자.바] 3장. The Class(21 ~ 23, 완료)
* 본 블로그는 개인 공부용으로 해당 내용은 자북의 '최영관'님이 저자이신 소설같은 자바를 읽고 정리한 내용으로써 문제가 있을 시 모두 내리도록 하겠습니다. 클래스의 개념을 파악하기 위한 기초적인 작업을 1장과 2장에서 다루어 보았다. 그래서 이 장에서는 클래스 그 자체에 초점을 맞추어 알아보고자 한다. 일반적인 클래스의 설명은 은폐성, 상속성, 다형성의 관점에서 이루어지고 있지만 이 책에서는 다른 시각으로 클래스를 접근하려 한다. 클래스는 근원적으로 객체지향의 개념을 그대로 내포하고 있기 때문에 오히려 철학적인 면이 상당 부분 포함되어 있다. 그렇기 때문에 개념적인 접근없이 프로그램 코드만 짜다보면 오히려 클래스 디자인 차원에서 많은 어려움을 겪게(경험하게) 된다. 아무래도, 이미 이것을 경험하신 분들..
2019.11.14 -
[소.자.바] 2.4 클래스만의 특징(17 ~ 20, 완료)
2.4.1. 클래스만의 특징 소개 구조체에는 없지만, 클래스에만 있는 특징이 바로 클래스와 구조체의 차이점이라 할 수 있다. 클래스만의 특징은 아주 다양하게 열거할 수 있지만 구조체와의 차이점에서 찾아 볼 수 있는 단순하면서 중요한 개념들만 열거한다면 다음과 같다. * 구조체와 다른 클래스만의 특징들 ■ 선언과 메모리의 할당 ■ 데이터(로)의 접근 방법(private와 public) ■ 멤버로 메소드 포함 ■ 상속의 개념 적용 위에 열거된 항목들은 간단해 보이지만 자바 언어의 모든 특징을 전부 내포하고 있다. 메모리 할당의 문제는, 어차피 구조체이든 클래스이든 만들어지면 변수를 선언하고 메모리가 할당되어져야 하는 것은 마찬가지의 일로 사용 방법만 약간 다를 뿐 데이터의 접근과 메소드의 포함, 상속 개념의..
2019.11.14 -
[소.자.바] 2.3 클래스로 데이터 타입을 만드는 방법(15 ~ 20, 완료)
* 본 블로그는 개인 공부용으로 해당 내용은 자북의 '최영관'님이 저자이신 소설같은 자바를 읽고 정리한 내용으로써 문제가 있을 시 모두 내리도록 하겠습니다. 2.3.1 배경 위에서(이전 포스팅에서) 구조체로 데이터 타입을 만드는 방법에 대하여 알아보았다. 이 데이터 타입을 만드는 방법을 자바의 클래스라는 측면에서 살펴보자. C 언어의 구조체와 자바의 클래스가 같은 역할을 한다면 확장된 클래스가 아닌 기본적인 자바 클래스는 구조체와 그 모습이 동일하다는 것을 밝히면서 클래스의 의미를 다시 한번 상기시켜 보자. 2.3.2 클래스 만들기 먼저, 앞에서 만들어 본 구조체와 똑같은 데이터 타입을 자바 클래스로 만들어 보자. 아래의 클래스는 앞 절에서 나온 구조체와 철자도 틀린 것이 별로 없다. PERSON.jav..
2019.11.14