Language 9

[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)들은 나이, 몸무게, 키 등의 속성(..

[Java/OOP] 자바와 절차적/구조적 프로그래밍

"스프링 입문을 위한 자바 객체 지향의 원리와 이해" 를 읽고 정리한 내용입니다. 자바 프로그램의 개발과 구동 자바 개발 환경을 이해하려면 JVM (Java Virtual Machine)의 역할을 필수적으로 알아야 한다. 현실 세계에 빗대어 자바 세계를 표현하면 아래와 같다. 현실 세계 자바 세계 소프트웨어 개발 도구 JDK (자바 개발 도구) 운영체제 JRE (자바 실행 환경) 하드웨어 (컴퓨터) JVM (자바 기상 기계) 자바에서는 JDK를 이용해 개발된 프로그램이 JRE에 의해 가상 컴퓨터인 JVM 상에서 구동된다. JDK는 자바 소스 컴파일러인 javac.exe 를, JRE는 자바 프로그램 실행기인 java.exe 를 포함하고 있다. (사진 출처 - 블로그) 이러한 구조 덕분에 자바의 대표적인 특..

[자바/Java] 백기선 온라인 스터디 - 연산자

목표 자바가 제공하는 다양한 연산자를 학습하세요. 학습할 것 산술 연산자 비트 연산자 관계 연산자 논리 연산자 instanceof assignment(=) operator 화살표(->) 연산자 3항 연산자 연산자 우선 순위 (optional) Java 13. switch 연산자 산술 연산자 산술 연산자에는 사칙 연산자와 나머지 연산자가 있다. 사칙 연산자 (+, -, *, /)는 일상생활에서도 빈번히 쓰이기 때문에 주의 사항을 위주로 학습했다. class Operator { public static void main(String[] args) { int a = 10; int b = 4; System.out.println("%d / %d = %d", a, b, a/b); // 10 / 4 = 2 Syste..