CS 질문 리스트 200개
자바
순차지향, 절차지향, 객체지향 프로그래밍이란?
순차지향과 절차지향의 차이점은 메서드의 존재 여부라고 생각합니다. 절차지향에서는 메서드가 생기면서 데이터를 다룰수있고, 같은 메서드를 활용하는 등이 가능해졌다고 생각합니다. 객체지향에서는 객체 즉 클래스라는 개념이 생기면서 클래스와 관련된 것들을 메소드, 변수로 둠으로써 절차지향과는 또 다른 프로그래밍이 가능해졌습니다. - 객체에 어떤 메시지를 전달할 수 있게 됐다. - 객체가 어떤 책임을 지게 됐다. - 객체는 어떤 책임을 처리하는 방법을 스스로 알고 있다. 근데 C언어에서는 구조체를 활용해 구조체 단위로 책임을 할당할 수 있게 되기 때문에 약간 부족하다. 객체지향에서는 책임을 객체에 할당하지 않고, 객체를 추상화한 역할에 책임을 할당한다. 이로써 객체지향 언어의 특징 중 하나로 다형성이 있는 것이다.
그럼 객체지향을 지키기 위한 방법 같은게 있나요?
TDA 원칙
객체에게 Getter,Setter를 남발하지 말고, 객체에게 책임을 위임해라.
컴파일 언어 인터프리터 언어 차이
자바는 컴파일 언어와 인터프리터 언어의 장점을 둘 다 차용한 언어라고 할 수 있습니다.
자바는 JVM에서 구동시키기 위해 중간 코드인 바이트 코드로 변환합니다.
이를 JVM이 인터프리터 형식으로 실행시키는데 만약 자주 실행되는 바이트 코드가 있다면 JIT가 이를 파악하여 미리 기계어로 변환해놓아 매번 바이트 코드로 변환하지 않는 성능상 이점을 가져갑니다.
Last updated