
하기 전 마음가짐˙˙˙˙ 그렇다면 객체를 공부해봅시다˙˙˙˙ 가보자고 !
1. OOP(Object Oriented Programming)
객체지향프로그래밍(코드를 작성한다)
1) 객체 (Object ->현실에 있는 객체)
: 독립적으로 각각 구분해서 인식할 수 있는 모든 것
// 물건 , 물체 , 요소, 대상, 목적
ex) 키보드 , 김치 , 나 자신 , 조원 , 미세먼지, 판소리 무형 문화제 ˙˙˙˙˙ (그냥 모든것들을 객체라고 생각하면 편하다.)
2) 지향 Oriented
: 어떠한 것을 목표로 함
3) 객체 지향
: 독립적으로 각각 구분해서 인식할 수 있는 모든 것을 목표로 함
(컴퓨터에서의)언어 : 코드 , 코딩 방식
4) 객체지향언어(Instance)
독립적으로 각각 구분해서 인식할 수 있는 목표를 하는 코딩 방식
현실에서 객체란 ?
나의 속성 : 이름 나이 생년월일 ˙˙˙
나의 기능 : 밥먹기, 공부하기, 운동하기 ˙˙˙
ㄴ자신의 속성(값, data)과 기능(동작,행동)이 다른 것들 과 구분되어 식별 가능한 것
만약, 현실세계라면 내가 문 밖에 나가려면, 문을 열고 나가야한다.
즉 현실세계는 나와 문인 독립적인 객체가 문을 열고 나가면서 둘이 만나 상호작용을 하는 것이고,
이걸 컴퓨터로 옮겨 놓아 만들어낸 것이 바로 객체지향언어이다.

다시 한번 말하자면, 현실 세계는 사물이나 개념처럼 독립되고 구분되는 각각의 객체로 이루어져 있으며, 발생하는 모든 사건들은 객체간의 상호작용이다. 이 개념을 컴퓨터로 옮겨 놓아 만들어낸 것이 객체지향 언어이다.
그렇다면 객체지향언어는 대충 알겠다! 그렇다면 객체와 클래스에 대해서 알아보자
① 객체 (Instance)
ㄴ클래스에 정의된 내용대로 new 연산자를 통해 메모리 영역에 생성된 것이다.
ㄴ 위에 객체(Object)에 대해서 설명했는데 또 객체 (Instance)가 나오다니, 이것에 차이는 무엇일까 ?
이부분은 다음 시간에 정리하였다. 궁금하다면 '10일차 _ 객체지향 2번째 시간'을 확인해보자
② 클래스 (class)
ㄴ객체를 만들기 위해서 객체의 특성(속성, 기능)에 대한 정의를 한 것
ㄴ클래스를 만들기 위해서는 추상화 / 캡슐화가 필요하다.
나를 이용해서 클래스를 만들면 아래와 같다.
ㄴ 박진아라는 객체를 만들기 위해 일종의 설계도이다.
클래스만 가지고 사용할 수 없다! 그렇다면 어떻게 해야하는가 ?
객체를 생성해야한다!
객체는 new를 이용해서 만들면 된다!
ex.객체로 만들기 위해 new를 이용해서 객체를 만들면 된다.
public class 박진아 {
- 속성
이름 : 박진아
나이 : **
직업 : 강사
- 기능
밥을 먹는다()
잠을 잔다()
강의를 한다()
}
클래스에 정의 된 대로 ( new 를 이용해서 ) 메모리에 객체를 만드니까 사람( 박진아 )이 되네!
클래스는 객체를 만들기 위한 설계도구라고 생각하자!
5) 객체지향 특징 (3+1)
① 캡슐화 == 알약
: 코드가 모아져 있다. == 알약 안에 약이 모아져 있다.
: 외부로부터 보호해준다. == 알약이 장까지 도달하려면 위액/ 소화액를 만나서 없어지지 않게 보호해줘야한다.
추상화를 통해 정리된 데이터들과 기능을 하나로 묶어 관리하는 기법 ( { } 묶어져 있는걸 볼 수 있다.)
클래스의 가장 중요한 목적인 데이터의 직접 접근제한을 원칙으로 하여
클래스 외부에서 데이터의 직접적인 접근을 막고,
대신 간접적으로 데이터에 접근할 수 메소드를 클래스 내부에 작성하는 방법
ㄴ간접적으로 접근할 수 있도록 getter / setter 을 이용한다.
② 상속
: 부모 객체가 나에게 상속해준다 (나는 부모의 돈과 내가 모은 돈을 같이 쓴다.)
③ 다형성
: 상황에 맞게 객체모양이 바뀜 (다양한 형태를 지니는 성질)
④ 추상화
: 구체적이지 않다.
프로그램에서 필요한 공통점을 추출하고, 불필요한 부분을 제거하는 과정
ex. 사람을 객체로 만든다면,
사람이라면 있는 '이름' '나이' '주민등록번호' 등등이 있겠고,
주식 / 비트코인 같이 누구는 있고 누구는 없는 것은 불필요한 것으로 제거해야한다!
'ON > JAVA' 카테고리의 다른 글
11일차_객체지향 3번째 시간 (0) | 2023.05.01 |
---|---|
10일차_ 객체지향 2번째 시간 (0) | 2023.04.28 |
8일차_ 2차원 배열 (0) | 2023.04.26 |
8일차_배열 (0) | 2023.04.25 |
7일차 _ 배열 (0) | 2023.04.24 |

하기 전 마음가짐˙˙˙˙ 그렇다면 객체를 공부해봅시다˙˙˙˙ 가보자고 !
1. OOP(Object Oriented Programming)
객체지향프로그래밍(코드를 작성한다)
1) 객체 (Object ->현실에 있는 객체)
: 독립적으로 각각 구분해서 인식할 수 있는 모든 것
// 물건 , 물체 , 요소, 대상, 목적
ex) 키보드 , 김치 , 나 자신 , 조원 , 미세먼지, 판소리 무형 문화제 ˙˙˙˙˙ (그냥 모든것들을 객체라고 생각하면 편하다.)
2) 지향 Oriented
: 어떠한 것을 목표로 함
3) 객체 지향
: 독립적으로 각각 구분해서 인식할 수 있는 모든 것을 목표로 함
(컴퓨터에서의)언어 : 코드 , 코딩 방식
4) 객체지향언어(Instance)
독립적으로 각각 구분해서 인식할 수 있는 목표를 하는 코딩 방식
현실에서 객체란 ?
나의 속성 : 이름 나이 생년월일 ˙˙˙
나의 기능 : 밥먹기, 공부하기, 운동하기 ˙˙˙
ㄴ자신의 속성(값, data)과 기능(동작,행동)이 다른 것들 과 구분되어 식별 가능한 것
만약, 현실세계라면 내가 문 밖에 나가려면, 문을 열고 나가야한다.
즉 현실세계는 나와 문인 독립적인 객체가 문을 열고 나가면서 둘이 만나 상호작용을 하는 것이고,
이걸 컴퓨터로 옮겨 놓아 만들어낸 것이 바로 객체지향언어이다.

다시 한번 말하자면, 현실 세계는 사물이나 개념처럼 독립되고 구분되는 각각의 객체로 이루어져 있으며, 발생하는 모든 사건들은 객체간의 상호작용이다. 이 개념을 컴퓨터로 옮겨 놓아 만들어낸 것이 객체지향 언어이다.
그렇다면 객체지향언어는 대충 알겠다! 그렇다면 객체와 클래스에 대해서 알아보자
① 객체 (Instance)
ㄴ클래스에 정의된 내용대로 new 연산자를 통해 메모리 영역에 생성된 것이다.
ㄴ 위에 객체(Object)에 대해서 설명했는데 또 객체 (Instance)가 나오다니, 이것에 차이는 무엇일까 ?
이부분은 다음 시간에 정리하였다. 궁금하다면 '10일차 _ 객체지향 2번째 시간'을 확인해보자
② 클래스 (class)
ㄴ객체를 만들기 위해서 객체의 특성(속성, 기능)에 대한 정의를 한 것
ㄴ클래스를 만들기 위해서는 추상화 / 캡슐화가 필요하다.
나를 이용해서 클래스를 만들면 아래와 같다.
ㄴ 박진아라는 객체를 만들기 위해 일종의 설계도이다.
클래스만 가지고 사용할 수 없다! 그렇다면 어떻게 해야하는가 ?
객체를 생성해야한다!
객체는 new를 이용해서 만들면 된다!
ex.객체로 만들기 위해 new를 이용해서 객체를 만들면 된다.
public class 박진아 {
- 속성
이름 : 박진아
나이 : **
직업 : 강사
- 기능
밥을 먹는다()
잠을 잔다()
강의를 한다()
}
클래스에 정의 된 대로 ( new 를 이용해서 ) 메모리에 객체를 만드니까 사람( 박진아 )이 되네!
클래스는 객체를 만들기 위한 설계도구라고 생각하자!
5) 객체지향 특징 (3+1)
① 캡슐화 == 알약
: 코드가 모아져 있다. == 알약 안에 약이 모아져 있다.
: 외부로부터 보호해준다. == 알약이 장까지 도달하려면 위액/ 소화액를 만나서 없어지지 않게 보호해줘야한다.
추상화를 통해 정리된 데이터들과 기능을 하나로 묶어 관리하는 기법 ( { } 묶어져 있는걸 볼 수 있다.)
클래스의 가장 중요한 목적인 데이터의 직접 접근제한을 원칙으로 하여
클래스 외부에서 데이터의 직접적인 접근을 막고,
대신 간접적으로 데이터에 접근할 수 메소드를 클래스 내부에 작성하는 방법
ㄴ간접적으로 접근할 수 있도록 getter / setter 을 이용한다.
② 상속
: 부모 객체가 나에게 상속해준다 (나는 부모의 돈과 내가 모은 돈을 같이 쓴다.)
③ 다형성
: 상황에 맞게 객체모양이 바뀜 (다양한 형태를 지니는 성질)
④ 추상화
: 구체적이지 않다.
프로그램에서 필요한 공통점을 추출하고, 불필요한 부분을 제거하는 과정
ex. 사람을 객체로 만든다면,
사람이라면 있는 '이름' '나이' '주민등록번호' 등등이 있겠고,
주식 / 비트코인 같이 누구는 있고 누구는 없는 것은 불필요한 것으로 제거해야한다!
'ON > JAVA' 카테고리의 다른 글
11일차_객체지향 3번째 시간 (0) | 2023.05.01 |
---|---|
10일차_ 객체지향 2번째 시간 (0) | 2023.04.28 |
8일차_ 2차원 배열 (0) | 2023.04.26 |
8일차_배열 (0) | 2023.04.25 |
7일차 _ 배열 (0) | 2023.04.24 |