티스토리 뷰
절차지향
- 순차적으로 처리하는 프로그래밍 방식
- 예)c언어
- 장점 : 속도가 빠름
- 단점 : 유지보수가 어렵다
객체지향
- 데이터와 절차를 하나의 덩어리로 묶어서 생각
- 예)자바
- 부품을 조립하는 것과 유사한 방식
- 단점 : 절차지향보다 느리다.
- 장점 : 유지보수가 좋다.
객체 지향 프로그래밍(OOP : Object-Oriented Programming)
특성 : 캡슐화, 상속, 다형성, 추상화
- 캡슐화 : 객체를 캡슐로 싸서 그 내부를 보호하고 볼 수 없게 하는 것
- 상속 : 하위 클래스가 상위클래스의 기능을 사용할 수 다
- 다형성 : 같은 이름의 메소드가 클래스 혹은 객체에 따라 다르게 구현 되는 것
- 추상화 : 여러가지 사물이나 개념에서 공통되는 속성이나 특성을 간추려서 표현
프로그래밍에서의 객체
- 실체 객체 중에서 프로그래밍 화 할 가치가 있거나 가능한 것
- 속성과 기능이 존재하는 것
- 프로그래밍화 가치 o : 학생, 선생님, 수업, 자동차, 비행기 등등
학생(속성 : 학년, 성별, 이름 / 기능 : 등교하다. 공부하다. ) => 속성과 기능이 존재하기 때문
- 프로그래밍화 가치 x : 공기, 분위기, 냄새 등등
클래스
- 객체를 표현한 설계도
- 객체를 코딩을 통해 클래스로 만듦
클래스의 용도
- 실행용 : main함수, 프로그램 실행에 관한 클래스, 다른 클래스에서 사용 X
- 라이브러리용 : Math, System, Arrays 등 다른 클래스에서 기능을 이용할 수 있는 클래스
- data용 : 정보를 담고 있음, 사람이나 사물의 정보를 저장하는 클래스
클래스 선언 방법
접근 제한자 class 클래스 명 {
속성들 - 필드
기능들(main()) - 메서드
}
클래스 구성
- 필드(인스턴스 멤버, 멤버 변수)
- 메서드(인스턴스 메서드)
- 생성자
필드와 메서드 선언
public class Car{//클래스 선언
String carName; //필드 선언
public void go(){ //메서드 선언
System.out.println(carNmae + "출발합니다.");
}
}
Car.java
- 리턴 값이 있는 경우 : 리턴 값의 자료형을 작성
- 리턴 값이 없는 경우 : void로 작성
필드와 메서드 사용
public class EX{
Car car = new Car();//클래스를 이용해 객체 생성
car.carName = "소나타";//초기화(객체명.필드명)
car.go();//메서드 사용
}
EX.java
Car 변수명 = new Car(); 이렇게 2번째 줄 처럼
클래스를 이용해 객체 선언하는 것을 클래스의 객체화/ 인스턴스화라고 한다.
객체화는 공간을 생성해 참조값(공간의 위치)을 변수명에 저장한다.
인스턴스 : 클래스의 위치(참조값)를 지니는 변수, 객체명(car)
정적 멤버
- 선언 시 static키위드가 붙은 멤버들
- 생성된 모든 객체에서 접근이 가능하다. (객체 생성 개수를 카운트할 수 있음)
- 따로 객체를 생성하지 않고도 사용이 가능하다.
- static을 사용해 선언한 경우 호출 시에 인스턴스 명이 아닌 클래스 명으로 호출한다.
public class Student{
static String school = "자바고등학교";
}
public class exam{
public static void main(String[] args){
System.out.println(Student.school); // 객체화 필요없이 호출 가능
}
}
'JAVA' 카테고리의 다른 글
[JAVA] ch.10 상속, super, 접근 제한자, 오버라이딩 (0) | 2024.04.03 |
---|---|
[JAVA]메서드, getter/setter, 생성자, 매개변수, return, 오버로딩, this (1) | 2024.03.27 |
[JAVA]다차원 배열, 2차원 배열 (0) | 2024.03.26 |
[JAVA]배열(array), 깊은 복사, 얕은 복사, Arrays클래스 (1) | 2024.03.26 |
[JAVA]제어문, 조건문(if문, if ~ else문, switch문), 반복문(for, while, do-while), 기타 제어문(continue, break) (1) | 2024.03.24 |
- Total
- Today
- Yesterday
- 자바 자료형
- dbms
- 자료형
- 생성자
- 깊은복사
- 자바 출력문
- 배열
- 메서드
- 비트 연산자
- 부호 연산자
- this
- 서식문자
- getter
- 관계 연산자
- 얕은복사
- 복합 대입 연산자
- SETTER
- 삼항 연산자
- 논리 연산자
- 변수
- 제어문자
- Arrays클래스
- 오라클
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |