[공공데이터 개발과정] 0316 자바

송경근·2023년 5월 12일
0

자바 배우기

목록 보기
4/18
post-thumbnail

객체

의사나 행위가 미치는 대상
구체적, 추상적 데이터의 단위
액션,동작이 일어나는 액터

사담
컴퓨터는 전쟁 때문에 어마어마하게 발전
미사일 격추 프로그램을 만든다고 생각해보자
외부변수때문에 계산대로 되지않아서
컴퓨터 내부에 현실을 하나 더 만들자!
그래서 객체 지향이 생겨남.
C++ 어려워!
C++개발자 모아놓으니까
미사일맞고 다 죽음

Java

더 쉬움
실생활 > 현실반영 기능이 모두 있음
빨리 배울수 있음!
개발자를 빨리 양성가능

객체:

학생, 밥, 학교, 버스

학생 클래스 === 객체(비슷한개념)

객체 안에 들어있는 변수 > 필드 or 멤버 변수 라고 한다.

클래스는 설계도(붕어빵 틀)
객체는 제품(붕어빵

함수

하나의 기능을 수행하는 일련의 코드
함수는 호출하여 사용
여러곳에서 동일한 방식으로 호출되어 사용

정의(=구현)
호출(=사용)

메소드(=함수(비스무리))

클래스에는 필드( 멤버변수)만 있는게 아님
기능!객체에 속한 함수를 메소드라고 함.(종속적임)
멤버 함수

함수

종속적이지않음
함수는 이름, 매개변수, 반환값, 함수몸체 로 구성

메인함수는 구동을 위한 함수

보통은 클래스 하나에 메소드나 함수는 한개만 있는게 정석!

메소드 장점

중복 코드를 줄이고 코드 재사용
코드 모듈화해서 가독성 높음 프로그램 품질 향상

메소드 이름 작성
문자로 시작 후 캐멀 스타일

값 전달(call by value)과

참조에 의한 전달(call by reference)
주소를 참조하기 때문에 값에 직접적인 영향을 줌

메서드 오버로딩

메서드 시그니처: 메서드 이름, 매개변수의 개수, 매개변수의 타입과 순서를 의미
메서드 이름은 같지만 메서드 시그니쳐가 다를 경우 다른 메서드라 생각
이를 메서드 오버로딩 이라함.

재귀함수

메소드 내에서 자신을 호출하는 함수

Static : 다른 클래스에서 메소드를 실행할때 new를 안받고도 실행할 수 있게 해줌.

개선,향상된 for 문

For(int a:i){
Syso"a+i");

}

객체

소프트웨어 객체는 현실세계의 객체를 필드와 메서드로 모델링한것.
상태를 필드로 정의, 동작을 메서드로 정의
필드는 객체 내부에 선언된 변수.
메서드는 객체 내부에 정의된 동작

객체지향

Object oriented programming

모델링:

현실을 s/w로 설계

절차지향 프로그래밍

순서에 맞추어 단계적으로 실행하도록 명령어 나열
명령어의 순서와 흐름에 중점
작업예상가능 > 직관적, 규모가 작을때 프로그래밍과 이해하기가 용이
소프트웨어는 계산위주이므로 절차지향이 적합.

객체지향 프로그래밍

현실세계를 객체 단위로 프로그래밍.
객체는 필드와 메서드를 하나로 묶어서 표현
필드 = 데이터 = 멤버 변수
메서드 = 코드 = 멤버함수,동작,기능

객체와 객체끼리 상호작용함.

인스턴스화

특징

캡슐화

(정보 은닉) public 공용 private 사적
객체의 데이터, 동작을 하나로 묶고 실제 구현 내용을 외부에 감추는것
: 다른 방법으로 사용 할 수 있게 도와줌

상속

상위객체를 상속받은 하위 객체가 상위 객체의 메서드와 필드를 사용

코드의 재사용성을 높일 수 있음. 유지보수시간 최소화

profile
개발자가 되려는 학생입니다

0개의 댓글