CS 2

[CS] JAVA

자바의 특징 더보기 운영체제에 독립적이다. (JVM) OOP의 특징인 캡슐화, 상속, 다형성, 추상화의 특징이 있다. 보안성이 뛰어나다. GC가 자동적으로 메모리를 관리해준다. 멀티 쓰레드 지원한다. + 어느 하드웨어던, 운영체제던 상관없이 컴파일된 코드(바이트코드)가 플랫폼 독립적이다. (어느 플랫폼이든 작성한 소스를 변겨할 필요 없이 다 실행시킬 수 있다.) JVM은 단순하게 말하자면 컴파일된 코드(바이트코드)를 실행시켜주는 가상의 컴퓨터라고 생각하면 좋다. 자바의 구동원리 (컴파일 순서) 더보기 프로그램이 실행되면 JVM은 OS로부터 필요한 메모리를 할당받는다. (Runtime Data Area) 자바 컴파일러(javac)가 자바 소스코드(.java)를 읽어들여 자바 바이트코드(.class)로 변환..

CS 2023.02.05

[CS] 프로그래밍 공통

OOP(객체지향 프로그래밍)이란 더보기 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, '객체'들의 상호작용으로 프로그램 로직을 구성하는 프로그래밍 패러다임이다. 하나의 클래스를 바탕으로 서로 다른 상태의 인스턴스를 만들면서 다른 행동들을 하게 할 수 있다. 객체지향 언어의 특징 더보기 캡슐화와 데이터 은닉 캡슐화는 서로 관련이 있는 변수와 함수를 하나의 클래스로 묶고 외부에서 쉽게 접근하지 못하도록 한다. 외부로부터 데이터를 보호할 수 있고, 외부에는 불필요한 내부적으로만 사용되는 부분을 감춘다. 내부 구조는 private하게 감춰두어 클래스 밖에서 객체에 직접적인 접근을 막는 것을 데이터 은닉이라 한다. 대신 getter, setter 라고 부르는 메소드를 통해서 접..

CS 2023.01.31