객체지향

Java

[ JAVA ] 14. Java의 구동 원리 및 JVM(Java Virtual Machine)에 대해 알아보자.

안녕하세요. 오늘은 자바라는 언어를 사용하면서 누구나 한번쯤은 생각해볼만한 자바는 어떻게 구동되어지는가 에 대해서 알아보도록 하겠습니다. 자바의 구동 원리 소스 코드 작성 ( .java 확장자 파일) 컴파일러인 javac.exe 가 소스 코드를 바이트 코드(Byte Code)로 변환 ( .class 확장자 파일) 런처인 java.exe 로 JVM(자바 가상 머신)을 구동 JVM이 바이트 코드를 해석하여 자바 프로그램을 실행 위 순서에서 나온 바이트 코드란 JVM이 이해할 수 있는 언어로 변환된 코드를 말합니다. JVM이 설치되어 있다면 바이트 코드를 이용해 어떤 운영체제에서라도 실행할 수 있게 됩니다. 추가로 JVM이 바이트 코드를 해석하는 과정에서 JVM은 Classath를 통해 클래스를 읽어드리고 이..

Java

[ JAVA ] 12. 오버라이딩(Overriding)과 오버로딩(Overloading)

안녕하세요. 오늘은 자바에서 중요한 개념인 오버라이딩(Overriding)과 오버로딩(Overloading)에 대해 알아보겠습니다. 이 두 개념은 객체 지향 프로그래밍에서 다형성을 구현하는 핵심적인 역할을 합니다. 오버라이딩(Overriding)은 무엇인가? 오버라이딩은 상위 클래스의 메서드를 하위 클래스에서 재정의하는 개념입니다. 즉, 상속 관계에 있는 클래스 간에 동일한 메서드 시그니처(매개변수 타입, 반환 타입, 이름)를 가진 메서드를 하위 클래스에서 새롭게 구현하는 것을 말합니다. 또한, 오버라이딩을 통해서 하위 클래스는 상위 클래스의 동작을 변경하거나 확장할 수 있습니다. 오버라이딩의 규칙 class Computer { void PowerOn() { System.out.println("컴퓨터 전..

Java

[ JAVA ] 11. 추상 클래스(Abstract Class)와 인터페이스(Interface)에 대해 알아보자.

안녕하세요. 오늘은 저번 시간에 알아본 추상화에 대해 자바에서는 어떤 형식으로 추상화를 구현하는지에 대해 알아보도록 하겠습니다. 자바의 추상화 자바에서는 추상화를 구현하기 위해 추상 클래스(Abstract Class)와 인터페이스(Interface)를 이용합니다. 추상화란 공통적인 속성과 기능을 정의하여 코드의 중복을 줄이고, 클래스 간의 관계를 효과적을 설정하면서, 유지보수를 용이하게 하는 것 입니다. 추상 클래스(Abstract Class) 추상 클래스는 쉽게 말하자면 미완성된 설계도 입니다. 때문에 이를 통해서는 인스턴스를 생성할 수 없습니다. 그렇기에 오로지 상속을 통해 하위 클래스에서만 완성할 수 있는 것 입니다. 클래스 역할을 못하는 추상 클래스가 필요한 이유는 이것이 새로운 클래스를 작성하는..

Java

[ JAVA ] 10. 추상화(Abstraction)란 무엇인가?

안녕하세요. 오늘은 객체지향 프로그래밍 즉 자바에서 중요한 개념 중 하나인 '추상화(Abstraction)'에 대해 알아보겠습니다. 추상화의 정의 컴퓨터 과학에서 추상화(abstraction)는 복잡한 자료, 모듈, 시스템 등으로부터 핵심적인 개념 또는 기능을 간추려 내는 것을 말한다. 위와 같이 추상화는 사물들의 구체적인 공통점은 수용하고, 차이점은 버리는 일반화를 사용하거나, 중요한 부분을 강조하기 위해 불필요한 사항을 제거함으로써 단순하게 만드는 것을 말합니다. 위의 과정을 통해 클래스들의 공통적인 요소를 선별하여 상위 클래스를 만드는 것이 자바에서의 추상화 입니다. 꼭 추상화가 상위 클래스를 만드는 과정은 어니며, 공통적인 속성과 기능을 정의한 하위 클래스를 생성할 수도 있습니다. 정리하자면, 추..

Java

[ JAVA ] 01. 자바(Java)란 무엇인가?

안녕하세요. 오늘은 자바라는 언어를 배우기에 앞서 언어 그자체 자바는 무엇이고, 자바를 왜 쓰는지 이유를 알아보고자 합니다. 자바(Java)란 무엇인가? 자바(영어: Java)는 썬 마이크로시스템즈의 제임스 고슬링(James Gosling)과 다른 연구원들이 개발한 객체 지향적 프로그래밍 언어이다. 1991년 그린 프로젝트(Green Project)라는 이름으로 시작해 1995년에 발표했다. 처음에는 가전제품 내에 탑재해 동작하는 프로그램을 위해 개발되었지만 현재 웹 애플리케이션 분야에 가장 많이 사용하는 언어 중 하나이고, 안드로이드를 비롯한 모바일 기기용 소프트웨어 개발에도 널리 사용되고 있다. 현재 버전 20까지 출시했다. 자바의 개발자들은 유닉스 기반의 배경을 가지고 있었기 때문에 문법적인 특성은..

giryu
'객체지향' 태그의 글 목록