Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 2024 정보처리기사 시나공 필기
- 자바의 정석 기초편 ch14
- 자바의 정석 기초편 ch5
- jpa 활용2 - api 개발 고급
- 스프링 입문(무료)
- 자바의 정석 기초편 ch4
- 스프링 mvc2 - 검증
- 자바의 정석 기초편 ch12
- 자바의 정석 기초편 ch9
- 게시글 목록 api
- 타임리프 - 기본기능
- 자바의 정석 기초편 ch2
- 스프링 mvc2 - 로그인 처리
- 스프링 db2 - 데이터 접근 기술
- 자바의 정석 기초편 ch8
- 자바의 정석 기초편 ch6
- 자바의 정석 기초편 ch13
- 스프링 mvc1 - 스프링 mvc
- 스프링 mvc2 - 타임리프
- 스프링 mvc1 - 서블릿
- 스프링 db1 - 스프링과 문제 해결
- jpa - 객체지향 쿼리 언어
- 자바의 정석 기초편 ch3
- 스프링 고급 - 스프링 aop
- @Aspect
- 자바의 정석 기초편 ch7
- 자바의 정석 기초편 ch1
- 코드로 시작하는 자바 첫걸음
- 2024 정보처리기사 수제비 실기
- 자바의 정석 기초편 ch11
Archives
- Today
- Total
나구리의 개발공부기록
자바의 정석 기초편 ch6 - 1 ~ 4[객체지향언어,클래스와 객체] 본문
1) 객체지향 언어
(1) JAVA 탄생
- 80년대초 빠른 변화를 못쫓아가서 소프트웨어발전 위기의 해결책으로 객체지향 언어를 도입 (절차적 -> 객체지향)
- 과거에는 C언어,포트란,코볼 등의 언어가 쓰이고 있었으나 해당 언어들은 하드웨어의 발전속도를 따라가지 못했음
- C언어에 객체지향을 더한 C++이 나왔음에도 언어 자체가 쉽게 접근할 수 있지는 않았음
- 1996년에 C++에서 더 단순하고 조금 쉽지만 안전한 프로그래밍 모델을 제공하기위해 잘 쓰지않는 일부 기능을 제거하고 새로운 기능을 추가한 JAVA가 처음 공개됨(개발은 1995년에 완성)
- 객체지향 언어는 절차적 언어에 비해 코드의 재사용성이 높고 유지보수가 용이, 코드 중복이 제거됨
- 1967년에 최초의 객체지향 언어 시뮬라가 나오고 이후 스몰톡 등의 언어가 나왔으나 당시에는 하드웨어가 받쳐주지 못해서 자주 사용하지 못하고 있었음
- 절차적 프로그래밍은 순서대로 실행되는 프로그래밍을 뜻함(C언어)
- 객체지향 프로그래밍은 절차적인 프로그래밍에 객체지향개념(규칙)을 추가한 것
(2) 객체지향언어의 OOP (Object-Oriented Programming)
- 캡슐화
- 상속
- 추상화
- 다형성 - 객체지향을 이해하는데 도움이 됨
- 정보은닉(자바의 정석 기초편 유튜브에는 빠져있어서 새로 추가함)
(3) 객체지향의 공부방향
- 반복할수록 이해도가 올라가기 때문에 6장을 2~3번 반복 후 7장을 공부하는 것을 권장(7장은 다형성)
- 객체지향개념(규칙)은 무조건 외워야 함 -> 모르면 프로그래밍이 불가능함
- 자바 공부 후 진로 방향에 맞춰 JSP, Spring등으로 웹 프로그래밍을 실습하거나 안드로이드 앱을 실습하고 이후 디자인패턴 책이나 객체지향 개념서를 공부
2) 클래스와 객체
- 클래스의 정의 : 객체를 정의해 놓은 것
- 클래스의 용도 : 객체를 생성하는데 사용
- 객체의 정의 : 실제로 존재하는 것. 사물 또는 개념
- 객체의 용도 : 객체가 가지고있는 기능과 속성에 따라 다름
- 클래스 : 제품설계도로 이해하면 되지만 실제 프로그래밍에서 단순 설계도 이상의 기능을 수행할 수 있음
- 객체 : 현실세계의 제품으로 접근하여 이해하면되며 개념적으로 그렇다는거지 실제로는 가상의 객체임
- 최초에는 군사학적의 목적으로 실제 세계의 객체들을 가상세계(소프트웨어)로 구현하기 위한 노력으로 시도되었음 (실제 세계의 개념을 소프트웨어로 추상화하는 과정)
- 객체 = 속성(변수) + 기능(메서드)
(1) 객체와 인스턴스 (거의 같은말)
- 객체 : 모든 인스턴스를 대표하는 일반적 용어
- 인스턴스 : 특정 클래스로부터 생성된 객체 (예: TV인스턴스)
- 클래스(설계도) -> 인스턴스화(제품생성) -> 인스턴스 = 객체(제품)
3) 정리
(1) 클래스가 왜 필요한가?
- 객체를 생성하기 위해
(2) 객체가 왜 필요한가?
- 객체를 사용하기 위해
(3) 객체를 사용한다는 것은?
- 객체가 가진 속성(변수)과 기능(메서드)을 사용하려고
** 출처 : 남궁성의 정석코딩_자바의정석
'유튜브 공부 > JAVA의 정석 기초편(유튜브)' 카테고리의 다른 글
자바의 정석 기초편 ch6 - 9 ~ 13[클래스의 정의,선언위치변수종류,클래스변수,인스턴스변수] (0) | 2023.11.15 |
---|---|
자바의 정석 기초편 ch6 - 5 ~ 8[한파일에 여러 클래스 작성하기,객체의 생성과 사용, 객체의 배열] (1) | 2023.11.14 |
자바의 정석 기초편 ch5 - 18 ~ 24[2차원 배열, 2차원배열 예제, Arrays로 배열 다루기] (0) | 2023.11.13 |
자바의 정석 기초편 ch5 - 12 ~ 17 [String배열, String클래스, 커맨드라인 입력받기] (1) | 2023.11.13 |
자바의 정석 기초편 ch5 - 8 ~ 11 [배열의 활용1~4] (2) | 2023.11.09 |