백엔드 언어2017. 3. 24. 19:47



객체 : 연관된 메소드와 그 메소드가 사용하는 변수들을 분류하고 그룹핑하는것의 대상


은닉화, 캡슐화 : 둘다 같은말로써, 내부의 동작 장법을 모르더라도 사용자는 사용할 수 있도록 만드는것


인터페이스 : 부품을 서로 교환할 수 있도록 규격을 만들어 놓는것





클래스 : 연관되어 있는 변수와 메소드의 집합


- 클래스 : 설계도

- 인스턴스 : 제품


Calculator c1 = new Calculator();

-> Calculator = 설계도

-> c1 = 제품

-> 데이터타입 = 사용자정의타입


변수 : 상태

메소드 : 행동

-> 하나의 클래스를 바탕으로 서로 다른 상태를 가진 인스턴스를 만들면 서로 다른 행동을 하게 된다는것.

-> -> 하나의 클래스가 여러개의 인스턴스가 될 수 있다는 점이 객체 지향이 제공하는 가장 기본적인 재활용성





객체의 구성원 : 변수, 메소드


static을 맴버(변수,메소드) 앞에 붙이면 클래스의 맴버가 된다.





메소드 : 객체의 동작


입력과 출력 : Javascanner 을 이용한 입력, 출력


객체 지향 프로그래밍 : 설계, 부품화, 캡슐화, 인터페이스

1) 설계 : 추상화하여 설계

2) 부품화 : 레고조립처럼 부품으로 만들어서 조립

3) 캡슐화(은닉화) : 부품이 어떻게 만들어졌는지 모르더라도 사용법을 알면, 사용할 수 있도록 내부의 동작방법을 숨기고 사용방법만 노출

4) 인터페이스 : 부품과 부품을 서로 교환할 수 있도록 만들어 놓는 틀(껍데기)


클래스와 인스턴스 그리고 객체

1) 클래스 : 연관되어 있는 변수와 메소드의 집합

2) 인스턴스 : 클래스는 설계도, 인스턴스는 제품

3) 객체 : 변수는 상태, 메소드는 행동


클래스 맴버와 인스턴스 맴버 : 지역변수, 전역변수와 비슷한 맥락


유효범위 : 지역변수, 전역변수와 비슷한 맥락


초기화와 생성자

1) 생성자 : 어떤 일을 시작하기 전에 준비를 하는것

  ※ 특징 : 생성자의 이름은 클래스의 이름과 동일하다, 값을 반환하지 않는다.


상속 : 재활용성을 위해 물려주는것


상속과 생성자 : super는 상위클래스를 가리키는 키워드, super 사용법


오버라이딩 : 상속받은 메소드를 재정의


오버로딩 : 인자수에 따라 실행방법을 다르게


클래스 패스 : 클래스 경로에 관해서


패키지 : 패키지 경로 및 특정 패키지 로드 방법


API와 API 문서 보는 법 : 자바 시스템을 제어할 수 있도록 자바에서 제공하는 명령어를 의미한다. 예를들면 System.out.println(""); 같은거


접근 제어자 : public는 제일많이 오픈, private는 제일많이 닫힘


abstract : 추상 메소드, 예를 들면

public abstract int a();

이런식으로 메소드를 선언만하고 이것을 상속받고 오버라이딩하여 사용이 가능


final : 상수를 지정, PI:3.14 같은거, 변하지 않는수


인터페이스 : 껍데기, 특정 메소드를 사용하도록 강제


다형성 : A obj = new B(); 같은거


예외 : try, catch로 예외처리, throw 또는 throws 같은것으로 던질 수 있음


Object 클래스 : 모든 클래스는 Object 를 상속받은 상태임.

예를들면 class O extends Object {} 처럼 항상 상속 받으나 extends Object 부분은 숨겨진거


상수와 enum

상수 : 변하지 않는 수, 한번 정의하면 그 값이 안바뀜

enum : 많은곳에서 사용하던 디자인 팬턴을 자바언어가 채택해서 문법으로 단순화시킨것


참조 : 복제는 복사를 의미함, 참조는 symbolic link 같은거, 바탕화면 바로가기같이 원본이 바뀌면 같이바뀜


제네릭 : 클래스 내부에서 사용할 타입을 외부에서 지정하는 기법

class Person<T> {

  public T info;

}

이런식으로 < > 를 써서 사용


Collections Framework : 배열은 처음 갯수를 지정하면 수정할 수 없지만. 이것은 수정가능, 하지만 사용하는 문법이 배열과 조금 다름

Posted by EL2A