객체 : 속성과 동작으로 구성되어있으며 자신의 속성을 가지고 다른것과 식별가능한것.
객체 지향 프로그래밍의 특징: 캡슐화,상속,다형성
캡슐화 : 객체으 ㅣ필드,메소드를 하나로 묶고 실제 구현 내용을 감추는 것을 말한다.
객체가 손상되지 않도록 하기 위해;
상속 : 필드와 메소드를 하위 객체에 물려주어 쉽고 빠르게 설계할수있고,
반복된 코드의 중복을 줄여 줌

다형성 : 같은 타입이지만 실행 결과가 다양한 객체를 이용할 수 있는 성질
EX))하나의 타입에 여러가지 객체를 대입함으로써 다양한 기능을 사용가능

객체와 클래스
클래스 : 개발자가 콬딩한 소스로 부터 나오는 설계도 (CLASS)
필드와 메소드가 정의 되어 있음
객체 : CLASS로 만들어진 객체 (인스턴스 )

객체 지향 프로그래밍의 3단계
1 . 클래스 설계
2. 사용할 객체 생성
3. 생성된 객체 이용

클래스 선언
1. 하나이상의 문자로 이루어져야 함.
2. 첫글자는 숫자 불가
3. 특수문자는 $와 _만 사용 가능
4. 자바 키워드 사용 불가 EX) int , string ..

객체 생성 방법 : new연산자를 사용하면됨
Scanner key = new Scanner();
클래스명 변수 = 연산자 생성자

여기서 생성자는 힙 메모리 영역에 생성됨
변수가 값을 담는것이 아닌 힙 영역의 주소를 저장함

클래스의용도
1. 라이브러리(API) 다른 클래스에서 이용할 목적으로 설계
2. 실행용 : 프로그램 실행 진입점인 MAIN()메소드 제공하는 역할을 한다

클래스의 구성요소
1.필드,생성자.3.메소드


필드 -: 생성자와 메소드 전체에서 사용되며 객체가 소멸되지 않는 한 객체와 함께 존재한다
생성자: 객체 생성 식초기화 담당
메소드 : 객체간의 데이터 전달의 수단 사용

필드 초기화방법
1. 필드 생성시 초기값 주는 방법
2. 생성자를 통해 초기값을 주는 방법


생성자 오버로딩(OVERLOADING)
외ㅜ에서 제공되는 다양한 데이터를 이용해 객체를 초기화하려면 생성자도 다양화 될
필요성이 있음,
-매개변수를 달리하는 생성자를 여러개 선언하는것이다.
-ㅋㅋㅋㅋ시발 틀렸네

생성자 호출
클래스의 다른 생성자 호출 방법 this(매개변수);

메소드
메소드는 객체의 동작에 해당하는 중괄호 블럭을 말한다. {}

메소드 선언
public int 메소드이름 (string a,string b) { ex}
리턴타입 메소드이름 (매개변수) {실행코드 작성 실행블럭}

리턴타입 : 리턴할 값의 타입에 따라 정해짐
메소드 이름 정의하는 방법
1. 숫자로 시작하면 안됨
2.특수문자 $와 _만 사용가능
3. 메소드명은 소문자로 시작
4.단어 혼합의 경우 합쳐지는 첫 문자는 대문자 ex) getString

219쪽 다시확인 매개변수의 수를 모를 경우

리턴 타입이 있는 경우 return 이 와야함
리턴 타입이 void 인 경우 리턴값없음

메소드 오버로딩 : 클래스내에 같은 이름의 메소드를 여러개 선언하는 것을 메소드 오버로딩이라고 한다.

필요이유 : 매개값을 다양하게 받아 처리할 수 있도록 하기 위함이다.

정적멤버와 static
객체를 생성하지 않고 사용할 수 있는 피드와 메소드=정적멤버
=클래스맴버

정적맴버 선언 = static 키워드를 추가롤 붙여주면됨
static 타입, 필들

싱글톤(싱글톤)
전체 프로그램에서 단하나의 객체만 만들도록 보장해야 하는 경우
이 객체를 싱글톤이라고 함

선언 방법은 생성자 앞엥 private 을 붙여 외부에서 접근하지 못하게 하면됨

final 필드와 상수
파이널 : 초기값이 저장되면 변하지 않는다
상수 : 불변의 값으로 원주율 이나 지구의 무게 등 ..
상수는=static final 이라고 생각하면됨 공용성을 띔.


패키지 : 클래스를 체계적으로 관리하기 위해 사용하며 클래스의 일부분이기도함

import문 같은 패키지에 속하는 클래스들은 아무런 조건없이 다른 클래스를사용
할수 있지만 다라ㅡㅏㄴ패키지에 속하는 클래스를 사용하려면


접근제한자
-특정 메소드를 호춠하기 위해 접근 제한자 제공
-접근제한자의 종류
-public default protected private
-

어노테이션 = 메타데이터
어떻게 컴파일하고 처리할 것인지 알려주는 정보

어노테이션의 기능
1. 컴파일러에게 코드 문법에러를 체크하도록 정보제공
2. 소프트웨어 개발 투이 빌드나 배치 시 코드를 자동으로 생성할 수 있도록 정보를 제공
3. 실행 시 특정 기능을 실행하도록 정보를 제공


어노테이션 정의방법
public @interface AnnotationName
인터페이스를 이용해 정의함

+ Recent posts