본문 바로가기

728x90
반응형
언어/JAVA
728x90
반응형
4

캡슐화, 상속, 다형성, Fan in Fan out, 모듈 결합도와 응집도 캡슐화: 데이터(속성)와 데이터를 처리하는 함수를 하나로 묶는 것 ㄴ 캡슐화된 객체는 인터페이스를 제외한 세부 내용이 은폐되어 외부에서 접근이 제한적이기 때문에 외부 묘듈의 변경으로 인한 파급효과가 적다 캡슐화된 객체들은 재사용이 용이하다 객체들 간의 메시지를 주고받을 때 상대 객체의 세부 내용은 알 필요가 없으므로 인터페이스가 단순해지고, 객체 간의 결합도가 낮아진다. 상속: 이미 정의된 상위 클래스의 모든 속성과 연산을 하위 클래스가 물려받는 것 솝트의 재사용률을 높임 다중 상속: 한 개의 클래스가 두 개 이상의 상위 클래스로부터 속성과 연산을 상속받는 것 => 안되는 언어 많음. 클래스 계층 복잡하게 만들어서. 다형성: 메시지에 의해 객체가 연산을 수행하게 될 때 하나의 메시지에 대해 각각의 클래스.. 2020. 8. 16.
구조적 기법과 객체 지향 기법. 클래스 간의 관계 구조적 기법: 프로그램=데이터+함수 객체 지향 기법: 객체=데이터+함수, 프로그램=객체+객체 객체의 메소드는 다른 객체로부터 메시지를 받았을 때 정해진 기능을 수행한다. 클래스: 공통된 속성과 연산을 갖는 객체(인스턴스, instance)의 집합 = 각각의 객체들이 갖는 속성과 연산을 정의하고 있는 틀. 클래스로부터 새로운 객체를 생성하는 것 = 인스턴스화 최상위 클래스 = 상위 클래스 없는 클래스 슈퍼 클래스 = 특정 클래스의 상위/부모 클래스 서브 클래스 = 특정 클래스의 하위/자식 클래스 2020. 8. 16.
JAVA 캐스팅, 업캐스팅, 다운캐스팅 캐스팅 = 형변환 캐스팅 casting : 데이터 손실을 막기 위해 다형성을 지켜주는 것 ex) int에 float을 넣으면 소수점 뒷자리가 날라가버림 => 데이터 손실 -> 방지위해 캐스팅: int a = (int)1.0; 그래서 큰 거에 작은 걸 넣을 때는 안 해줘도 자동으로 캐스팅이 되는 것! 업 캐스팅 upcasting : 자식클래스가 부모클래스가 되는 것(이때 자식 클래스의 인스턴스는 잠시 가려져 있을 뿐 사라지는 것은 아니다.) 업캐스팅은 자식 인스턴스가 부모 자료형의 데이터를 모두 갖고 있기 때문에 형변환 기호를 붙이지 않아도 된다. 변수가 원하는 정보를 인스턴스가 이미 다 알고 있기 때문이다. class Parent{ ...} class Child extends Parent{ @Overri.. 2020. 8. 15.
자바 프로그램의 구조, 문법 자바는 보통 클래스{메소드, 메인메소드}의 형태로 구성되어있다. 둘 다 클래스 안에 선언되어야 한다는 말이다. 프로그램은 main() 메소드로부터 시작된다. 메인 메소드와 일반 메소드를 구분하는 기준은 public static void main(~~){~~;} main이 붙어있냐 아니냐! 이다. 그렇기 때문에 당연히 1클래스 1메인메소드의 구성을 띤다. 자바에서의 문장은 클래스나 메소드 선언 등을 위해 {이렇게 블록으로 구성되는 경우}에는 }로 끝나고, 일반 문장은 (변수 정의나 뭐 코드 짠 거) ; 이렇게 세미콜론으로 표시한다. 꼭 써줘야 컴파일 에러가 안 나니 그냥 한 번 쓸 때 잘하자. 자바 주석은 한 줄은 //한 줄, 여러 줄은 /* 여러 줄 */ 이렇게 쓴다. 자바는 한 번에 변수를 여러 개 선.. 2020. 8. 5.