자바 oop 4

[Java/OOP] 자바와 객체 지향 4/4 - 캡슐화

"스프링 입문을 위한 자바 객체 지향의 원리와 이해" 를 읽고 정리한 내용입니다. 객체 지향의 4대 특성 - 4) 캡슐화 캡슐화: 정보 은닉 자바에서 정보 은닉은 접근 제어자 (private, [default], protected, public)로 할 수 있다. private : 본인 클래스 내에서만 접근 가능 default : 같은 패키지 내의 클래스에서 접근 가능 protected : 상속 / 같은 패키지 내의 클래스에서 접근 가능 public : 모두가 접근 가능 사실 접근 제어자는 위의 네 가지로 분류한 것만큼 단순하지 않다고 한다. 객체 멤버에 대한 접근인지, 정적 멤버에 대한 접근인지에 따라 생각할 것이 많아진다. 객체 메소드에서 정적 멤버나 정적 메소드에 접근하는 것은 가능하지만 정적 메소드..

[Java/OOP] 자바와 객체 지향 3/4 - 다형성

"스프링 입문을 위한 자바 객체 지향의 원리와 이해" 를 읽고 정리한 내용입니다. 객체 지향의 4대 특성 - 3) 다형성 다형성: 사용편의성 객체 지향에서 다형성은 오버라이딩과 오버로딩이라고 할 수 있다. 오버라이딩? 오버로딩? 오버라이딩 (Overriding) 같은 메소드 이름, 같은 인자 목록으로 상위 클래스의 메소드를 재정의 오버로딩 (Overloading) 같은 메소드 이름, 다른 인자 목록으로 다수의 메소드를 중복 정의 Animal.java public class Animal { public String name; public void showName() { System.out.println("안녕 나는 %s야. 반가워\n", name); } } Penguin.java public class P..

[Java/OOP] 자바와 객체 지향 2/4 - 상속

"스프링 입문을 위한 자바 객체 지향의 원리와 이해" 를 읽고 정리한 내용입니다. 객체 지향의 4대 특성 - 2) 상속 상속: 재사용 + 확장 흔히 상속이라고 하면 아래와 같은 가족 관계도를 떠올리기 쉽다. (사진 출처 - 네이버 블로그) 하지만 객체 지향의 상속은 계층도나 조직도가 아닌 분류도로 이해해야 한다. (사진 출처 - 티스토리) 위 사진은 상속 관계가 아니다. 동물은 포유류의 부모가 아니고, 포유류 또한 고래의 부모가 아니기 때문이다. 하지만 객체 지향에서 말하는 상속 관계는 이게 맞다. 동물이라는 분류를 세분화해서 포유류와 조류가 나오고, 포유류를 세분화해서 고래와 박쥐가 나오는 것이다. 한 마디로 정의하면 상속이란 상위 클래스의 특성을 하위 클래스에서 상속하고 거기에 필요한 특성을 추가 즉..

[Java/OOP] 자바와 객체 지향 1/4 - 추상화

"스프링 입문을 위한 자바 객체 지향의 원리와 이해" 를 읽고 정리한 내용입니다. 객체 지향은 인간 지향이다 객체 지향의 개념은 "현실 세계처럼 프로그래밍할 수는 없을까?" 라는 고민 속에서 탄생했다. 0과 1의 컴퓨터에 맞춰 사고하던 방식을 버리고 현실 세계를 인지하는 방식으로 프로그램을 만들자는 것이다. 따라서 객체 지향은 직관적이다. 세상에 존재하는 모든 것은 사물, 즉 객체다. 각각의 사물은 고유하다. 사물은 속성을 갖는다. 사물은 행위를 한다. 저자는 사물을 하나하나 이해하기보다는 클래스로 분류해서 이해하는 것이 인간의 인지법이라고 한다. 박지성(object), 김연아(object)라는 존재는 사람이라는 분류에 속한다. 사람이라는 분류 안의 객체(object)들은 나이, 몸무게, 키 등의 속성(..