목록개발자의 일기/Study (12)
개발도생's Blog

프로그램을 작성할 때 문법에 맞지 않게 코드를 작성할 때 발생하는 문법 오류(Syntax Error), 문법에 맞게 작성이 된 프로그램이 예상하지 못한 오류가 발생해서 동작이 강제로 종료가 되는 경우가 있다. 예상하지 못한 상황이 발생하여 프로그램에 영향이 미치는 것을 '오류(Error)'와 '예외(Exception)' 두 가지로 구분이 가능하다. 오류(Error)는, 시스템 레벨에서 프로그램에 심각한 문제를 야기하여 실행 중인 프로그램을 종료시킨다. 오류는 개발자가 미리 예측하여 처리할 수 없는 것이 대부분이므로, 오류에 대한 처리는 할 수 없다. 예외(Exception)는, 오류와 마찬가지로 실행 중인 프로그램을 비정상적으로 종료시키지만, 발생할 수 있는 상황을 미리 예측하여 처리할 수 있다. 따라서..
객체 지향 프로그래밍에서 중요한 '추상화'에 대해서 공부했다. 추상화(Class&Method) 클래스들의 공통적인 요소를 뽑아서 상위 클래스를 만들어내는 것이다. 한 마디로 추상화는 공통적인 속성과 기능을 정의함으로써 코드의 중복을 줄이고, 클래스 간 관계를 효과적으로 설정하고, 유지&보수를 용이하게 하는 것이다. 추상 클래스(Abstract Class) 추상 클래스는 한 마디로 미완성 설계도이다. 하나 이상의 추상 메서드를 포함하는 클래스를 가리켜 추상 클래스(Abstract Method)라고 한다. 추상 클래스는 객체 지향 프로그래밍에서 중요한 특징인 다형성을 가지는 메서드의 집합을 정의할 수 있도록 한다. 미완성이기 때문에 이를 기반으로 인스턴스를 생성할 수 없다. 오직 상속을 통해 하위 클래스에서..

상속(inheritance)이란? 기존의 클래스에 기능을 추가하거나 재정의하여 새로운 클래스를 정의하는 것을 의미한다. 이러한 상속은 캡슐화, 추상화와 더불어 객체 지향 프로그래밍을 구성하는 중요한 요소이다. 상속을 이용하면 기존에 정의되어 있는 클래스의 모든 필드와 메서드를 물려받아, 새로운 클래스를 생성할 수 있다. 이때 기존에 정의되어 있던 클래스를 '부모 클래스(parent class)' 또는 '상위 클래스(super class)', '기초 클래스(base class)'라고도 부른다. 그리고 상속을 통해 새롭게 작성되는 클래스를 '자식 클래스(child class)' 또는 '하위 클래스(sub class)', '파생 클래스(derived class)'라고도 한다. // 부모 클래스 public c..

많이 사용하면서 잘 모르는 부분이라 공부해 봤다. Method란, 자바에서 클래스는 멤버(member)로 속성을 표현하는 필드(field)와 기능을 표현하는 메서드(method)가 있다. 메서드(method)란 어떠한 특정 작업을 수행하기 위한 명령문의 집합이라 할 수 있다. 그렇다면, Method는 왜 사용하는가? 클래스에서 메서드를 작성하여 사용하는 이유는, 중복되는 코드의 반복적인 프로그래밍을 피할 수 있기 때문이다. 모듈화로 인해 코드의 가독성을 높이고, 프로그램에 문제가 발생하거나 기능의 변경이 필요할 때도 손쉽게 유지보수를 할 수 있게 됩니다. Method의 정의는, public class Class { public void method() { // 구현부 } } Method를 생성하고 보면 ..

오늘은 'static' 키워드와 생성자(Constructor)에 대해서 공부해 봤다. 'static' 키워드란, 클래스를 정의할 때 'static 키워드'를 사용한 프로퍼티와 메서드는 해당 클래스의 인스턴스를 생성하지 않아도 접근할 수 있게 된다. 이러한 프로퍼티와 메서드를 정적 멤버(static member)라고 한다. ※예시 public class StaticClass { public static int test = 10; } public class TestClass { public static void main(String[] args) { System.out.println(StaticTest.test); } } 조금 더 쉽게 표현해 본다면, 같은 타입의 여러 객체가 공유할 목적의 필드에서 사용한다..