목록Java (3)
To Dare Is To Do!
먼저 클래스(class)란? 자바에서 객체를 정의하는 설계도의 의미를 가지며 보통 붕어빵(객체 or 인스턴스)를 찍어내는 붕어빵 틀(클래스)에 비유하기도 한다. 여기서 객체는 클래스에서 정의한 속성과 기능을 가진 실체를 의미, 인스턴스는 특정 클래스로부터 생성된 객체를 의미 ex) Student 클래스를 통해 Student1과 Student2를 만들었다고 가정했을 때, Student1은 Student 클래스의 인스턴스라고 말할 수 도 있으나 Student1은 학생1의 속성을 가지는 객체, Student2는 학생2의 속성을 가지는 객체라고 이야기할 수 도 있다. 결국 클래스에서 나온 실체라는 의미에서 비슷하게 사용되나 바라보는 관점에 따라서 용어상 차이가 존재한다고 할 수 있다. 객체가 가지고 있는 속성은..
지난번 객체 지향 프로그래밍의 특징을 살펴보다 인터페이스가 간단한 예시로서 사용된 경우가 있었다. 오늘은 인터페이스에 대하여 살펴보며 지난번 공부했던 객체 지향에 대해서도 간단히 상기시켜 보려고 한다. 객체 지향 프로그래밍은 프로그램을 유연하고 변경 용이하게 만들어 유지보수가 쉽고 코드를 최소화할 수 있다는 장점이 있다. 이러한 프로그래밍의 대표적인 특징들 속에서 인터페이스는 많은 비중을 차지하고 있는데 그중에서 나는 추상화와 다형성에서 인터페이스의 가치가 드러난다고 생각한다. - 추상화를 가진 인터페이스 추상화란 객체의 공통된 특징을 정의하여 불필요한 세부사항은 제거하고 필요한 정보의 표현을 목적으로 한다. 객체 지향 측면에서 인터페이스는 어떠한 객체의 핵심적인 역할을 정의하는 것으로 구체적인 구현 사..
누군가 객체 지향 프로그래밍에 대해 설명해달라고 한다면 "객체들로 구성된 파일들이 유기적으로 작용하여 효율적으로 프로그램을 유지, 보수할 수 있는 방식이다" 정도의 얕은 설명만 할 수 있을 뿐 대표적인 4가지 특징에 대해 명확하게 떠오르지 않았다. 이번 기회를 통해 객체 지향의 특징에 대해 이해하고 넘어갈 수 있도록 정리해 보고자 한다. 객체 지향의 4가지 특징 1. 추상화 (Abstration) 중요하고 필요한 정보만을 표현하기 위하여 객체의 공통된 속성과 기능을 파악하여 정의하는 것 자바에서는 추상 클래스와 인터페이스를 통해 추상화를 구현할 수 있으며 다음은 인터페이스를 사용한 예시이다. public interface Machine { public abstract void turnOn(); publi..