9-1. 객체 지향 설명
1. 추상화
- 해결해야할 문제 및 복잡한 것을 소프트웨어적으로 단순화 시켜서 만든 행위라는 것이다.
- 객체들의 공통적인(기능, 속성)을 도출하는 것이며, 클래스를 정의하는 것을 추상화라고 한다.
가장 대표적인 예는, 지하철 노선이다.중요한 부분을 강조하기 위해
불필요한 사항들은 제거하고 가장 본질적이고 필요한 관점만 추출하여 표현하고 있다.

이미지 참조 : https://opentutorials.org/module/516/5399
2. 부품화
메소드는 부품화의 예라고 할 수 있다.
ex. 우리가 컴퓨터를 구매했다. 모니터/키보드/마우스/본체/ 스피커를 샀을 것이다. 근데 어느날 스피커에 소리가 안들린다. 그렇다면 우리는 컴퓨터 전체를 버리는것이 아니라 새로운 스피커 구매하여 부품만 변경하면 된다.
이것이 부품화라는 것으로 부품화의 장점은 기능별로 분류되어 있어 코드의 양을 줄이며 필요한 코드를 찾기 쉽고 문제의 진단도 빨라 진다는 것이다.
3. 은닉화/ 캡슐화
- 실제 구현되는 부분을 외부에 드러나지 않도록 정보를 은닉할 수 있으며, 객체가 독립인 역할 을 할 수 있어 데이터와 기능을 하나로 묶어 관리가 가능하다.
- 내부의 동작 방법을 객체 안으로 숨기고 사용자에게 그 부품의 사용방법(메소드)을 노출하고 있는 것이다.
ex. 제대로 된 부품이라면 어떻게 만들어졌는지 모르는 사람들도 그 부품을 사용하는 방법만 알면 쓸 수 있다.
모니터가 어떤식으로 동작해서 화면에 정보를 노출하는지는 모르지만, 컴퓨터와 모니터를 연결하는 것만 알면 화면에 노출하는 것을 볼 수 있는 것과 같은 이치이다.
4. 인터페이스
잘 만들어진 부품이라면 부품과 부품을 서로 교환 할 수 있어야한다.
ex. 집에 있는 컴퓨터 A모니커가 망가져 B 모니터를 연결했다. 즉 같은 구격이며, 표준화 되어 있기에 가능한 것이다.
9-2. 객체 지향 프로그래밍
객체 지향이란 객체가 중심이 되며 누가 어떤 일을 할 것인가가 핵심이된다.
① 객체를 정의
② 객체의 기능 구현
③ 객체 사이의 협력 구현
* 클래스 (Class)란 ?
객체에 대한 속성과 기능을 코드로 구현한 것이다.
1) 클래스 생성하기
클래스를 사용하기 위해서는 객체를 먼저 정의를 해야한다.
new 예약어를 이용하여 클래스 생성
① 객체를 먼저 생성한다.
클래스형 변수이름(참조변수) = new 생성자;
Student student A = new Student(); → 하나의 객체를 만든것임.

1) 멤버 변수
- 객체가 가지고 있는 속성을 변수로 표현
ex. 학생에 대한 정보를 저장하기 위해 각각 항목
( 학번 / 이름 / 주소 등등 멤버 변수가 존재한다,)
2) 메소드 (함수)
- 객체의 기능을 구현하는 것이다.
- 하나의 기능을 수행하는 일련의 코드 중복되는 기능은 함수로 구현하여 함수를 호출하여 사용함.
ex. 학생이 해야하는 항목
( 수강신청,수업듣기,시험보기 등 메소드가 존재한다.)
기억이 안난다면, 이전에 작성했던 포스팅을 보면 더욱 이해가 될 예정입니다.
8. 메소드란 ?
8-1 . 메소드란 ? (약속이니 이해하려하지 말자!) 특정 기능을 정의한 코드의 집합이라고 생각하면 되며 재활용할 수 이기에 코드량 줄어들어 유지보수가 유리하다. 웅장하고, 결함이 없고, 유조
jnaa.tistory.com
클래스 정의하기 (접근제어자) class 클래스 이름 { 멤버변수; 메소드; } |
용어 | 설명 |
객체 | 객체 지향 프로그램의 대상, 생성된 인스터스 |
클래스 | 객체를 프로그래밍하기 위해 드로 만든 상태 |
인스턴스 | 클래스가 메모리에 생성된 상태 |
멤버변수 | 클래스의 속성, 특성 |
메서드 | 멤버변수를 이용하여 클래스의 기능을 구현 |
참조변수 | 메모리에 생성된 인스턴스를 가르키는 변수 |
참조 값 | 생성된 인스턴스의 메모리 주소값 |
'ON > 국비 전 독학' 카테고리의 다른 글
11. 클래스 맴버란 ? (0) | 2023.03.26 |
---|---|
10. 클래스와 인스턴스 그리고 객체란? (0) | 2023.03.25 |
[복습] 반복문으로 구구단을 만들자 (0) | 2023.03.21 |
8. 메소드란 ? (0) | 2023.03.17 |
07. 배열이란 ? (0) | 2023.03.16 |
9-1. 객체 지향 설명
1. 추상화
- 해결해야할 문제 및 복잡한 것을 소프트웨어적으로 단순화 시켜서 만든 행위라는 것이다.
- 객체들의 공통적인(기능, 속성)을 도출하는 것이며, 클래스를 정의하는 것을 추상화라고 한다.
가장 대표적인 예는, 지하철 노선이다.중요한 부분을 강조하기 위해
불필요한 사항들은 제거하고 가장 본질적이고 필요한 관점만 추출하여 표현하고 있다.

