Skip to content

Academy Glossary

A

Abstract

A keyword used in a class or method definition, which specifies that the method/class is not going to be instantiated, but should be inherited by other methods or classes:

public abstract class Foo {
    abstract void runFoo();
}

API

(Application Programming Interface) – The way to expose a set of pre-defined classes and interfaces to external clients to interact with them, without sharing the implementation details.

Access modifiers

Access modifiers are used to set the accessibility (visibility) of classes, interfaces, variables, methods, constructors, data members, and the setter methods.

Argument

An input specified in a method call; it can be a literal value, a variable, or an expression:

void fooMethod(int argument1);

Array

A fixed-size collection of data of the same type, which can hold zero or more items:

int[] array = new int[16];

Autoboxing

Automatic conversion between the primitive types and their corresponding object wrapper classes:

Character a = 'a';

B

Bean

JavaBeans are classes that encapsulate one or more objects into a single standardized object. This standardization allows the beans to be handled in a more generic fashion, allowing easier code reuse and introspection.

Bill of Materials (BOM)

A BOM is a special kind of POM that is used to control the versions of a project’s dependencies and provide a central place to define and update those versions.

Black Box Testing

Testing without any knowledge of the internal structure of a component or system.

Block

Code between two matching open and close braces, which is the single logical unit of work inside the application:

{<code within a code block>} 

Boilerplate

Boilerplate code or boilerplate refers to sections of code that have to be included in many places with little or no alteration. It is often used when referring to languages that are considered verbose, i.e. the programmer must write a lot of code to do minimal jobs.

Bytecode

The instruction set for Java Virtual Machine, created from source files into bytecode by the compiler.

C

Casting (type-casting)

Conversion from one data type to another:

Object o = "test";
String str = (String) o;

Class method

A method that is invoked without reference to a particular object. Class methods affect the class as a whole, not a particular instance of the class. Also called a static method.

classpath

An environment variable or a command-line argument indicating the path searched by the Java compiler and the runtime for class definitions.

Class variable

A data item associated with a particular class as a whole--not with particular instances of the class. Class variables are defined in class definitions. Also called a static field.

Constant

A final variable in Java, which means that the reference of it cannot be changed once initialized:

final int number = 20;

Constructor

A method inside the class, which creates and initializes objects in it – needs to be public and names the same as the class:

public class Foo {
    public Foo(){}; // constructor
}

D

Declaration

Defined as a statement that establishes an identifier and associates attributes with it, without necessarily reserving its storage or providing the implementation

E

Encapsulation

The process of protecting the state of objects by defining its attributes as private and channeling access to them through accessor and mutator methods.

enum

A Java keyword used to declare the enumerated type (whose values are a fixed set of constants):

public enum Day {
    SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
    THURSDAY, FRIDAY, SATURDAY 
}

Expression

A combination of operands and operators which causes particular behavior and produces results.

Extends

A keyword used to define the inheritance of classes or interfaces:

public class Foo extends Bar {}

F

Field

A variable defined outside of all defined methods, but inside of the class; in other words, a member of a class.

Final

A Java keyword indicating that an entity is immutable, thus, you can’t change its reference during the program execution:

final int number = 20;

G

Gradle

Gradle is a build automation tool for multi-language software development. It controls the development process in the tasks of compilation and packaging to testing, deployment, and publishing.

Graven and Madle

The term used by scrum master, Jack Norcup, who accidentally flubbed his pronunciation of Gradle and Maven.

H

Hash code

A value used to provide an efficient way to map object and its location, returned by a hash function.

Hash function

A method used to produce hash code from any data of arbitrary size to data of fixed size.

I

IDE

An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editor, build automation tools and a debugger.

Immutable object

An object whose state or value is not changeable after creation.

implements

A Java keyword used to indicate which interfaces are implemented by the current class:

public class Foo implements FooBar {
    // implementation of all methods defined in the <em>FooBar</em> interface
}

import

A statement used to enable the use of other classes or interfaces from different Java packages:

import java.util.*;

inheritance

A feature of object-oriented programming, where classes contain all variables and methods defined in their supertypes.

K

Knowledge of the System

A persons' understanding of a component or system to be tested. Depending on the level of knowledge, this can either be attributed to using Black Box Testing or White Box Testing

L

livelock

A situation when two separate threads are waiting for each other to check the condition of particular part of the program.

Local variable

A variable defined in the method body, visible only inside it.

M

Maven

Maven is a build automation tool used primarily for Java projects. Maven can also be used to build and manage projects written in C#, Ruby, Scala, and other languages.

Member

A field or method of a class. Unless specified otherwise, a member is not static.

Method

A particular function implemented in a Java class:

public int doMathAndReturnInt();

N

Namespace

An area of the program defined by packages, with established access control parameters.

new

The operator used to create an instance of a class.

O

Object

An instance of a particular class.

Overloading

Using the same method name for various implementation, differentiated by parameters:

private int sum(int x, int y) {
    return (x + y);
}

private int sum(int x, int y, int z) { 
    return (x + y + z);
}

Override

Providing a different implementation of the original method in its subclass:

public class Foo {
    public void test(){
        // original implementation
    }
}

public class BabyFoo extends Foo {
    @Override
    public void test(){
        // overriden implementation
    }
}

P

Package

A name for a grouping of classes and interfaces in a namespace.

Plain English

Plain English is a language that is considered to be clear and concise. It usually avoids the use of uncommon vocabulary and lesser-known euphemisms to explain the subject. Plain English wording is intended to be suitable for a general audience, it allows for comprehensive understanding to help readers understand a topic.

Private

An access modifier, used to specify the visibility of a method or a variable, so they can be accessed only within its class.

Project Object Model (POM)

The pom.xml file contains information of project and configuration information for the maven to build the project such as dependencies, build directory, source directory, test source directory, plugin, goals etc.

Protected

An access modifier, that makes variables or classes accessible to all other elements in the same package.

Public

An access modifier, allowing external access to a particular variable or method.

R

Reflection

The ability of the code to inspect and manipulate other code in the same runtime process.

S

Scope

Determines the visibility of elements in the program, for example, local or global variables.

Serialisation

The process of encoding and decoding the objects to the stream of bytes, and vice-versa.

Static

Class member variable stored and accessed as a single instance for all objects of that class:

public static class Foo {
    public static int num = 10;
    public static void useMe(){
        // code
    }
}

Static field

Another name for class variable.

Static method

Another name for class method.

T

Test-Drive Development (TDD)

TDD is a software development process relying on software requirements being converted to test cases before software is fully developed, and tracking all software development by repeatedly testing the software against all test cases. This is as opposed to software being developed first and test cases created later.

this

A Java keyword that can be used to represent an instance of the class in which it appears. "this" can be used to access class variables and methods.

U

Unicode

A 16-bit character set defined by ISO 10646.

V

Variable

An item of data associated with a specific type.

Variable decleration

The place in the application, where the specific variable is assigned to one of the existing Java types.

type variableName = value;

W

White Box Testing

Testing based upon knowing the internal structure of a component or a system.