프로그래밍 언어 특성(1)

hee·2023년 6월 7일
0
post-custom-banner

유닉스(UNIX)

유닉스(UNIX)는 어떤 컴퓨터에도 깔린다.(이식성이 높다) 하지만 100프로호환은 안된다.

유닉스가 비싼 이유는 유닉스 운영체제와 + 컴퓨터 한 세트로 나오기 때문이다.
유닉스는 c언어가 90% , 나머지 어셈블리어로 되어있다.
어셈블리어는 기계와 가까운 언어이므로 기계에 맞춰서 나와야하기 때문에 비싸다.

결론 : 유닉스라는 운영체제가 비싼것이 아니라, 기계와 같이 사야하기 때문에 비싼것!

객체지향 언어

객체지향은
객체들을 만들어놓는다 했을 때, 각 객체 안에는 (그 객체가 가지는 특수한)속성(멤버 변수)과 행동(메서드)가 들어 있는데

이 객체와 객체가 서로 메시지를 통해서 소통할 수 있게 하는 것이 객체지향이다.

객체지향 프로그래밍 언어 특징

1. 캡슐화(Encapsulation)

캡슐화는
안에 있는 속성과 행위를 포장하는것이다.(안에 있는 데이터들을 못보게 포장) 외부에서 함부로 접근 할 수 없게 하는것(이는 정보은닉과 연관성이 있음)

2. 정보은닉(Information Hiding)

정보은닉은
숨기는 것을 말한다. 다른객체에게 자신의 정보를 숨기고 자신의 연산만을 통하여 접근을 허용하는 것이다.

why?
외부에서 사용가능하게 쓰는 이유는,
예를들어 숨기고싶은 정보를 누군가 보게 된다면 로그를 남기게 할 수 있다.

3. 상속(Inheritance)

상속은
상위클래스의 데이터와 연산을 하위클래스가 물려 받는 것이다.(private는 예외)
extends(Java)라는 키워드를 사용한다.

4. 다형성(Polymorphism)

다형성은 두가지 종류가 있다.

  • 오버로딩
    ex)
    a() 10 리턴
    a(x) 10+x리턴
    a(x,y) x+y리턴
    a라는 형태는 하나인데 ()안의 인자값을 가지고 다양한 결과 값을 얻을 수 있는것이다.
  • 오버라이딩
    상속 관계에서만 존재한다.
    상속을 받았을 때 다르게 행동하고싶다. (재정의 하는 것)

5. 추상화(Abstraction)

공통된 속성들을 모아두는 것이다.
ex)
예를 들어 에어컨, 티비, 선풍기 리모컨이 있다고 해보자.
이 리모컨들은 리모컨이라는 틀은 똑같지만 각각의 기계의 기능이 있다.

profile
고군분투 코린이의 코딩일기
post-custom-banner

0개의 댓글