[CS]인터페이스와 추상클래스?
·
cs/dev
정리인터페이스추상클래스설계도/틀상속을 받아 기능을 확장, 복제모조리 추상메서드추상메소드 + 일반메서드인터페이스인터페이스(자바)는 자바에서 클래스들이 구현해야 하는 동작을 지정하는데 사용되는 추상 자료형 단, 클래스와는 달리 인터페이스의 모든 필드는 public static final이어야 하며, 모든 메소드는 public abstract이어야 합니다.접근제어자 interface 인터페이스이름 { public static final 타입 상수이름 = 값; ... public abstract 메소드이름(매개변수목록); ...} (의문점) 인터페이스도 따지고 보면 상속이지만 extends 키워드 대신 implements 라는 '구현' 이라는 키워드를 사용하는 이유는?상속은 클래스간의 부모..
[CS]클래스와 객체, 인스턴스의 차이가 뭔가요?
·
cs/dev
정리클래스 (Class): 객체를 기술한 설계도객체 (Object): 상태가 있고 행동을 하는 실체인스턴스 (Instance): 메모리 상에 존재하는 객체 클래스(Class)정의: 이떠한 속성이 있고 어떻게 행동하는지를 기술한 설계도공통 속성과 연산(행위)을 갖는 객체들의 집합 / 데이터 추상화 단위※ Operation : 클래스의 동작 / 객체에 대해 적용될 메서드 정의class Car { //클래스 private String name; private double speed; private Size size; ... public void start() { ... } public void stop() { ... } ...}Car myCar = new Car(..
[CS]OOP의 4가지 특징
·
cs/dev
1. 추상화(Abstraction)공통의 속성이나 기능을 묶어 이름을 붙이는 것을 추상화라고 할 수 있다.- 객체 지향적 관점에서 클래스를 정의하는 것을 추상화라고 할 수 있다. 예를 들어 사자, 고양이, 강아지가 있을 때 우리는 이것을 각자 객체라고 하며, 이 객체들의 공통적인 동물이라고 표현할 수 있는데 이때 동물을 묶는 행위를 추상화라고 한다. 2. 캡슐화(encapsulation)특정 객체가 독립적으로 역할을 수행하기 위해 필요한 데이터와 기능을 하나로 묶는 것을 캡슐화라고 한다.- 쉽게 말해 모듈화를 의미한다. 이러한 캡슐화를 통해 정보를 객체 안에 포함시키고, 그 정보에 대한 직접 접근은 허용하지 않는 대신, 필요에 따라 확인할 수 있는 인터페이스를 외부에 공개함으로써 정보 은닉(외부 접근 제..