gambae programing
객체 지향 프로그래밍 본문
객체
- 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서 자신의 속성을 가지고 있으면서 식별 가능한 것
- 객체는 속성과 동작으로 구성 // 사람의 속성은 이름과,나이 동작은 웃다,걷다
- 자바에서는 속성을 필드 , 동작을 메소드라고 정의
- 메소드는 객체들 사이의 상호작용 수단 // 리턴값 = 객체.메소드(매개값1,매개값2)
클래스
- 객체를 생성하기 위한 필드와 메소드 정의 // 설계도
- 클래스로부터 만들어진 객체를 해당 클래스의 인스턴스(객체) 라고 한다.
- 클래스로부터 객체를 생성하려면 new연산자를 사용 // new 클래스(); // 힙 영역에 객체를 생성시킨 후 객체의 번지를 리턴
- int , String , char 등 과 같이 여러 타입의 변수를 저장할 수 있는 자료형
클래스는 라이브러리용 , 실행용 두가지의 용도로 나뉜다
클래스가 100개라면 99개가 라이브러리 클래스 , 1개가 실행 클래스
실행 클래스는 프로그램의 실행 진입점인 main() 메소드를 제공하는 역할
클래스의 구성 멤버
필드
- 필드는 객체의 고유데이터를 저장하는 곳
- 필드는 생성자와 메소드 전체에서 사용되며 객체가 소멸되지 않는 한 객체와 함께 존재
생성자
- 생성자의 역할은 객체 생성 시 초기화를 담당 // 필드를 초기화하거나 메소드를 호출해서 객체를 사용할 준비를 함
- 생성자는 메소드와 비슷하게 생겼지만 , 클래스 이름으로 되어 있고 리턴 타입이 없음 // 객체 생성 번지를 리턴
메소드
- 메소드는 객체의 동작에 해당하는 중괄호 {} 블록 // 객체 간의 데이터를 전달하는수단
- 외부로부터 매개값을 받아 실행에 이용하고 실행 후 결과 값을 외부로 리턴할 수도 있슴
객체 지향 언어의 특성
- 캡슐화 : 객체를 캡슐로 싸서 내부를 보호하고 볼 수 없게 하는 것 // 외부와의 접속을 위해 몇 부분만 공개노출 가능
- 상속 : 자식 클래스가 부모 클래스의 속성을 물려받고 기능을 추가하고 확장
- 추상화 :
- 다형성 : 같은 이름의 메소드가 클래스 혹은 객체에 따라 다르게 동작하도록 구현되는것
Comments