분류 전체보기 (64) 썸네일형 리스트형 [JAVA] 다형성 - 메소드 오버라이딩(Method Overridng) 메소드 오버라이딩 메소드 오버라이딩이란 상위 클래스의 메소드를 하위클래스가 재정의 하는 것을 의미한다. 상위 클래스의 메소드를 그대로 가져다 쓰거나 상황에 따라 약간의 변형을 통해 사용하기 때문에, 오버라이딩한 메소드의 이름, 파라미터 갯수, 타입 등이 동일하여야 한다. class Parent{ void say(){ System.out.println("부모 클래스."); } } class Child{ void say(){ System.out.println("자식 클래스."); } } 오버라이딩한 메소드는 상속의 개념이기 때문에 부모 클래스의 해당 메소드의 동작이 포함되어 있어야한다. 상속은 분명 부모타입으로 자식타입을 참조할 수 있고 그 반대 역시 가능하다고 하였다. 그렇다면 이 경우에 오버라이딩된 메소.. [JAVA] 상속 상속 상속은 현실의 재산 물림과 유사하다. 재산 물림에 있어서 부모와 자식이 있다면, 이곳에는 부모 클래스와 자식 클래스가 있다. '~(자식 클래스)는 ~(부모 클래스)하다' 혹은 '~(자식 클래스)는 ~(부모 클래스)의 종류 중 하나이다'의 관계를 성립하는 것을 상속이라고 한다. 자식 클래스가 부모 클래스와 상속 관계가 형성되는 과정에서 자식 클래스는 부모 클래스의 필드와 메소드를 물려받는다. 이러한 방식은 중복을 줄이고 다형성 등의 장점이 있지만, 결합도가 높다는 단점을 가지고 있다. 잘못 사용하면 문제가 커지기 때문에 반드시 사용해야할 때에만 사용하는 것이 좋다. 추가로 아무것도 상속받지 않은 클래스는 java.lang.Object를 상속 받는다. (즉, 모든 클래스는 Object의 자손이다.) 상.. [JAVA] 클래스 다이어그램 클래스 다이어그램 프로그래밍을 진행할 때에는 “사용자가 원하는 요구 사항을 정의하는 것”, 즉, 설계가 중요하다. 요구 사항이라고 함은 객체의 기능 목록을 의미한다. 예를 들어, 엘리베이터의 경우 - 층수 버튼 클릭 - 목표 층수까지 장치 동작 제어 - 현재 층수의 화면 표시 등의 기능이 필요할 것이다. 이 때, 명사로 이루어진 것들은 인스턴스 객체, 동사로 이루어진 것들은 메소드라고 볼 수 있다. 이러한 요구 사항을 다이어그램으로써 표현할 수 있다. 프로그램 설계라는 것은 객체의 이름을 정하고 객체와 객체 간의 관계를 표현하는 것이기 때문에 다음과 같이 표현이 가능하다. [JAVA] Java 이해하기 객체지향 문법 Java는 객체지향 프로그래밍 언어이다. 객체지향이라는 단어의 개념이 솔직히 잘 이해되지 않는다. 풀어 설명하면 객체지향 프로그래밍이란 객체와 객체간의 상호작용, 즉, 관계를 이용하여 구성하는 것이다. 객체지향에 대해 설명하기 위해 엘리베이터와 그 설계도를 갖고 비유를 하자면, 설계도 : Class 엘리베이터 : Instance(Object) 라고 할 수 있다. 앞서 말했듯이 Java는 객체 지향 언어이므로 개발자는 작업을 할 때 Class(설계도)가 아닌 Object(엘리베이터)를 메모리 상에 어떻게 만들지, 어떻게 동작할지를 설계하는 것에 집중하여야한다. 객체인 엘리베이터, 층 버튼, 층수 화면 등이 아닌 각 객체간의 커뮤니케이션, 층 버튼과 엘리베이터 동작 제어 장치 간의 관계, 제어.. 이전 1 ··· 4 5 6 7 다음