본문 바로가기

자바문법8

[JAVA 기초] 자바 오버로딩, 생성자 1 오버로딩(overloading) 오버로딩(overloading)은 매개변수의 개수와 타입은 다르지만 이름이 같은 메서드를 여러 개 정의 하는 것을 말한다. 일반적으로 메서드를 사용할 때는 메서드의 이름으로 구분해서 사용한다. 하지만 같은 기능을 하는 메서드가 매번 이름이 달라야 한다면 매우 비효율적일 것이다. int sum(int a, int b){ return a+b; } 두 개의 인자(파라미터)를 받아 합을 리턴해주는 메서드이다. 만약 세 수의 합을 구하고 싶을 때는 새로운 메서드를 선언해야 한다. int sum_3(int a, int b, int c){ return a+b+c; } 만약 매개변수가 더 늘어나거나 자료형이 달라지면 매번 새로운 메서드 이름을 지정해야 하는 번거로움이 발생한다. 그리.. 2021. 3. 10.
[JAVA 기초] 자바 클래스 멤버와 인스턴스 멤버 1 클래스 멤버와 인스턴스 멤버간의 참조 및 호출 클래스 변수와 클래스 메서드를 클래스 멤버라 부르고 인스턴스 변수와 인스턴스 메서드를 인스턴스 멤버라고 부른다. 같은 클래스에 속한 멤버들끼리는 인스턴스를 생성하지 않고 변수를 참조하거나 메서드를 호출한다. 하지만 클래스 메서드로 인스턴스 멤버들을 참조하는 것은 에러가 발생한다. 그 이유는 클래스 멤버가 존재하는 시점은 처음 클래스가 메모리에 올라갈 때인데 이 시점에서 인스턴스 멤버는 존재하지 않기 때문이다. 인스턴스 멤버의 클래스 멤버 사용 -> 가능 클래스 멤버의 인스턴스 멤버 사용 -> 에러 인스턴스 멤버의 인스턴스 멤버 사용 -> 가능 클래스 멤버의 클래스 멤버 사용 -> 가능 네가지 경우 중에 클래스 멤버로 인스턴스 멤버를 사용할 경우에만 에러가.. 2021. 3. 9.
[JAVA 기초] 자바 클래스 메서드와 인스턴스 메서드 1 메서드란 메서드는 멤버 함수 (member function)라고도 불리며, 객체 지향 프로그래밍에서 객체와 관련된 함수로 데이터와 멤버 변수에 대한 접근 권한을 갖는다. 메서드는 클래스 기반 언어에서는 클래스 내부에 정의되며, 프로그램이 실행되고 있을 대 클래스에서 생성된 인스턴스와 관련된 동작을 정의한다. 특정한 작업이나 논리를 구성하는 코드를 괄호로 묶어 놓은 것이다. 메서드는 입력 값을 받아서 내부에서 처리하여 결과를 출력 또는 반환하는 역할을 한다. 메서드는 한 번 정해놓으면 언제든지 호출할 수있고 다른 프로그램에서도 사용한다. 이러한 재사용성은 프로그래머에세 상당히 효율적이고 또 코드의 중복을 피할 수 있게 도와준다. 메서드는 실제 현실에서 누군가에게 하는 '함축적인 지시'와 비슷하다. 2 .. 2021. 3. 9.
[JAVA 기초] 자바의 시작 자바의 특징 모든 프로그래밍 언어에는 각각의 특징들이 있으며, 자바에도 자바만의 특징이 있습니다. 1. 객체지향 언어이다. 자바는 처음 개발할 때부터 객체지향언어로 개발되었기 때문에 객체지향언이의 특징인 상속, 캡슐화 다형성이 잘 나타납니다. 2. 배우기가 쉽다. 기존 객체지향언어들의 구조는 매우 복잡했습니다. 하지만 자바는 기존 언어의 장점을 흡수하고 단점은 버려서 간결하게 객체지향적인 설계가 가능합니다. 3. 운영체제(플랫폼)에 독립적이다. 기존의 언어들은 운영체제에 따하서 코드를 따로 작성해야 하는 반면 자바는 자바 가상머신(JVM)을 통해서 어떤 운영체제에서도 동일하게 실행할 수 있는 데, JVM이 프로그램을 해당 운영체제가 이해할 수 있도록 변환하여 전달하기 때문입니다. 자바란 Java SE (.. 2021. 2. 24.