이미지 참조 : https://opentutorials.org/module/516/5399
2. 부품화
메소드는 부품화의 예라고 할 수 있다.
ex. 우리가 컴퓨터를 구매했다. 모니터/키보드/마우스/본체/ 스피커를 샀을 것이다. 근데 어느날 스피커에 소리가 안들린다. 그렇다면 우리는 컴퓨터 전체를 버리는것이 아니라 새로운 스피커 구매하여 부품만 변경하면 된다.
이것이 부품화라는 것으로 부품화의 장점은 기능별로 분류되어 있어 코드의 양을 줄이며 필요한 코드를 찾기 쉽고 문제의 진단도 빨라 진다는 것이다.
3. 은닉화/ 캡슐화
- 실제 구현되는 부분을 외부에 드러나지 않도록 정보를 은닉할 수 있으며, 객체가 독립인 역할 을 할 수 있어 데이터와 기능을 하나로 묶어 관리가 가능하다.
- 내부의 동작 방법을 객체 안으로 숨기고 사용자에게 그 부품의 사용방법(메소드)을 노출하고 있는 것이다.
ex. 제대로 된 부품이라면 어떻게 만들어졌는지 모르는 사람들도 그 부품을 사용하는 방법만 알면 쓸 수 있다.
모니터가 어떤식으로 동작해서 화면에 정보를 노출하는지는 모르지만, 컴퓨터와 모니터를 연결하는 것만 알면 화면에 노출하는 것을 볼 수 있는 것과 같은 이치이다.
4. 인터페이스
잘 만들어진 부품이라면 부품과 부품을 서로 교환 할 수 있어야한다.
ex. 집에 있는 컴퓨터 A모니커가 망가져 B 모니터를 연결했다. 즉 같은 구격이며, 표준화 되어 있기에 가능한 것이다.
9-2. 객체 지향 프로그래밍
객체 지향이란 객체가 중심이 되며 누가 어떤 일을 할 것인가가 핵심이된다.
① 객체를 정의
② 객체의 기능 구현
③ 객체 사이의 협력 구현
* 클래스 (Class)란 ?
객체에 대한 속성과 기능을 코드로 구현한 것이다.
1) 클래스 생성하기
클래스를 사용하기 위해서는 객체를 먼저 정의를 해야한다.
new 예약어를 이용하여 클래스 생성
① 객체를 먼저 생성한다.
클래스형 변수이름(참조변수) = new 생성자;
Student student A = new Student(); → 하나의 객체를 만든것임.

1) 멤버 변수
- 객체가 가지고 있는 속성을 변수로 표현
ex. 학생에 대한 정보를 저장하기 위해 각각 항목
( 학번 / 이름 / 주소 등등 멤버 변수가 존재한다,)
2) 메소드 (함수)
- 객체의 기능을 구현하는 것이다.
- 하나의 기능을 수행하는 일련의 코드 중복되는 기능은 함수로 구현하여 함수를 호출하여 사용함.
ex. 학생이 해야하는 항목
( 수강신청,수업듣기,시험보기 등 메소드가 존재한다.)
기억이 안난다면, 이전에 작성했던 포스팅을 보면 더욱 이해가 될 예정입니다.
8. 메소드란 ?
8-1 . 메소드란 ? (약속이니 이해하려하지 말자!) 특정 기능을 정의한 코드의 집합이라고 생각하면 되며 재활용할 수 이기에 코드량 줄어들어 유지보수가 유리하다. 웅장하고, 결함이 없고, 유조
jnaa.tistory.com
클래스 정의하기 (접근제어자) class 클래스 이름 { 멤버변수; 메소드; } |
용어 | 설명 |
객체 | 객체 지향 프로그램의 대상, 생성된 인스터스 |
클래스 | 객체를 프로그래밍하기 위해 드로 만든 상태 |
인스턴스 | 클래스가 메모리에 생성된 상태 |
멤버변수 | 클래스의 속성, 특성 |
메서드 | 멤버변수를 이용하여 클래스의 기능을 구현 |
참조변수 | 메모리에 생성된 인스턴스를 가르키는 변수 |
참조 값 | 생성된 인스턴스의 메모리 주소값 |
'ON > 국비 전 독학' 카테고리의 다른 글
11. 클래스 맴버란 ? (0) | 2023.03.26 |
---|---|
10. 클래스와 인스턴스 그리고 객체란? (0) | 2023.03.25 |
[복습] 반복문으로 구구단을 만들자 (0) | 2023.03.21 |
8. 메소드란 ? (0) | 2023.03.17 |
07. 배열이란 ? (0) | 2023.03.16 |